Re: [PATCH] gnu: Add IR.

2015-04-26 Thread Andreas Enge
On Sun, Apr 26, 2015 at 03:26:04PM +0200, Ricardo Wurmus wrote:
 How about this then:
   Zita convolver is a C++ library providing a real-time convolution
   engine.
 WDYT?

Yes, maybe.

Andreas




Re: [PATCH] gnu: Add IR.

2015-04-26 Thread Ricardo Wurmus

Andreas Enge writes:

 + Zita convolver is a C++ library implementing a real-time convolution
 +matrix.)

 This I find difficult to understand. How can you implement a matrix?  What is
 a real time matrix?  Maybe for computing convolution matrices in real time?
 Or also add double precision (or whatever is correct) in front of
 convolution matrices.

Frankly, the description is terrible.  The real-time convolution
matrix is to be parsed as (real-time convolution) matrix, I think.

I don't really know what the library concretely implements (and it
doesn't come with a helpful README), other than that it is used for
real-time audio convolution, e.g. in IR.

The Fedora package description is:

  zita-convolver is a fast, partitioned convolution engine library.

How about this then:

  Zita convolver is a C++ library providing a real-time convolution
  engine.

WDYT?

~~ Ricardo




Re: [PATCH] gnu: Add IR.

2015-04-26 Thread Ricardo Wurmus

Andreas Enge writes:

 On Sat, Apr 25, 2015 at 08:49:43PM +0200, Ricardo Wurmus wrote:
 attached are patches for the zita-convolver library and the excellent IR
 reverb plugin.  It creates a reverb effect out of impulse responses.
 (It does not come with pre-packaged impulse responses, but there are
 many impulse response packs out there that can be used.)

 Are you going to add such a package? Otherwise the search path mechanism
 will not work.

No.  The plugin works as packaged.  It has a file open dialogue to allow
the user to select impulse responses (= wav files) from anywhere on
disk.  I already tried it in Ardour 4 and it works just fine.

 + IR is a low-latency, realtime, high performance signal convolver
 +especially for creating reverb effects.  Supports impulse responses with 1, 
 2
 +or 4 channels, in any soundfile format supported by libsndfile.)

 Maybe add It before supports. real time? real-time?

I'll add It and use real-time.  Thanks.

~~ Ricardo





Re: [PATCH] gnu: Add IR.

2015-04-26 Thread Andreas Enge
On Sat, Apr 25, 2015 at 08:49:43PM +0200, Ricardo Wurmus wrote:
 +  (chdir libs) #t)

I would put #t onto a new line as it is a separate command.

+((^LIBDIR =.*) LIBDIR = lib\n))

I think this adds a line break, which is not a problem.

 + Zita convolver is a C++ library implementing a real-time convolution
 +matrix.)

This I find difficult to understand. How can you implement a matrix?  What is
a real time matrix?  Maybe for computing convolution matrices in real time?
Or also add double precision (or whatever is correct) in front of
convolution matrices.

Otherwise looks good.

Andreas




Re: [PATCH] gnu: Add IR.

2015-04-26 Thread Andreas Enge
On Sat, Apr 25, 2015 at 08:49:43PM +0200, Ricardo Wurmus wrote:
 attached are patches for the zita-convolver library and the excellent IR
 reverb plugin.  It creates a reverb effect out of impulse responses.
 (It does not come with pre-packaged impulse responses, but there are
 many impulse response packs out there that can be used.)

Are you going to add such a package? Otherwise the search path mechanism
will not work.

 + IR is a low-latency, realtime, high performance signal convolver
 +especially for creating reverb effects.  Supports impulse responses with 1, 2
 +or 4 channels, in any soundfile format supported by libsndfile.)

Maybe add It before supports. real time? real-time?

Andreas




[PATCH] gnu: Add IR.

2015-04-25 Thread Ricardo Wurmus
Hi Guix,

attached are patches for the zita-convolver library and the excellent IR
reverb plugin.  It creates a reverb effect out of impulse responses.
(It does not come with pre-packaged impulse responses, but there are
many impulse response packs out there that can be used.)

