[PATCH 0/7] Add Sonic Visualiser and VAMP plugins.

  • Open
  • quality assurance status badge
Details
3 participants
  • Lilah Tascheter
  • Ludovic Courtès
  • (
Owner
unassigned
Submitted by
Lilah Tascheter
Severity
normal
L
L
Lilah Tascheter wrote on 1 Oct 2022 02:19
(address . guix-patches@gnu.org)(name . Lilah Tascheter)(address . lilah@lunabee.space)
cover.1664583143.git.lilah@lunabee.space
Adds Sonic Visualiser as well as a set of VAMP plugins in order to provide
annotation and analysis functionality, as Sonic Visualiser is a VAMP host. One
of Sonic Visualiser's dependencies, oggz, was marked as a TODO to add on another
package, so add it there as well. Finally, make sure all VAMP plugins (known to
me) are added to the VAMP_PATH search path for use in a host.

Lilah Tascheter (7):
gnu: Add oggz.
gnu: libkate: Add optional input oggz.
gnu: Add libfishsound.
gnu: Add sonic-visualiser.
gnu: Add VAMP plugins to VAMP_PATH.
gnu: Add vamp-aubio-plugins.
gnu: Add nnls-chroma.

gnu/packages/audio.scm | 134 +++++++++++++++++++++++++++++++++++++++++
gnu/packages/xiph.scm | 45 +++++++++++++-
2 files changed, 177 insertions(+), 2 deletions(-)


base-commit: 0dec41f329c37a4293a2a8326f1fe7d9318ec455
--
2.37.2
L
L
Lilah Tascheter wrote on 1 Oct 2022 02:22
[PATCH 2/7] gnu: libkate: Add optional input oggz.
(address . 58208@debbugs.gnu.org)(name . Lilah Tascheter)(address . lilah@lunabee.space)
65512e2f6081960c357ff9b7404d0c6222d95710.1664583143.git.lilah@lunabee.space
* gnu/packages/xiph.scm (libkate)[inputs]: Add optional input oggz.
---
gnu/packages/xiph.scm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

Toggle diff (16 lines)
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index b97d2a0553..112b8ddf87 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -293,8 +293,7 @@ (define-public libkate
"0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4"))))
(build-system gnu-build-system)
(native-inputs (list doxygen bison pkg-config))
- ;; FIXME: Add optional input liboggz
- (inputs (list libogg libpng python-wrapper zlib))
+ (inputs (list libogg oggz libpng python-wrapper zlib))
(synopsis "Karaoke and text codec for embedding in ogg")
(description
"Kate is an overlay codec, originally designed for karaoke and text,
--
2.37.2
L
L
Lilah Tascheter wrote on 1 Oct 2022 02:22
[PATCH 1/7] gnu: Add oggz.
(address . 58208@debbugs.gnu.org)(name . Lilah Tascheter)(address . lilah@lunabee.space)
db29dd7eb2b6b344adcef49d8f15f52881c24e9b.1664583143.git.lilah@lunabee.space
* gnu/packages/xiph.scm (oggz): New variable.
---
gnu/packages/xiph.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index dffad299e9..b97d2a0553 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -259,6 +259,27 @@ (define-public flac
"See COPYING in the distribution.")) ; and LGPL and GPL
(home-page "https://xiph.org/flac/")))
+(define-public oggz
+ (package
+ (name "oggz")
+ (version "1.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://downloads.xiph.org/releases/liboggz/"
+ "liboggz-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0nj17lhnsw4qbbk8jy4j6a78w6v2llhqdwq46g44mbm9w2qsvbvb"))))
+ (build-system gnu-build-system)
+ (inputs (list libogg))
+ (propagated-inputs (list util-linux)) ;; for getopt in oggz-diff
+ (synopsis "Library and cli tool for working with Ogg files")
+ (description "A C library for reading and writing Ogg files and streams in
+multiple formats, bundled with cli tools to inspect, validate, crop, and edit
+Ogg files.")
+ (license license:bsd-3)
+ (home-page "https://xiph.org/oggz/")))
+
(define-public libkate
(package
(name "libkate")
--
2.37.2
L
L
Lilah Tascheter wrote on 1 Oct 2022 02:22
[PATCH 3/7] gnu: Add libfishsound.
(address . 58208@debbugs.gnu.org)(name . Lilah Tascheter)(address . lilah@lunabee.space)
f896d13c494d7735999e4a99aad5199f0c26145a.1664583143.git.lilah@lunabee.space
* gnu/packages/xiph.scm (libfishsound): New variable.
---
gnu/packages/xiph.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index 112b8ddf87..3f2fb6a6f7 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -280,6 +280,27 @@ (define-public oggz
(license license:bsd-3)
(home-page "https://xiph.org/oggz/")))
+(define-public libfishsound
+ (package
+ (name "libfishsound")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://downloads.xiph.org/releases/libfishsound/"
+ "libfishsound-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1iz7mn6hw2wg8ljaw74f4g2zdj68ib88x4vjxxg3gjgc5z75f2rf"))))
+ (build-system gnu-build-system)
+ (inputs (list libvorbis speex))
+ (synopsis "Library for encoding and decoing Xiph.org codecs")
+ (description "A C library wrapping individual Xiph.org codecs, including
+FLAC, Speex, and Vorbis, providing a unified higher-level interface for handling
+raw codec streams.")
+ (license license:bsd-3)
+ (home-page "https://xiph.org/fishsound/")))
+
(define-public libkate
(package
(name "libkate")
--
2.37.2
L
L
Lilah Tascheter wrote on 1 Oct 2022 02:22
[PATCH 4/7] gnu: Add sonic-visualiser.
(address . 58208@debbugs.gnu.org)(name . Lilah Tascheter)(address . lilah@lunabee.space)
5c85435a14c0b7e423ac3b9d03f238835c7cec0d.1664583143.git.lilah@lunabee.space
* gnu/packages/audio.scm (sonic-visualiser): New variable.
---
gnu/packages/audio.scm | 45 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

Toggle diff (55 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index fd27c1cc71..0dd0b8ff55 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -5895,3 +5895,48 @@ (define-public streamripper
separation data, and uses that as a marker for where the track should
be separated.")
(license license:gpl2+)))
+
+(define-public sonic-visualiser
+ (package
+ (name "sonic-visualiser")
+ (version "4.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/sonic-visualiser/sonic-visualiser"
+ "/releases/download/sv_v" version "/sonic-visualiser-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "18w2mf4c6sis0lg6dq75v4zb8q9rbmbmlfvcvk60lyqynmvq4yy5"))))
+ (build-system meson-build-system)
+ (arguments (list #:tests? #f)) ;; tests fail due to build sandbox
+ (inputs (list alsa-lib
+ bzip2
+ capnproto
+ fftw
+ jack-1
+ libfishsound
+ libid3tag
+ liblo
+ libmad
+ libsamplerate
+ libsndfile
+ lrdf
+ oggz
+ opusfile
+ portaudio
+ pulseaudio
+ qtbase-5
+ qtsvg-5
+ rubberband
+ serd
+ sord
+ zlib))
+ (native-inputs (list pkg-config))
+ (synopsis "Program for visualising and inspecting audio files")
+ (description "Sonic Visualiser is a program for annotating, visualising, and
+inspecting audio files, providing waveform analysis and a VAMP host for external
+audio analysis and annotation plugins.")
+ (home-page "https://sonicvisualiser.org")
+ (license license:gpl2+)))
--
2.37.2
L
L
Lilah Tascheter wrote on 1 Oct 2022 02:22
[PATCH 5/7] gnu: Add VAMP plugins to VAMP_PATH.
(address . 58208@debbugs.gnu.org)(name . Lilah Tascheter)(address . lilah@lunabee.space)
e1bd1e6a04b3423ba72ba598f75741f5f10cf36f.1664583143.git.lilah@lunabee.space
* gnu/packages/audio.scm (rubberband, vamp)[native-search-paths]: Add
VAMP plugins to the VAMP_PATH search path.
---
gnu/packages/audio.scm | 8 ++++++++
1 file changed, 8 insertions(+)

Toggle diff (28 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 0dd0b8ff55..0d9261c35a 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3330,6 +3330,10 @@ (define-public rubberband
(list ladspa libsamplerate vamp))
(native-inputs
(list pkg-config))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "VAMP_PATH")
+ (files '("lib/vamp")))))
(home-page "https://breakfastquay.com/rubberband/")
(synopsis "Audio time-stretching and pitch-shifting library")
(description
@@ -3547,6 +3551,10 @@ (define-public vamp
(list libsndfile))
(native-inputs
(list pkg-config))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "VAMP_PATH")
+ (files '("lib/vamp")))))
(home-page "https://vamp-plugins.org")
(synopsis "Modular and extensible audio processing system")
(description
--
2.37.2
L
L
Lilah Tascheter wrote on 1 Oct 2022 02:22
[PATCH 6/7] gnu: Add vamp-aubio-plugins.
(address . 58208@debbugs.gnu.org)(name . Lilah Tascheter)(address . lilah@lunabee.space)
7545dbcf059f8a60f3b1a48411a3e30a893f0edc.1664583143.git.lilah@lunabee.space
* gnu/packages/audio.scm (vamp-aubio-plugins): New variable.
---
gnu/packages/audio.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 0d9261c35a..198e3cb7e8 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -5904,6 +5904,44 @@ (define-public streamripper
be separated.")
(license license:gpl2+)))
+(define-public vamp-aubio-plugins
+ (package
+ (name "vamp-aubio-plugins")
+ (version "0.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://aubio.org/pub/vamp-aubio-plugins/"
+ "vamp-aubio-plugins-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1gpcg7hih42qmys8a9zylgas3xfrzqijasgaphm43bmiw7vrvxis"))
+ (modules '((guix build utils)))
+ (snippet '(begin ;; remove outdated & bundled waf
+ (delete-file "waf")
+ (delete-file-recursively "waflib")))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:tests? #f ;; no tests available
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'setup-waf
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((waf (assoc-ref inputs "python-waf")))
+ (copy-file (string-append waf "/bin/waf") "waf")))))))
+ (inputs (list aubio vamp))
+ (native-inputs (list pkg-config python-waf))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "VAMP_PATH")
+ (files '("lib/vamp")))))
+ (synopsis "VAMP plugin for audio labelling")
+ (description "A set of VAMP plugins wrapping the audio annotation features
+of Aubio for use in a VAMP host. Includes plugins for note tracking, energy
+extracting, pitch detection, silence detection, spectral description, and beat
+tracking.")
+ (home-page "https://aubio.org/vamp-aubio-plugins/")
+ (license license:gpl3+)))
+
(define-public sonic-visualiser
(package
(name "sonic-visualiser")
--
2.37.2
L
L
Lilah Tascheter wrote on 1 Oct 2022 02:22
[PATCH 7/7] gnu: Add nnls-chroma.
(address . 58208@debbugs.gnu.org)(name . Lilah Tascheter)(address . lilah@lunabee.space)
9ffc498b9fcafdacf9625c2215b617537211ccb9.1664583143.git.lilah@lunabee.space
* gnu/packages/audio.scm (nnls-chroma): New variable.
---
gnu/packages/audio.scm | 43 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 198e3cb7e8..c9a7829236 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -5942,6 +5942,49 @@ (define-public vamp-aubio-plugins
(home-page "https://aubio.org/vamp-aubio-plugins/")
(license license:gpl3+)))
+(define-public nnls-chroma
+ (package
+ (name "nnls-chroma")
+ (version "1.1")
+ (source (origin
+ (method url-fetch)
+ ;; These urls have an "attachment number" :/ which makes this url
+ ;; not generalizable across versions.
+ (uri (string-append
+ "https://code.soundsoftware.ac.uk/attachments/download/"
+ "1691/nnls-chroma-1.1.tar.gz"))
+ (sha256
+ (base32
+ "06n66ff4w4a07rfz1kn0hq2g953dsx8a4cx1bhpvswqds1kb70md"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;; no tests available
+ #:make-flags
+ (list "-f" "Makefile.linux"
+ (string-append "CC=" ,(cc-for-target))
+ (string-append "VAMP_SDK_DIR=" (assoc-ref %build-inputs "vamp")
+ "/include/vamp-sdk"))
+ #:phases
+ ,#~(modify-phases %standard-phases
+ (delete 'configure) ;; no configure phase
+ (replace 'install ;; no install phase
+ (lambda _
+ (let ((outdir (string-append #$output "/lib/vamp"))
+ (outfile "nnls-chroma.so"))
+ (mkdir-p outdir)
+ (copy-file outfile (string-append outdir "/" outfile))))))))
+ (inputs (list boost vamp))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "VAMP_PATH")
+ (files '("lib/vamp")))))
+ (synopsis "VAMP plugins for audio transcription")
+ (description "A set of three VAMP plugins used for audio transcription: NNLS
+Chroma, providing chromatic transcription, Chordino, providing chord
+transcription, and Tuning, which estimates local and global tuning.")
+ (home-page "http://www.isophonics.net/nnls-chroma/")
+ (license license:gpl2+)))
+
(define-public sonic-visualiser
(package
(name "sonic-visualiser")
--
2.37.2
(
Re: [bug#58208] [PATCH 1/7] gnu: Add oggz.
(address . ludo@gnu.org)
CNWXHJHQ8AIY.32NX7VI2IF31U@guix-framework
Hey Lilah :),

On Sat Oct 1, 2022 at 1:22 AM BST, Lilah Tascheter via Guix-patches via wrote:
Toggle quote (3 lines)
> + "liboggz-" version ".tar.gz"))

Add a file-name field below uri like this:

(file-name (string-append name "-" version ".tar.gz"))

Toggle quote (2 lines)
> + (sha256
> + (base32
^
Toggle quote (1 lines)
> + "0nj17lhnsw4qbbk8jy4j6a78w6v2llhqdwq46g44mbm9w2qsvbvb"))))
^
Remove these spaces.

Toggle quote (2 lines)
> + (propagated-inputs (list util-linux)) ;; for getopt in oggz-diff

Try to avoid propagated-inputs if possible; instead, patch the
src/tools/ogg-diff.in file to refer to commands directly, e.g.

(substitute* "src/tools/ogg-diff.in"
(("`getopt")
(string-append "`"
(search-input-file inputs "bin/getopt"))))

Do the same for any other commands referenced in the script (even
basic things like ls) so that the script works inside a

guix shell oggz --pure

Toggle quote (2 lines)
> + (synopsis "Library and cli tool for working with Ogg files")

s/cli/command line/

Toggle quote (4 lines)
> + (description "A C library for reading and writing Ogg files and streams in
> +multiple formats, bundled with cli tools to inspect, validate, crop, and edit
> +Ogg files.")

Use full sentences for descriptions.

Toggle quote (2 lines)
home-page usually goes between the various input fields and synopsis.

-- (
(
Re: [bug#58208] [PATCH 2/7] gnu: libkate: Add optional input oggz.
(address . ludo@gnu.org)
CNWXKZ251SHI.2M9GL6TS5UF19@guix-framework
On Sat Oct 1, 2022 at 1:22 AM BST, Lilah Tascheter via Guix-patches via wrote:
Toggle quote (22 lines)
> * gnu/packages/xiph.scm (libkate)[inputs]: Add optional input oggz.
> ---
> gnu/packages/xiph.scm | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
> index b97d2a0553..112b8ddf87 100644
> --- a/gnu/packages/xiph.scm
> +++ b/gnu/packages/xiph.scm
> @@ -293,8 +293,7 @@ (define-public libkate
> "0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4"))))
> (build-system gnu-build-system)
> (native-inputs (list doxygen bison pkg-config))
> - ;; FIXME: Add optional input liboggz
> - (inputs (list libogg libpng python-wrapper zlib))
> + (inputs (list libogg oggz libpng python-wrapper zlib))
> (synopsis "Karaoke and text codec for embedding in ogg")
> (description
> "Kate is an overlay codec, originally designed for karaoke and text,
> --
> 2.37.2

LGTM.

-- (
(
Re: [bug#58208] [PATCH 3/7] gnu: Add libfishsound.
(address . ludo@gnu.org)
CNWXLQTMSSWE.26UZR0O4S0TDD@guix-framework
On Sat Oct 1, 2022 at 1:22 AM BST, Lilah Tascheter via Guix-patches via wrote:
Toggle quote (4 lines)
> + (uri (string-append
> + "https://downloads.xiph.org/releases/libfishsound/"
> + "libfishsound-" version ".tar.gz"))

file-name here, please.

Toggle quote (4 lines)
> + (sha256
> + (base32
> + "1iz7mn6hw2wg8ljaw74f4g2zdj68ib88x4vjxxg3gjgc5z75f2rf"))))

One space indentation for sha256 and base32.

Toggle quote (7 lines)
> + (build-system gnu-build-system)
> + (inputs (list libvorbis speex))
> + (synopsis "Library for encoding and decoing Xiph.org codecs")
> + (description "A C library wrapping individual Xiph.org codecs, including
> +FLAC, Speex, and Vorbis, providing a unified higher-level interface for handling
> +raw codec streams.")

Full sentences, please :)

Toggle quote (2 lines)
Move the home-page before synopsis.

-- (
(
Re: [bug#58208] [PATCH 4/7] gnu: Add sonic-visualiser.
(address . ludo@gnu.org)
CNWXOGHX6LG2.WQL3LUULNS8F@guix-framework
On Sat Oct 1, 2022 at 1:22 AM BST, Lilah Tascheter via Guix-patches via wrote:
Toggle quote (5 lines)
> + (uri (string-append
> + "https://github.com/sonic-visualiser/sonic-visualiser"
> + "/releases/download/sv_v" version "/sonic-visualiser-"
> + version ".tar.gz"))

file-name, please.

Toggle quote (4 lines)
> + (sha256
> + (base32
> + "18w2mf4c6sis0lg6dq75v4zb8q9rbmbmlfvcvk60lyqynmvq4yy5"))))

Too many spaces again :)

Toggle quote (2 lines)
> + (arguments (list #:tests? #f)) ;; tests fail due to build sandbox

Could you please be more specific here? How does it fail? Also, the usual
practice in Scheme is to use a single semicolon for comments at the *end*
of a line (as opposed to two for a full line, three for a whole section of
a file, and four for the whole file).

Toggle quote (2 lines)
> + (inputs (list alsa-lib

Put the (list ...) on a new line.

Toggle quote (2 lines)
> + (home-page "https://sonicvisualiser.org")

home-page goes before synopsis.

-- (
(
Re: [bug#58208] [PATCH 5/7] gnu: Add VAMP plugins to VAMP_PATH.
(address . ludo@gnu.org)
CNWXQLHKSSM2.1DLS1JS7UF85I@guix-framework
On Sat Oct 1, 2022 at 1:22 AM BST, Lilah Tascheter via Guix-patches via wrote:
Toggle quote (11 lines)
> @@ -3330,6 +3330,10 @@ (define-public rubberband
> + (native-search-paths
> + (list (search-path-specification
> + (variable "VAMP_PATH")
> + (files '("lib/vamp")))))
> @@ -3547,6 +3551,10 @@ (define-public vamp
> + (native-search-paths
> + (list (search-path-specification
> + (variable "VAMP_PATH")
> + (files '("lib/vamp")))))

Maybe factor this search-path-specification into a private variable
called ``$VAMP_PATH'', then write,

(native-search-paths (list $VAMP_PATH))

-- (
(
Re: [bug#58208] [PATCH 6/7] gnu: Add vamp-aubio-plugins.
(address . ludo@gnu.org)
CNWXUSNKPSQA.2JQ3931R4JCDJ@guix-framework
On Sat Oct 1, 2022 at 1:22 AM BST, Lilah Tascheter via Guix-patches via wrote:
Toggle quote (3 lines)
> + "vamp-aubio-plugins-" version ".tar.bz2"))

Add a file-name field.

Toggle quote (4 lines)
> + (sha256
> + (base32
> + "1gpcg7hih42qmys8a9zylgas3xfrzqijasgaphm43bmiw7vrvxis"))

One space indents here.

Toggle quote (4 lines)
> + (snippet '(begin ;; remove outdated & bundled waf
> + (delete-file "waf")
> + (delete-file-recursively "waflib")))))

Use gexp instead of quote here,

(snippet
#~(begin
(delete-file "waf")
(delete-file-recursively "waflib")))

Toggle quote (9 lines)
> + (arguments
> + `(#:tests? #f ;; no tests available
> + #:phases
> + (modify-phases %standard-phases
> + (add-before 'configure 'setup-waf
> + (lambda* (#:key inputs #:allow-other-keys)
> + (let ((waf (assoc-ref inputs "python-waf")))
> + (copy-file (string-append waf "/bin/waf") "waf")))))))

Use the modern argument style (and correct comment style),

(arguments
(list #:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'setup-waf
(lambda* (#:key inputs #:allow-other-keys)
(copy-file (search-input-file inputs "bin/waf")
"waf"))))))

Toggle quote (5 lines)
> + (native-search-paths
> + (list (search-path-specification
> + (variable "VAMP_PATH")
> + (files '("lib/vamp")))))

Use the ``$VAMP_PATH'' variable here.

Toggle quote (3 lines)
> + (description "A set of VAMP plugins wrapping the audio annotation features
> +of Aubio for use in a VAMP host. Includes plugins for note tracking, energy

guix lint says "sentences in description should be followed by two
spaces"; remember to run it for every package you write :) Also, full
sentences.

Toggle quote (2 lines)
Move home-page, etc etc :)

-- (
(
Re: [bug#58208] [PATCH 7/7] gnu: Add nnls-chroma.
(address . ludo@gnu.org)
CNWXZHXWC6S5.1QNO7U0HWJUIF@guix-framework
On Sat Oct 1, 2022 at 1:22 AM BST, Lilah Tascheter via Guix-patches via wrote:
Toggle quote (4 lines)
> + (uri (string-append
> + "https://code.soundsoftware.ac.uk/attachments/download/"
> + "1691/nnls-chroma-1.1.tar.gz"))

Add file-name.

Toggle quote (4 lines)
> + (sha256
> + (base32
> + "06n66ff4w4a07rfz1kn0hq2g953dsx8a4cx1bhpvswqds1kb70md"))))

One space indents...

Toggle quote (17 lines)
> + (arguments
> + `(#:tests? #f ;; no tests available
> + #:make-flags
> + (list "-f" "Makefile.linux"
> + (string-append "CC=" ,(cc-for-target))
> + (string-append "VAMP_SDK_DIR=" (assoc-ref %build-inputs "vamp")
> + "/include/vamp-sdk"))
> + #:phases
> + ,#~(modify-phases %standard-phases
> + (delete 'configure) ;; no configure phase
> + (replace 'install ;; no install phase
> + (lambda _
> + (let ((outdir (string-append #$output "/lib/vamp"))
> + (outfile "nnls-chroma.so"))
> + (mkdir-p outdir)
> + (copy-file outfile (string-append outdir "/" outfile))))))))

Modernised,

(arguments
(list #:tests? #f ;no tests
#:make-flags
#~(list "-f" "Makefile.linux"
(string-append "CC=" #$(cc-for-target))
(string-append "VAMP_SDK_DIR="
#$(this-package-input vamp)
"/include/vamp-sdk"))
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ;no configure script
(replace 'install
(lambda _
(install-file "nnls-chroma.so"
(string-append #$output
"/lib/vamp")))))))

Toggle quote (5 lines)
> + (native-search-paths
> + (list (search-path-specification
> + (variable "VAMP_PATH")
> + (files '("lib/vamp")))))

Actually, on second thought, I don't think this is necessary for
VAMP *plugins*, only VAMP itself? (Not certain though.)

Toggle quote (2 lines)
home-page goes before synopsis :)

-- (
(
Re: [bug#58208] [PATCH 6/7] gnu: Add vamp-aubio-plugins.
(address . ludo@gnu.org)
CNWY0OECGPJZ.276WOCIA9XN3Y@guix-framework
On Sat Oct 1, 2022 at 1:22 AM BST, Lilah Tascheter via Guix-patches via wrote:
Toggle quote (5 lines)
> + (native-search-paths
> + (list (search-path-specification
> + (variable "VAMP_PATH")
> + (files '("lib/vamp")))))

Actually, on second thought, is this necessary for VAMP *plugins*,
not just VAMP itsalf?

-- (
L
L
Ludovic Courtès wrote on 6 Nov 2022 18:34
control message for bug #58208
(address . control@debbugs.gnu.org)
878rkogf5y.fsf@gnu.org
tags 58208 + moreinfo
quit
L
L
Lilah Tascheter wrote on 2 Jun 2023 07:56
[PATCH v2 0/9] Add Sonic Visualiser and VAMP plugins.
(address . 58208@debbugs.gnu.org)
cover.1685685204.git.lilah@lunabee.space
Revision fixing problems pointed out by ( (apart from some of the file-name
fields, in cases which the default behavior is the same as if it was specified
manually), and bringing Sonic Visualiser up to its latest version, which
supports out-of-tree VAMP.

Thanks for the review!!

Lilah Tascheter (9):
gnu: Add oggz.
gnu: libkate: Add optional input oggz.
gnu: Add libfishsound.
gnu: Add rubberband-next.
gnu: Update vamp.
gnu: Add sonic-visualiser.
gnu: Register VAMP_PATH with host.
gnu: Add vamp-aubio-plugins.
gnu: Add nnls-chroma.

gnu/packages/audio.scm | 157 ++++++++++++++++++++++++++++++++++++++++-
gnu/packages/xiph.scm | 60 +++++++++++++++-
2 files changed, 212 insertions(+), 5 deletions(-)


base-commit: b4382b294e6cd475e9476610d98fdd0bdaec4c84
--
2.40.1
L
L
Lilah Tascheter wrote on 2 Jun 2023 07:56
[PATCH v2 2/9] gnu: libkate: Add optional input oggz.
(address . 58208@debbugs.gnu.org)
12938fe4ee24b42b921548ebc9bd39db472ef67b.1685685204.git.lilah@lunabee.space
* gnu/packages/xiph.scm (libkate)[inputs]: Add optional input oggz.
---
gnu/packages/xiph.scm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

Toggle diff (16 lines)
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index 2f69d3aa6b..5339b5965d 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -308,8 +308,7 @@ (define-public libkate
"0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4"))))
(build-system gnu-build-system)
(native-inputs (list doxygen bison pkg-config))
- ;; FIXME: Add optional input liboggz
- (inputs (list libogg libpng python-wrapper zlib))
+ (inputs (list libogg oggz libpng python-wrapper zlib))
(synopsis "Karaoke and text codec for embedding in ogg")
(description
"Kate is an overlay codec, originally designed for karaoke and text,
--
2.40.1
L
L
Lilah Tascheter wrote on 2 Jun 2023 07:56
[PATCH v2 1/9] gnu: Add oggz.
(address . 58208@debbugs.gnu.org)
12ccf351a1ca3a2e44f6c756dc7501f09d0f445f.1685685204.git.lilah@lunabee.space
* gnu/packages/xiph.scm (oggz): New variable.
---
gnu/packages/xiph.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (63 lines)
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index b47c718fb6..2f69d3aa6b 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -32,6 +32,7 @@
(define-module (gnu packages xiph)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@@ -46,6 +47,7 @@ (define-module (gnu packages xiph)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system gnu))
@@ -259,6 +261,40 @@ (define-public flac
"See COPYING in the distribution.")) ; and LGPL and GPL
(home-page "https://xiph.org/flac/")))
+(define-public oggz
+ (package
+ (name "oggz")
+ (version "1.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://downloads.xiph.org/releases/liboggz/"
+ "liboggz-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0nj17lhnsw4qbbk8jy4j6a78w6v2llhqdwq46g44mbm9w2qsvbvb"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'patch-oggz-diff-script
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((input (lambda (i) (search-input-file inputs i)))
+ (getopt (input "/bin/getopt"))
+ (basename (input "/bin/basename"))
+ (diff (input "/bin/diff")))
+ (substitute* "src/tools/oggz-diff.in"
+ (("`getopt") (string-append "`" getopt))
+ (("`basename") (string-append "`" basename))
+ (("^diff") diff))))))))
+ (inputs (list coreutils-minimal diffutils libogg util-linux))
+ (home-page "https://xiph.org/oggz/")
+ (synopsis "Library and command-line tool for working with Ogg files")
+ (description "Oggz is a C library for reading and writing Ogg files and
+streams in multiple formats. It comes bundled with cli tools to inspect,
+validate, crop, and edit Ogg files.")
+ (license license:bsd-3)))
+
(define-public libkate
(package
(name "libkate")
--
2.40.1
L
L
Lilah Tascheter wrote on 2 Jun 2023 07:56
[PATCH v2 3/9] gnu: Add libfishsound.
(address . 58208@debbugs.gnu.org)
e9c2bbbb760ef835c51f104930d722d36222cf46.1685685204.git.lilah@lunabee.space
* gnu/packages/xiph.scm (libfishsound): New variable.
---
gnu/packages/xiph.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index 5339b5965d..63e83fec24 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -295,6 +295,27 @@ (define-public oggz
validate, crop, and edit Ogg files.")
(license license:bsd-3)))
+(define-public libfishsound
+ (package
+ (name "libfishsound")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://downloads.xiph.org/releases/libfishsound/"
+ "libfishsound-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1iz7mn6hw2wg8ljaw74f4g2zdj68ib88x4vjxxg3gjgc5z75f2rf"))))
+ (build-system gnu-build-system)
+ (inputs (list libvorbis speex))
+ (home-page "https://xiph.org/fishsound/")
+ (synopsis "Library for encoding and decoing Xiph.org codecs")
+ (description "Libfishsound is a C library wrapping individual Xiph.org
+codecs, including FLAC, Speex, and Vorbis. It provides a unified higher-level
+interface for handling raw codec streams.")
+ (license license:bsd-3)))
+
(define-public libkate
(package
(name "libkate")
--
2.40.1
L
L
Lilah Tascheter wrote on 2 Jun 2023 07:56
[PATCH v2 5/9] gnu: Update vamp.
(address . 58208@debbugs.gnu.org)
61884245edfc91e44c15dd171f6b1e99c1e83986.1685685204.git.lilah@lunabee.space
* gnu/packages/audio.scm (vamp): Update to 2.10.
---
gnu/packages/audio.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index a4a0120f89..58e48973a1 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3843,16 +3843,16 @@ (define-public timidity++
(define-public vamp
(package
(name "vamp")
- (version "2.6")
+ (version "2.10.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://code.soundsoftware.ac.uk"
- "/attachments/download/1520/vamp-plugin-sdk-"
+ "/attachments/download/2691/vamp-plugin-sdk-"
version ".tar.gz"))
(sha256
(base32
- "0pzq0yy2kdl3jgfc2aqmh5m55nk1ild0hq8mydiiw35c6y0mglyh"))))
+ "0pzpkxrz71fzqd2m83kjyafzqzrifzsq5phcn7mqq52blii3gbxf"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
--
2.40.1
L
L
Lilah Tascheter wrote on 2 Jun 2023 07:56
[PATCH v2 4/9] gnu: Add rubberband-next.
(address . 58208@debbugs.gnu.org)
a0a9716247afffecca14821be4c65f944f046e31.1685685204.git.lilah@lunabee.space
Sonic Visualiser requires rubberband two major versions newer than
currently packaged.

* gnu/packages/audio.scm (rubberband-next): New variable.
---
gnu/packages/audio.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 58a981b2fe..a4a0120f89 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3640,6 +3640,26 @@ (define-public rubberband
tempo and pitch of an audio recording independently of one another.")
(license license:gpl2+)))
+(define-public rubberband-next
+ (package
+ (name "rubberband")
+ (version "3.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://breakfastquay.com/files/releases/"
+ "rubberband-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0wnijydgk4lb1z2kz102zq7r8iikrbagrcaxm2k5dzhbqp8arvc2"))))
+ (build-system meson-build-system)
+ (inputs (list boost ladspa libsamplerate vamp))
+ (home-page "https://breakfastquay.com/rubberband/")
+ (synopsis "Audio time-stretching and pitch-shifting library")
+ (description
+ "Rubber Band is a library and utility program that permits changing the
+tempo and pitch of an audio recording independently of one another.")
+ (license license:gpl2+)))
+
(define-public rtmidi
(package
(name "rtmidi")
--
2.40.1
L
L
Lilah Tascheter wrote on 2 Jun 2023 07:56
[PATCH v2 6/9] gnu: Add sonic-visualiser.
(address . 58208@debbugs.gnu.org)
635d0ec843489fcc761fce0131f3680bb141737f.1685685204.git.lilah@lunabee.space
* gnu/packages/audio.scm (sonic-visualiser): New variable.
---
gnu/packages/audio.scm | 56 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)

Toggle diff (69 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 58e48973a1..1ff8c77eb9 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1092,6 +1092,62 @@ (define %configure (assoc-ref %standard-phases 'configure))
tools.")
(license license:gpl2+)))
+(define-public sonic-visualiser
+ (package
+ (name "sonic-visualiser")
+ (version "4.5.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/sonic-visualiser/sonic-visualiser"
+ "/releases/download/sv_v" version "/sonic-visualiser-"
+ version ".tar.gz"))
+ (modules '((guix build utils)))
+ (snippet #~(begin
+ (delete-file-recursively "vamp-plugin-sdk")
+ (mkdir "vamp-plugin-sdk")))
+ (sha256
+ (base32
+ "11xl5lhj50yhy49qmzwhf3s1rbfcdcc589ffbr4sz5rzksxf25h8"))))
+ (build-system meson-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'set-home
+ (lambda _ ; tests write to $HOME
+ (setenv "HOME" "/tmp"))))))
+ (inputs
+ (list alsa-lib
+ bzip2
+ capnproto
+ fftw
+ jack-1
+ libfishsound
+ libid3tag
+ liblo
+ libmad
+ libsamplerate
+ libsndfile
+ lrdf
+ oggz
+ opusfile
+ portaudio
+ pulseaudio
+ qtbase-5
+ qtsvg-5
+ rubberband-next
+ serd
+ sord
+ vamp ; due to how search paths are implemented, plugin use
+ zlib)) ; requires vamp to be added to a profile.
+ (native-inputs (list pkg-config))
+ (home-page "https://sonicvisualiser.org")
+ (synopsis "Program for visualising and inspecting audio files")
+ (description "Sonic Visualiser is a program for annotating, visualising, and
+inspecting audio files, providing waveform analysis and a VAMP host for external
+audio analysis and annotation plugins.")
+ (license license:gpl2+)))
+
(define-public audiofile
(package
(name "audiofile")
--
2.40.1
L
L
Lilah Tascheter wrote on 2 Jun 2023 07:56
[PATCH v2 7/9] gnu: Register VAMP_PATH with host.
(address . 58208@debbugs.gnu.org)
5b62df34e8c985933aed796bc79f41bfdb030e92.1685685204.git.lilah@lunabee.space
* gnu/packages/audio.scm (vamp)[native-search-paths]: Add VAMP plugins
to the VAMP_PATH search path.
---
gnu/packages/audio.scm | 4 ++++
1 file changed, 4 insertions(+)

Toggle diff (17 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 1ff8c77eb9..2931cba488 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3926,6 +3926,10 @@ (define-public vamp
(list libsndfile))
(native-inputs
(list pkg-config))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "VAMP_PATH")
+ (files '("lib/vamp")))))
(home-page "https://vamp-plugins.org")
(synopsis "Modular and extensible audio processing system")
(description
--
2.40.1
L
L
Lilah Tascheter wrote on 2 Jun 2023 07:56
[PATCH v2 8/9] gnu: Add vamp-aubio-plugins.
(address . 58208@debbugs.gnu.org)
466335350a7c2e6276713b96683df0f429f01261.1685685204.git.lilah@lunabee.space
* gnu/packages/audio.scm (vamp-aubio-plugins): New variable.
---
gnu/packages/audio.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 2931cba488..c34ccb30a5 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -626,6 +626,39 @@ (define-public aubio
streams from live audio.")
(license license:gpl3+)))
+(define-public vamp-aubio-plugins
+ (package
+ (name "vamp-aubio-plugins")
+ (version "0.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://aubio.org/pub/vamp-aubio-plugins/"
+ "vamp-aubio-plugins-" version ".tar.bz2"))
+ (modules '((guix build utils)))
+ (snippet #~(begin ; remove outdated & bundled waf
+ (delete-file "waf")
+ (delete-file-recursively "waflib")))
+ (sha256
+ (base32
+ "1gpcg7hih42qmys8a9zylgas3xfrzqijasgaphm43bmiw7vrvxis"))))
+ (build-system waf-build-system)
+ (arguments
+ (list #:tests? #f ; no tests available
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'setup-waf
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-file (search-input-file inputs "/bin/waf") "waf"))))))
+ (inputs (list aubio vamp))
+ (native-inputs (list pkg-config python-waf))
+ (home-page "https://aubio.org/vamp-aubio-plugins/")
+ (synopsis "VAMP plugin for audio labelling")
+ (description "vamp-aubio-plugins is a set of VAMP plugins wrapping the audio
+annotation features of Aubio for use in a VAMP host. Includes plugins for note
+tracking, energy extracting, pitch detection, silence detection, spectral
+description, and beat tracking.")
+ (license license:gpl3+)))
+
(define-public dsp
(package
(name "dsp")
--
2.40.1
L
L
Lilah Tascheter wrote on 2 Jun 2023 07:56
[PATCH v2 9/9] gnu: Add nnls-chroma.
(address . 58208@debbugs.gnu.org)
1baa096c94e09e27b676ff40601074ff9bcef635.1685685204.git.lilah@lunabee.space
* gnu/packages/audio.scm (nnls-chroma): New variable.
---
gnu/packages/audio.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index c34ccb30a5..d7c11b0a5d 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -659,6 +659,44 @@ (define-public vamp-aubio-plugins
description, and beat tracking.")
(license license:gpl3+)))
+(define-public nnls-chroma
+ (package
+ (name "nnls-chroma")
+ (version "1.1")
+ (source (origin
+ (method url-fetch)
+ ;; These urls have an "attachment number" :/ which makes this url
+ ;; not generalizable across versions.
+ (uri (string-append
+ "https://code.soundsoftware.ac.uk/attachments/download/"
+ "1691/nnls-chroma-" version ".tar.gz"))
+ (sha256
+ (base32
+ "06n66ff4w4a07rfz1kn0hq2g953dsx8a4cx1bhpvswqds1kb70md"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f ;; no tests available
+ #:make-flags
+ #~(list "-f" "Makefile.linux"
+ (string-append "CC=" #$(cc-for-target))
+ (string-append "VAMP_SDK_DIR=" #$(this-package-input "vamp")
+ "/include/vamp-sdk"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (replace 'install
+ (lambda _
+ (install-file "nnls-chroma.so"
+ (string-append #$output "/lib/vamp")))))))
+ (inputs (list boost vamp))
+ (home-page "http://www.isophonics.net/nnls-chroma/")
+ (synopsis "VAMP plugins for audio transcription")
+ (description "This is a set of three VAMP plugins used for audio
+transcription: NNLS Chroma, providing chromatic transcription, Chordino,
+providing chord transcription, and Tuning, which estimates local and global
+tuning.")
+ (license license:gpl2+)))
+
(define-public dsp
(package
(name "dsp")
--
2.40.1
L
L
Lilah Tascheter wrote on 20 Jun 2023 20:20
tag 58208 moreinfo
(address . control@debbugs.gnu.org)
20230620132003.49dddc63@lunabee.space
tags 58208 - moreinfo
quit
?