* [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).