Csound Csound-dev Csound-tekno Search About

csound-ir. Samplicity Impulse Responces for Csound-expression library

Date2017-06-04 13:49
FromAnton Kholomiov
Subjectcsound-ir. Samplicity Impulse Responces for Csound-expression library
Hi!

I'd like to announce a new library in the Csound expression universe.
It's csound-ir [1]. It's for making it easier to use
high quality Impulse responce reverbs.

It uses Victor's zconv algorithm.

Right now it can load two collections from the samplicity web site:

* Bricasti M7 (M7) free

* TCE System 6000 (T6) non-free

## Install

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.

More to know on library at the github repo:

[1] https://github.com/spell-music/csound-ir

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2017-06-07 19:12
FromSteven Yi
SubjectRe: 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
 wrote:
> Hi!
>
> I'd like to announce a new library in the Csound expression universe.
> It's csound-ir [1]. It's for making it easier to use
> high quality Impulse responce reverbs.
>
> It uses Victor's zconv algorithm.
>
> Right now it can load two collections from the samplicity web site:
>
> * Bricasti M7 (M7) free
>
> * TCE System 6000 (T6) non-free
>
> ## Install
>
> 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.
>
> More to know on library at the github repo:
>
> [1] https://github.com/spell-music/csound-ir
>
> Csound mailing list Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2017-06-07 21:50
FromAnton Kholomiov
SubjectRe: 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.
It can be 0.1 or even 0.05 or 0.01

I do it by ear right now. But maybe there is a better way?



2017-06-07 21:12 GMT+03:00 Steven Yi <stevenyi@gmail.com>:
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
<anton.kholomiov@gmail.com> wrote:
> Hi!
>
> I'd like to announce a new library in the Csound expression universe.
> It's csound-ir [1]. It's for making it easier to use
> high quality Impulse responce reverbs.
>
> It uses Victor's zconv algorithm.
>
> Right now it can load two collections from the samplicity web site:
>
> * Bricasti M7 (M7) free
>
> * TCE System 6000 (T6) non-free
>
> ## Install
>
> 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.
>
> More to know on library at the github repo:
>
> [1] https://github.com/spell-music/csound-ir
>
> Csound mailing list Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2017-06-10 00:11
FromSteven Yi
SubjectRe: 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
 wrote:
> 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.
> It can be 0.1 or even 0.05 or 0.01
>
> I do it by ear right now. But maybe there is a better way?
>
>
>
> 2017-06-07 21:12 GMT+03:00 Steven Yi :
>>
>> 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
>>  wrote:
>> > Hi!
>> >
>> > I'd like to announce a new library in the Csound expression universe.
>> > It's csound-ir [1]. It's for making it easier to use
>> > high quality Impulse responce reverbs.
>> >
>> > It uses Victor's zconv algorithm.
>> >
>> > Right now it can load two collections from the samplicity web site:
>> >
>> > * Bricasti M7 (M7) free
>> >
>> > * TCE System 6000 (T6) non-free
>> >
>> > ## Install
>> >
>> > 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.
>> >
>> > More to know on library at the github repo:
>> >
>> > [1] https://github.com/spell-music/csound-ir
>> >
>> > Csound mailing list Csound@listserv.heanet.ie
>> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>> > https://github.com/csound/csound/issues Discussions of bugs and features
>> > can
>> > be posted here
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
>
> Csound mailing list Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2017-06-11 20:43
FromJoel Ross
SubjectRe: 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
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
<anton.kholomiov@gmail.com> wrote:
> 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.
> It can be 0.1 or even 0.05 or 0.01
>
> I do it by ear right now. But maybe there is a better way?
>
>
>
> 2017-06-07 21:12 GMT+03:00 Steven Yi <stevenyi@gmail.com>:
>>
>> 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
>> <anton.kholomiov@gmail.com> wrote:
>> > Hi!
>> >
>> > I'd like to announce a new library in the Csound expression universe.
>> > It's csound-ir [1]. It's for making it easier to use
>> > high quality Impulse responce reverbs.
>> >
>> > It uses Victor's zconv algorithm.
>> >
>> > Right now it can load two collections from the samplicity web site:
>> >
>> > * Bricasti M7 (M7) free
>> >
>> > * TCE System 6000 (T6) non-free
>> >
>> > ## Install
>> >
>> > 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.
>> >
>> > More to know on library at the github repo:
>> >
>> > [1] https://github.com/spell-music/csound-ir
>> >
>> > Csound mailing list Csound@listserv.heanet.ie
>> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>> > https://github.com/csound/csound/issues Discussions of bugs and features
>> > can
>> > be posted here
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
>
> Csound mailing list Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2017-06-12 07:38
FromAnton Kholomiov
SubjectRe: csound-ir. Samplicity Impulse Responces for Csound-expression library
Thanks for help.

So I need to sum all the samples. Do I need to count absolute values
or the straight samples with minuses and pluses?


2017-06-11 22:43 GMT+03:00 Joel Ross <joel.binarybrain@gmail.com>:
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
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
<anton.kholomiov@gmail.com> wrote:
> 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.
> It can be 0.1 or even 0.05 or 0.01
>
> I do it by ear right now. But maybe there is a better way?
>
>
>
> 2017-06-07 21:12 GMT+03:00 Steven Yi <stevenyi@gmail.com>:
>>
>> 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
>> <anton.kholomiov@gmail.com> wrote:
>> > Hi!
>> >
>> > I'd like to announce a new library in the Csound expression universe.
>> > It's csound-ir [1]. It's for making it easier to use
>> > high quality Impulse responce reverbs.
>> >
>> > It uses Victor's zconv algorithm.
>> >
>> > Right now it can load two collections from the samplicity web site:
>> >
>> > * Bricasti M7 (M7) free
>> >
>> > * TCE System 6000 (T6) non-free
>> >
>> > ## Install
>> >
>> > 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.
>> >
>> > More to know on library at the github repo:
>> >
>> > [1] https://github.com/spell-music/csound-ir
>> >
>> > Csound mailing list Csound@listserv.heanet.ie
>> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>> > https://github.com/csound/csound/issues Discussions of bugs and features
>> > can
>> > be posted here
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
>
> Csound mailing list Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2017-06-12 12:25
FromJoel Ross
SubjectRe: 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:
Thanks for help.

