csound-ir. Samplicity Impulse Responces for Csound-expression library
Date | 2017-06-04 13:49 |
From | Anton Kholomiov |
Subject | csound-ir. Samplicity Impulse Responces for Csound-expression library |
Hi! I'd like to announce a new library in the Csound expression universe.high quality Impulse responce reverbs. It uses Victor's zconv algorithm. * Bricasti M7 (M7) free * TCE System 6000 (T6) non-free The library can be installed with cabal. Download the source cd to the directory and run just run: ~~~ cabal install ~~~ This installs the haskell definitions. But to use them we also need the actual samples to be installed. Download them from the [samplicity site](http://www.samplicity.com/). Note that the M7 collection is free but the T6 comes with modest price. to try the things out we can use only M7. Download it and place in your home directory inside the directory: ~~~ USER_HOME/.csound-ir ~~~ We need to create the directory `.csound-ir` in our home directory. Next place the collection of IRs there. It should look something like this: ~~~ USER_HOME/.csound-ir/Samplicity M7 Main - 01 - Wave, 32 bit, 44.1 Khz, v1.1 ~~~ We are ready to go! ## Quick start To use this library just import the preset collection and apply the reverb to the signal: ~~~haskell import Csound.Base import Csound.Ir.M7 pluck = fromMono $ linseg [1, 0.2, 0] * osc 220 main = dac $ hDense 0.35 pluck ~~~ The first argument is Dry/Wet ratio the second argument is an imput signal (preferably stereo Sig2 or SE Sig2). All presets have the signature: ~~~haskell hDense :: MixAt Sig2 Sig2 a => Sig -> a -> AtOut Sig2 Sig2 a ~~~ The type is rather dense and brainy indeed. But this is all need to signify that we are fgoing to apply it to something that is stereo or stereo-like signal. It's to be able to apply it to both `Sig2` and `SE Sig2`. That is pure signals and signals with side effects. |
Date | 2017-06-07 19:12 |
From | Steven Yi |
Subject | Re: csound-ir. Samplicity Impulse Responces for Csound-expression library |
Hi Anton, This looks great, thanks for sharing! It also did bring up a thought: perhaps as a community we can come up with a directory format for samples that takes advantage of SFDIR and other environment variables we have in Csound. It might be good as I think Ed was working on a new package manager system that seems to overlap. I think a consensus directory structure for resources could be useful to work between tools/libraries. Thanks! steven On Sun, Jun 4, 2017 at 5:49 AM, Anton Kholomiov |
Date | 2017-06-07 21:50 |
From | Anton Kholomiov |
Subject | Re: csound-ir. Samplicity Impulse Responces for Csound-expression library |
Do you know some stable approach to calibrate for volume? When I use IR's I have to rescale by volume by some big amount.2017-06-07 21:12 GMT+03:00 Steven Yi <stevenyi@gmail.com>: Hi Anton, |
Date | 2017-06-10 00:11 |
From | Steven Yi |
Subject | Re: csound-ir. Samplicity Impulse Responces for Csound-expression library |
I can't say I use IR's much myself, so I don't have experience with it. But I did a search online and found this code: https://github.com/HiFi-LoFi/KlangFalter/blob/master/Source/IRCalculation.cpp#L442-L466 from a Convolution reverb plugin written with JUCE. On Wed, Jun 7, 2017 at 1:50 PM, Anton Kholomiov |
Date | 2017-06-11 20:43 |
From | Joel Ross |
Subject | Re: csound-ir. Samplicity Impulse Responces for Csound-expression library |
Anton, can you try rescaling your IRs so the sum of the samples in the IR is equal to one? That should mean your scaling factor is always the same. Regard, Joel On 10 June 2017 at 00:11, Steven Yi <stevenyi@gmail.com> wrote: I can't say I use IR's much myself, so I don't have experience with |
Date | 2017-06-12 07:38 |
From | Anton Kholomiov |
Subject | Re: csound-ir. Samplicity Impulse Responces for Csound-expression library |
Thanks for help. or the straight samples with minuses and pluses?So I need to sum all the samples. Do I need to count absolute values 2017-06-11 22:43 GMT+03:00 Joel Ross <joel.binarybrain@gmail.com>:
|
Date | 2017-06-12 12:25 |
From | Joel Ross |
Subject | Re: csound-ir. Samplicity Impulse Responces for Csound-expression library |
Yes, the raw samples, no magnitude. This is actually just normalization that you can do in audacity or any other audio editor. It will give you the maximum possible gain while guaranteeing that it won't clip at the output. I think you wanted to ensure that the input and output levels were roughly the same but you can't be sure of that because the IR might have a strong attenuation in some frequency range and therefore the output level depends on the frequency response of the input and will always be lower than the input. Regards, Joel On 12 June 2017 at 07:38, Anton Kholomiov <anton.kholomiov@gmail.com> wrote:
|
Date | 2017-06-12 13:18 |
From | Anton Kholomiov |
Subject | Re: csound-ir. Samplicity Impulse Responces for Csound-expression library |
I'd rather not touch the IR's themselves since they are not mine and I don't want to maintain my version of it. 2017-06-12 14:25 GMT+03:00 Joel Ross <joel.binarybrain@gmail.com>:
|
Date | 2017-07-02 13:57 |
From | Anton Kholomiov |
Subject | Re: csound-ir. Samplicity Impulse Responces for Csound-expression library |
@Joel But the audio plugin that Steven shows proposes to norm with L2-distance: sqrt(x1^2 + x2^2 + ... + xN^2) @All The layout of each IR is like this: But both files are stereo. What is the proper way to apply the IR? How do you think? Should I apply both of the files and sum them up? And what is the proper way to rescale the file. I've tried to calculate the norm of each file and I've got (for example): (2.79, 5.71) -- Left channel wav-file (5.97, 3.22) -- Right channel wav-file From this I gather that I'd better to keep the relative relation of channels in each stereo-file. 2017-06-12 15:18 GMT+03:00 Anton Kholomiov <anton.kholomiov@gmail.com>:
|