~~ Ricardo

From 49ad26bf148065aef57657e4ef04fb65412ed198 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus rek...@elephly.net
Date: Sat, 25 Apr 2015 20:15:52 +0200
Subject: [PATCH 1/2] gnu: Add zita-convolver.

* gnu/packages/audio.scm (zita-convolver): New variable.
---
 gnu/packages/audio.scm | 42 ++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 8fb3da7..d51e3cf 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1218,6 +1218,48 @@ directly to a different computer on your LAN network.  It is an audio daemon
 with a much different focus than most other audio daemons.)
 (license license:gpl3+)))
 
+(define-public zita-convolver
+  (package
+(name zita-convolver)
+(version 3.1.0)
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+http://kokkinizita.linuxaudio.org;
+/linuxaudio/downloads/zita-convolver-
+version .tar.bz2))
+  (sha256
+   (base32
+14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f ; no check target
+   #:make-flags (list (string-append PREFIX= (assoc-ref %outputs out)))
+   #:phases
+   (alist-cons-after
+'unpack 'patch-makefile-and-enter-directory
+(lambda _
+  (substitute* libs/Makefile
+((ldconfig) true)
+((^LIBDIR =.*) LIBDIR = lib\n))
+  (chdir libs) #t)
+(alist-cons-after
+ 'install
+ 'install-symlink
+ (lambda _
+   (symlink libzita-convolver.so
+(string-append (assoc-ref %outputs out)
+   /lib/libzita-convolver.so.3)))
+ ;; no configure script
+ (alist-delete 'configure %standard-phases)
+(inputs `((fftwf ,fftwf)))
+(home-page http://kokkinizita.linuxaudio.org;)
+(synopsis Fast, partitioned convolution engine library)
+(description
+ Zita convolver is a C++ library implementing a real-time convolution
+matrix.)
+(license license:gpl3+)))
+
 (define-public zita-alsa-pcmi
   (package
 (name zita-alsa-pcmi)
-- 
2.1.0

From db94a1969322fa41bf16c8d41f9b2ec5b0799bd0 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus rek...@elephly.net
Date: Sat, 25 Apr 2015 20:46:13 +0200
Subject: [PATCH 2/2] gnu: Add IR.

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

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index d51e3cf..7742bbf 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -385,6 +385,46 @@ patches that can be used with softsynths such as Timidity and WildMidi.)
 ;; GPLv2+ with exception for compositions using these patches.
 (license license:gpl2+)))
 
+(define-public ir
+  (package
+(name ir)
+(version 1.3.2)
+(source (origin
+ (method url-fetch)
+ (uri (string-append
+   http://factorial.hu/system/files/ir.lv2-;
+   version .tar.gz))
+ (sha256
+  (base32
+   1jh2z01l9m4ar7yz0n911df07dygc7n4cl59p7qdjbh0nvkm747g
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f ;no check target
+   #:make-flags (list (string-append PREFIX= (assoc-ref %outputs out)))
+   #:phases
+   ;; no configure script
+   (alist-delete 'configure %standard-phases)))
+(inputs
+ `((libsndfile ,libsndfile)
+   (libsamplerate ,libsamplerate)
+   (lv2 ,lv2)
+   (glib ,glib)
+   (gtk+ ,gtk+-2)
+   (zita-convolver ,zita-convolver)))
+(native-inputs
+ `((pkg-config ,pkg-config)))
+(native-search-paths
+ (list (search-path-specification
+(variable LV2_PATH)
+(files '(lib/lv2)
+(home-page http://factorial.hu/plugins/lv2/ir;)
+(synopsis LV2 convolution reverb)
+(description
+ IR is a low-latency, realtime, high performance signal convolver
+especially for creating reverb effects.  Supports impulse responses with 1, 2
+or 4 channels, in any soundfile format supported by libsndfile.)
+(license license:gpl2+)))
+
 (define-public jack-1
   (package
 (name jack)
-- 
2.1.0