So I need to sum all the samples. Do I need to count absolute values
or the straight samples with minuses and pluses?


2017-06-11 22:43 GMT+03:00 Joel Ross <joel.binarybrain@gmail.com>:
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
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
<anton.kholomiov@gmail.com> wrote:
> 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.
> It can be 0.1 or even 0.05 or 0.01
>
> I do it by ear right now. But maybe there is a better way?
>
>
>
> 2017-06-07 21:12 GMT+03:00 Steven Yi <stevenyi@gmail.com>:
>>
>> 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
>> <anton.kholomiov@gmail.com> wrote:
>> > Hi!
>> >
>> > I'd like to announce a new library in the Csound expression universe.
>> > It's csound-ir [1]. It's for making it easier to use
>> > high quality Impulse responce reverbs.
>> >
>> > It uses Victor's zconv algorithm.
>> >
>> > Right now it can load two collections from the samplicity web site:
>> >
>> > * Bricasti M7 (M7) free
>> >
>> > * TCE System 6000 (T6) non-free
>> >
>> > ## Install
>> >
>> > 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.
>> >
>> > More to know on library at the github repo:
>> >
>> > [1] https://github.com/spell-music/csound-ir
>> >
>> > Csound mailing list Csound@listserv.heanet.ie
>> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>> > https://github.com/csound/csound/issues Discussions of bugs and features
>> > can
>> > be posted here
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
>
> Csound mailing list Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2017-06-12 13:18
FromAnton Kholomiov
SubjectRe: 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.

Maybe I'll calculate the constant factor for each file...

2017-06-12 14:25 GMT+03:00 Joel Ross <joel.binarybrain@gmail.com>:
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:
Thanks for help.

So I need to sum all the samples. Do I need to count absolute values
or the straight samples with minuses and pluses?


2017-06-11 22:43 GMT+03:00 Joel Ross <joel.binarybrain@gmail.com>:
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
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
<anton.kholomiov@gmail.com> wrote:
> 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.
> It can be 0.1 or even 0.05 or 0.01
>
> I do it by ear right now. But maybe there is a better way?
>
>
>
> 2017-06-07 21:12 GMT+03:00 Steven Yi <stevenyi@gmail.com>:
>>
>> 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
>> <anton.kholomiov@gmail.com> wrote:
>> > Hi!
>> >
>> > I'd like to announce a new library in the Csound expression universe.
>> > It's csound-ir [1]. It's for making it easier to use
>> > high quality Impulse responce reverbs.
>> >
>> > It uses Victor's zconv algorithm.
>> >
>> > Right now it can load two collections from the samplicity web site:
>> >
>> > * Bricasti M7 (M7) free
>> >
>> > * TCE System 6000 (T6) non-free
>> >
>> > ## Install
>> >
>> > 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.
>> >
>> > More to know on library at the github repo:
>> >
>> > [1] https://github.com/spell-music/csound-ir
>> >
>> > Csound mailing list Csound@listserv.heanet.ie
>> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>> > https://github.com/csound/csound/issues Discussions of bugs and features
>> > can
>> > be posted here
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
>
> Csound mailing list Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2017-07-02 13:57
FromAnton Kholomiov
SubjectRe: 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

also I've got a  question on the library of samples that I try to use.
It features two stereo files per channel:

The layout of each IR is like this:

ir-type-L.wav
ir-type-R.wav


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>:
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.

Maybe I'll calculate the constant factor for each file...

2017-06-12 14:25 GMT+03:00 Joel Ross <joel.binarybrain@gmail.com>:
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:
Thanks for help.

So I need to sum all the samples. Do I need to count absolute values
or the straight samples with minuses and pluses?


2017-06-11 22:43 GMT+03:00 Joel Ross <joel.binarybrain@gmail.com>:
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
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
<anton.kholomiov@gmail.com> wrote:
> 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.
> It can be 0.1 or even 0.05 or 0.01
>
> I do it by ear right now. But maybe there is a better way?
>
>
>
> 2017-06-07 21:12 GMT+03:00 Steven Yi <stevenyi@gmail.com>:
>>
>> 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
>> <anton.kholomiov@gmail.com> wrote:
>> > Hi!
>> >
>> > I'd like to announce a new library in the Csound expression universe.
>> > It's csound-ir [1]. It's for making it easier to use
>> > high quality Impulse responce reverbs.
>> >
>> > It uses Victor's zconv algorithm.
>> >
>> > Right now it can load two collections from the samplicity web site:
>> >
>> > * Bricasti M7 (M7) free
>> >
>> > * TCE System 6000 (T6) non-free
>> >
>> > ## Install
>> >
>> > 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.
>> >
>> > More to know on library at the github repo:
>> >
>> > [1] https://github.com/spell-music/csound-ir
>> >
>> > Csound mailing list Csound@listserv.heanet.ie
>> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>> > https://github.com/csound/csound/issues Discussions of bugs and features
>> > can
>> > be posted here
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
>
> Csound mailing list Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here


Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here