unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add IR.
@ 2015-04-25 18:49 Ricardo Wurmus
  2015-04-26 12:09 ` Andreas Enge
  2015-04-26 12:12 ` Andreas Enge
  0 siblings, 2 replies; 6+ messages in thread
From: Ricardo Wurmus @ 2015-04-25 18:49 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 291 bytes --]

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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-zita-convolver.patch --]
[-- Type: text/x-patch, Size: 2351 bytes --]

From 49ad26bf148065aef57657e4ef04fb65412ed198 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-Add-IR.patch --]
[-- Type: text/x-patch, Size: 2167 bytes --]

From db94a1969322fa41bf16c8d41f9b2ec5b0799bd0 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] gnu: Add IR.
  2015-04-25 18:49 [PATCH] gnu: Add IR Ricardo Wurmus
@ 2015-04-26 12:09 ` Andreas Enge
  2015-04-26 13:26   ` Ricardo Wurmus
  2015-04-26 12:12 ` Andreas Enge
  1 sibling, 1 reply; 6+ messages in thread
From: Andreas Enge @ 2015-04-26 12:09 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] gnu: Add IR.
  2015-04-25 18:49 [PATCH] gnu: Add IR Ricardo Wurmus
  2015-04-26 12:09 ` Andreas Enge
@ 2015-04-26 12:12 ` Andreas Enge
  2015-04-26 13:19   ` Ricardo Wurmus
  1 sibling, 1 reply; 6+ messages in thread
From: Andreas Enge @ 2015-04-26 12:12 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] gnu: Add IR.
  2015-04-26 12:12 ` Andreas Enge
@ 2015-04-26 13:19   ` Ricardo Wurmus
  0 siblings, 0 replies; 6+ messages in thread
From: Ricardo Wurmus @ 2015-04-26 13:19 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel


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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] gnu: Add IR.
  2015-04-26 12:09 ` Andreas Enge
@ 2015-04-26 13:26   ` Ricardo Wurmus
  2015-04-26 13:47     ` Andreas Enge
  0 siblings, 1 reply; 6+ messages in thread
From: Ricardo Wurmus @ 2015-04-26 13:26 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel


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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] gnu: Add IR.
  2015-04-26 13:26   ` Ricardo Wurmus
@ 2015-04-26 13:47     ` Andreas Enge
  0 siblings, 0 replies; 6+ messages in thread
From: Andreas Enge @ 2015-04-26 13:47 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-04-26 13:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-25 18:49 [PATCH] gnu: Add IR Ricardo Wurmus
2015-04-26 12:09 ` Andreas Enge
2015-04-26 13:26   ` Ricardo Wurmus
2015-04-26 13:47     ` Andreas Enge
2015-04-26 12:12 ` Andreas Enge
2015-04-26 13:19   ` Ricardo Wurmus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).