[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
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 58208@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 58208
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch