Csound Csound-dev Csound-tekno Search About

[Csnd] Code Share: Synthetic IR for convolution reverb

Date2020-07-09 12:03
FromSteven Yi
Subject[Csnd] Code Share: Synthetic IR for convolution reverb
AttachmentsIRGen.csd  test.csd  
Hi All,

I rarely do much with convolution but thought I'd try out generating some IRs for convolution reverb after watching this video:


I put together a simple IR generator CSD (attached as IRGen.csd) that I ran twice to produce two separate impulse responses for left and right.  The generator uses pink noise that uses a time-varying cutoff with a 2pole filter and amplitude envelope to shape the response.

A test.csd is also attached that uses pconvolve to perform the convolution.

To run it locally, run:

csound IRGen.csd
csound IRGen.csd -o "impulse_response2.wav"

to generate the responses then use:

csound test.csd

to run the test.

The reverb has a bit of a nice synthetic lush quality to my ear (more of an effect vs. a modeled room). It's very much informally coded with values derived by trial and error. Lots more to implement (e.g., pre-delay, different generation algorithms) and I haven't done much yet to explore further (e.g., what ReaVerb uses in Reaper, other prior research) but I thought I'd share a fun morning's exploration in case it sparks some interest and someone wanted to have some code to start out with.

Cheers!
Steven


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

Date2020-07-09 14:38
From"Dr. Richard Boulanger"
SubjectRe: [Csnd] Code Share: Synthetic IR for convolution reverb
Thanks Steven!  Super helpful and will be featured in my teaching.

Dr. Richard Boulanger
Professor
Electronic Production and Design
Berklee College of Music

On Jul 9, 2020, at 7:04 AM, Steven Yi <stevenyi@gmail.com> wrote:


Hi All,

I rarely do much with convolution but thought I'd try out generating some IRs for convolution reverb after watching this video:


I put together a simple IR generator CSD (attached as IRGen.csd) that I ran twice to produce two separate impulse responses for left and right.  The generator uses pink noise that uses a time-varying cutoff with a 2pole filter and amplitude envelope to shape the response.

A test.csd is also attached that uses pconvolve to perform the convolution.

To run it locally, run:

csound IRGen.csd
csound IRGen.csd -o "impulse_response2.wav"

to generate the responses then use:

csound test.csd

to run the test.

The reverb has a bit of a nice synthetic lush quality to my ear (more of an effect vs. a modeled room). It's very much informally coded with values derived by trial and error. Lots more to implement (e.g., pre-delay, different generation algorithms) and I haven't done much yet to explore further (e.g., what ReaVerb uses in Reaper, other prior research) but I thought I'd share a fun morning's exploration in case it sparks some interest and someone wanted to have some code to start out with.

Cheers!
Steven


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
<IRGen.csd>
<test.csd>

Date2020-07-09 17:02
From"Dr. Richard Boulanger"
SubjectRe: [Csnd] Code Share: Synthetic IR for convolution reverb
PS - I love how the test is designed and will let you know if and how it runs on the Bela too!
- my students will LOVE it.  You also inspired me to finally download and start using Reaper
(I know that you use it in your teaching - and that many in the Csound community use it.  It is
pretty intuitive and well designed!  WOW.)

-dB

Dr. Richard Boulanger

Professor of Electronic Production and Design

Berklee College of Music

Professional Writing and Technology Division


On Thu, Jul 9, 2020 at 7:04 AM Steven Yi <stevenyi@gmail.com> wrote:
Hi All,

I rarely do much with convolution but thought I'd try out generating some IRs for convolution reverb after watching this video:


I put together a simple IR generator CSD (attached as IRGen.csd) that I ran twice to produce two separate impulse responses for left and right.  The generator uses pink noise that uses a time-varying cutoff with a 2pole filter and amplitude envelope to shape the response.

A test.csd is also attached that uses pconvolve to perform the convolution.

To run it locally, run:

csound IRGen.csd
csound IRGen.csd -o "impulse_response2.wav"

to generate the responses then use:

csound test.csd

to run the test.

The reverb has a bit of a nice synthetic lush quality to my ear (more of an effect vs. a modeled room). It's very much informally coded with values derived by trial and error. Lots more to implement (e.g., pre-delay, different generation algorithms) and I haven't done much yet to explore further (e.g., what ReaVerb uses in Reaper, other prior research) but I thought I'd share a fun morning's exploration in case it sparks some interest and someone wanted to have some code to start out with.

Cheers!
Steven


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

Date2020-07-10 14:08
From"Dr. Richard Boulanger"
SubjectRe: [Csnd] Code Share: Synthetic IR for convolution reverb
AttachmentsCreating Impulse Responses- To Bang or To Sweep.webloc  
Now... you need to do a sine-sweep deconvolution model CSD/utility so that we can synthesize, bang or sweep with Csound. ;-)



Dr. Richard Boulanger

Professor of Electronic Production and Design

Berklee College of Music

Professional Writing and Technology Division


skype: radiobaton 

facebook: https://www.facebook.com/richard.boulanger.58

about: http://www.boulangerlabs.com/#about

about: http://www.csounds.com/community/developers/dr-richard-boulanger/

music: http://www.csounds.com/community/developers/dr-richard-boulanger/dr-richard-boulanger-music/

Boulanger Labs - http://boulangerlabs.com

The Csound Book http://mitpress.mit.edu/books/csound-book

The Audio Programming Book - http://mitpress.mit.edu/books/audio-programming-book



On Thu, Jul 9, 2020 at 7:04 AM Steven Yi <stevenyi@gmail.com> wrote:
Hi All,

I rarely do much with convolution but thought I'd try out generating some IRs for convolution reverb after watching this video:


I put together a simple IR generator CSD (attached as IRGen.csd) that I ran twice to produce two separate impulse responses for left and right.  The generator uses pink noise that uses a time-varying cutoff with a 2pole filter and amplitude envelope to shape the response.

A test.csd is also attached that uses pconvolve to perform the convolution.

To run it locally, run:

csound IRGen.csd
csound IRGen.csd -o "impulse_response2.wav"

to generate the responses then use:

csound test.csd

to run the test.

The reverb has a bit of a nice synthetic lush quality to my ear (more of an effect vs. a modeled room). It's very much informally coded with values derived by trial and error. Lots more to implement (e.g., pre-delay, different generation algorithms) and I haven't done much yet to explore further (e.g., what ReaVerb uses in Reaper, other prior research) but I thought I'd share a fun morning's exploration in case it sparks some interest and someone wanted to have some code to start out with.

Cheers!
Steven


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

Date2020-07-14 09:30
FromRory Walsh
SubjectRe: [Csnd] Code Share: Synthetic IR for convolution reverb
I'm only getting around to checking this out now. Thanks for sharing. I think I will definitely use this with my students next semester. 

On Fri, 10 Jul 2020 at 14:08, Dr. Richard Boulanger <rboulanger@berklee.edu> wrote:
Now... you need to do a sine-sweep deconvolution model CSD/utility so that we can synthesize, bang or sweep with Csound. ;-)



Dr. Richard Boulanger

Professor of Electronic Production and Design

Berklee College of Music

Professional Writing and Technology Division


skype: radiobaton 

facebook: https://www.facebook.com/richard.boulanger.58

about: http://www.boulangerlabs.com/#about

about: http://www.csounds.com/community/developers/dr-richard-boulanger/

music: http://www.csounds.com/community/developers/dr-richard-boulanger/dr-richard-boulanger-music/

Boulanger Labs - http://boulangerlabs.com

The Csound Book http://mitpress.mit.edu/books/csound-book

The Audio Programming Book - http://mitpress.mit.edu/books/audio-programming-book



On Thu, Jul 9, 2020 at 7:04 AM Steven Yi <stevenyi@gmail.com> wrote:
Hi All,

I rarely do much with convolution but thought I'd try out generating some IRs for convolution reverb after watching this video:


I put together a simple IR generator CSD (attached as IRGen.csd) that I ran twice to produce two separate impulse responses for left and right.  The generator uses pink noise that uses a time-varying cutoff with a 2pole filter and amplitude envelope to shape the response.

A test.csd is also attached that uses pconvolve to perform the convolution.

To run it locally, run:

csound IRGen.csd
csound IRGen.csd -o "impulse_response2.wav"

to generate the responses then use:

csound test.csd

to run the test.

The reverb has a bit of a nice synthetic lush quality to my ear (more of an effect vs. a modeled room). It's very much informally coded with values derived by trial and error. Lots more to implement (e.g., pre-delay, different generation algorithms) and I haven't done much yet to explore further (e.g., what ReaVerb uses in Reaper, other prior research) but I thought I'd share a fun morning's exploration in case it sparks some interest and someone wanted to have some code to start out with.

Cheers!
Steven


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

Date2020-07-22 09:27
Fromjoachim heintz
SubjectRe: [Csnd] Code Share: Synthetic IR for convolution reverb
thanks so much for sharing this steven!  i find it very inspiring and 
you showed which workflow can be established.  so definitely "it sparks 
some interest and someone wanted to have some code to start out with" ...

cheers -
	j



On 09/07/2020 13:03, Steven Yi wrote:
> Hi All,
> 
> I rarely do much with convolution but thought I'd try out generating 
> some IRs for convolution reverb after watching this video:
> 
> https://www.youtube.com/watch?v=Englz96gnqM
> 
> I put together a simple IR generator CSD (attached as IRGen.csd) that I 
> ran twice to produce two separate impulse responses for left and right.  
> The generator uses pink noise that uses a time-varying cutoff with a 
> 2pole filter and amplitude envelope to shape the response.
> 
> A test.csd is also attached that uses pconvolve to perform the convolution.
> 
> To run it locally, run:
> 
> csound IRGen.csd
> csound IRGen.csd -o "impulse_response2.wav"
> 
> to generate the responses then use:
> 
> csound test.csd
> 
> to run the test.
> 
> The reverb has a bit of a nice synthetic lush quality to my ear (more of 
> an effect vs. a modeled room). It's very much informally coded with 
> values derived by trial and error. Lots more to implement (e.g., 
> pre-delay, different generation algorithms) and I haven't done much yet 
> to explore further (e.g., what ReaVerb uses in Reaper, other prior 
> research) but I thought I'd share a fun morning's exploration in case it 
> sparks some interest and someone wanted to have some code to start out with.
> 
> Cheers!
> Steven
> 
> 
> 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

Date2020-08-02 18:51
Fromjoachim heintz
SubjectRe: [Csnd] Code Share: Synthetic IR for convolution reverb
Attachments200802_impgen2.csd  
i extended steven's example to a workflow in csoundqt which lets us
1. listen to an impulse response
2. write down as file
3. use it immediately to check the final result.

for 1, i used the beta parameter in the noise opcode to change the noise 
color.  this could be extended in many ways.

thanks again to steven for the inspiration!

	joachim



On 22/07/2020 10:27, joachim heintz wrote:
> thanks so much for sharing this steven!  i find it very inspiring and 
> you showed which workflow can be established.  so definitely "it sparks 
> some interest and someone wanted to have some code to start out with" ...
> 
> cheers -
>      j
> 
> 
> 
> On 09/07/2020 13:03, Steven Yi wrote:
>> Hi All,
>>
>> I rarely do much with convolution but thought I'd try out generating 
>> some IRs for convolution reverb after watching this video:
>>
>> https://www.youtube.com/watch?v=Englz96gnqM
>>
>> I put together a simple IR generator CSD (attached as IRGen.csd) that 
>> I ran twice to produce two separate impulse responses for left and 
>> right. The generator uses pink noise that uses a time-varying cutoff 
>> with a 2pole filter and amplitude envelope to shape the response.
>>
>> A test.csd is also attached that uses pconvolve to perform the 
>> convolution.
>>
>> To run it locally, run:
>>
>> csound IRGen.csd
>> csound IRGen.csd -o "impulse_response2.wav"
>>
>> to generate the responses then use:
>>
>> csound test.csd
>>
>> to run the test.
>>
>> The reverb has a bit of a nice synthetic lush quality to my ear (more 
>> of an effect vs. a modeled room). It's very much informally coded with 
>> values derived by trial and error. Lots more to implement (e.g., 
>> pre-delay, different generation algorithms) and I haven't done much 
>> yet to explore further (e.g., what ReaVerb uses in Reaper, other prior 
>> research) but I thought I'd share a fun morning's exploration in case 
>> it sparks some interest and someone wanted to have some code to start 
>> out with.
>>
>> Cheers!
>> Steven
>>
>>
>> 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

Date2020-08-03 06:19
From"Dr. Richard Boulanger"
SubjectRe: [Csnd] Code Share: Synthetic IR for convolution reverb
Joachim,

WOW - wonderful.  

Can't wait to share with my DSP students this Tuesday!

I do hope that this instrument will be added to the Examples Menu in the next CsoundQt release!
THANKS for making it.

My questions for you and for Csounders is:
How might one create a similar utility/example that makes IRs from SineSweeps?
- Having an example instrument in CsoundQt for comparison would be amazingly useful and educational too! 
- As you might know, It is possible in Logic (they have an IR designer too for use with Space Designer).
- As you might know, it is possible in Live - There is a Max for Live IR Measurement Device plugin

I usually show my DSP students all of these Colored/Filtered Exponentially Decaying noise IRs and Universal Convolution things in Csound 
and then switch over to Live and Logic to show them how to do SineSweep Impulses.

I think that I recall us having some opcodes that might do this, but I am not sure that they would Deconvolve or time-align the swept-sine-generated impulse?

I usually hand out this article and we watch (some of these videos too)






Dr. Richard Boulanger

Professor of Electronic Production and Design

Berklee College of Music

Professional Writing and Technology Division


skype: radiobaton 

facebook: https://www.facebook.com/richard.boulanger.58

about: http://www.boulangerlabs.com/#about

about: http://www.csounds.com/community/developers/dr-richard-boulanger/

music: http://www.csounds.com/community/developers/dr-richard-boulanger/dr-richard-boulanger-music/

Boulanger Labs - http://boulangerlabs.com

The Csound Book http://mitpress.mit.edu/books/csound-book

The Audio Programming Book - http://mitpress.mit.edu/books/audio-programming-book



On Sun, Aug 2, 2020 at 1:52 PM joachim heintz <jh@joachimheintz.de> wrote:
i extended steven's example to a workflow in csoundqt which lets us
1. listen to an impulse response
2. write down as file
3. use it immediately to check the final result.

for 1, i used the beta parameter in the noise opcode to change the noise
color.  this could be extended in many ways.

thanks again to steven for the inspiration!

        joachim



On 22/07/2020 10:27, joachim heintz wrote:
> thanks so much for sharing this steven!  i find it very inspiring and
> you showed which workflow can be established.  so definitely "it sparks
> some interest and someone wanted to have some code to start out with" ...
>
> cheers -
>      j
>
>
>
> On 09/07/2020 13:03, Steven Yi wrote:
>> Hi All,
>>
>> I rarely do much with convolution but thought I'd try out generating
>> some IRs for convolution reverb after watching this video:
>>
>> https://us-west-2.protection.sophos.com?d=youtube.com&u=aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1Fbmdsejk2Z25xTQ==&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=bTc0d2w1bHhacWVndUZkam01UTZuOFd0UzdDdXI1eTJMK2dKNk9ERFdaMD0=&h=0d947af1989640cf8a6b164f80dde72c
>>
>> I put together a simple IR generator CSD (attached as IRGen.csd) that
>> I ran twice to produce two separate impulse responses for left and
>> right. The generator uses pink noise that uses a time-varying cutoff
>> with a 2pole filter and amplitude envelope to shape the response.
>>
>> A test.csd is also attached that uses pconvolve to perform the
>> convolution.
>>
>> To run it locally, run:
>>
>> csound IRGen.csd
>> csound IRGen.csd -o "impulse_response2.wav"
>>
>> to generate the responses then use:
>>
>> csound test.csd
>>
>> to run the test.
>>
>> The reverb has a bit of a nice synthetic lush quality to my ear (more
>> of an effect vs. a modeled room). It's very much informally coded with
>> values derived by trial and error. Lots more to implement (e.g.,
>> pre-delay, different generation algorithms) and I haven't done much
>> yet to explore further (e.g., what ReaVerb uses in Reaper, other prior
>> research) but I thought I'd share a fun morning's exploration in case
>> it sparks some interest and someone wanted to have some code to start
>> out with.
>>
>> Cheers!
>> Steven
>>
>>
>> Csound mailing list Csound@listserv.heanet.ie
>> <mailto:Csound@listserv.heanet.ie>
>> https://us-west-2.protection.sophos.com?d=heanet.ie&u=aHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=V2MrMzVGMU1BZEZaZ1lZck9kUnhTTC9YN1BHMnUxSDd4THhWY0dLeURxYz0=&h=0d947af1989640cf8a6b164f80dde72c Send bugs reports to
>> https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=cWpnbGx6KzZUci9yQkZQMDNaTDdyZFdzK1l1WDE0TVhzOXR1dHltRUx5RT0=&h=0d947af1989640cf8a6b164f80dde72c Discussions of bugs and
>> features can be posted here
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://us-west-2.protection.sophos.com?d=heanet.ie&u=aHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=V2MrMzVGMU1BZEZaZ1lZck9kUnhTTC9YN1BHMnUxSDd4THhWY0dLeURxYz0=&h=0d947af1989640cf8a6b164f80dde72c
> Send bugs reports to
>         https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=cWpnbGx6KzZUci9yQkZQMDNaTDdyZFdzK1l1WDE0TVhzOXR1dHltRUx5RT0=&h=0d947af1989640cf8a6b164f80dde72c
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://us-west-2.protection.sophos.com?d=heanet.ie&u=aHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=V2MrMzVGMU1BZEZaZ1lZck9kUnhTTC9YN1BHMnUxSDd4THhWY0dLeURxYz0=&h=0d947af1989640cf8a6b164f80dde72c
Send bugs reports to
        https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=cWpnbGx6KzZUci9yQkZQMDNaTDdyZFdzK1l1WDE0TVhzOXR1dHltRUx5RT0=&h=0d947af1989640cf8a6b164f80dde72c
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

Date2020-08-03 14:23
Fromjoachim heintz
SubjectRe: [Csnd] Code Share: Synthetic IR for convolution reverb
thanks, richard, for the feedback.  i have added the example in the 
sources (under Miscellaneous).

i followed the links, and if i got it right, the goal is quite different 
from what i tried (following steven and the reaper video he was 
referring to).  no idea about that.

best -
	joachim


On 03/08/2020 07:19, Dr. Richard Boulanger wrote:
> Joachim,
> 
> WOW - wonderful.
> 
> Can't wait to share with my DSP students this Tuesday!
> 
> I do hope that this instrument will be added to the Examples Menu in the 
> next CsoundQt release!
> THANKS for making it.
> 
> My questions for you and for Csounders is:
> How might one create a similar utility/example that makes IRs from 
> SineSweeps?
> - Having an example instrument in CsoundQt for comparison would be 
> amazingly useful and educational too!
> - As you might know, It is possible in Logic (they have an IR designer 
> too for use with Space Designer).
> - As you might know, it is possible in Live - There is a Max for Live IR 
> Measurement Device plugin
> 
> I usually show my DSP students all of these Colored/Filtered 
> Exponentially Decaying noise IRs and Universal Convolution things in Csound
> and then switch over to Live and Logic to show them how to do SineSweep 
> Impulses.
> 
> I think that I recall us having some opcodes that might do this, but I 
> am not sure that they would Deconvolve or time-align the 
> swept-sine-generated impulse?
> 
> I usually hand out this article and we watch (some of these videos too)
> 
> https://www.avosound.com/en-us/tutorials/create-impulse-responses/basics-create-impulse-responses
> 
> https://ask.audio/articles/create-your-own-impulse-responses-in-ableton-live-9
> 
> https://www.youtube.com/watch?v=1egKAtC16e8
> 
> https://www.youtube.com/watch?v=BLKWy-U6iQY
> 
> 
> *Dr. Richard Boulanger*
> 
> *Professor of Electronic Production and Design*
> 
> *Berklee College of Music*
> 
> Professional Writing and Technology Division*
> *
> 
> 
> *skype*:radiobaton
> 
> *facebook*:https://www.facebook.com/richard.boulanger.58
> 
> *about*:http://www.boulangerlabs.com/#about
> 
> *about*:http://www.csounds.com/community/developers/dr-richard-boulanger/
> 
> *music*:http://www.csounds.com/community/developers/dr-richard-boulanger/dr-richard-boulanger-music/
> 
> *Boulanger Labs* - http://boulangerlabs.com 
> 
> *The Csound Book*- http://mitpress.mit.edu/books/csound-book
> 
> *The Audio Programming Book* - 
> http://mitpress.mit.edu/books/audio-programming-book
> 
> 
> 
> On Sun, Aug 2, 2020 at 1:52 PM joachim heintz  > wrote:
> 
>     i extended steven's example to a workflow in csoundqt which lets us
>     1. listen to an impulse response
>     2. write down as file
>     3. use it immediately to check the final result.
> 
>     for 1, i used the beta parameter in the noise opcode to change the
>     noise
>     color.  this could be extended in many ways.
> 
>     thanks again to steven for the inspiration!
> 
>              joachim
> 
> 
> 
>     On 22/07/2020 10:27, joachim heintz wrote:
>      > thanks so much for sharing this steven!  i find it very inspiring
>     and
>      > you showed which workflow can be established.  so definitely "it
>     sparks
>      > some interest and someone wanted to have some code to start out
>     with" ...
>      >
>      > cheers -
>      >      j
>      >
>      >
>      >
>      > On 09/07/2020 13:03, Steven Yi wrote:
>      >> Hi All,
>      >>
>      >> I rarely do much with convolution but thought I'd try out
>     generating
>      >> some IRs for convolution reverb after watching this video:
>      >>
>      >>
>     https://us-west-2.protection.sophos.com?d=youtube.com&u=aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1Fbmdsejk2Z25xTQ==&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=bTc0d2w1bHhacWVndUZkam01UTZuOFd0UzdDdXI1eTJMK2dKNk9ERFdaMD0=&h=0d947af1989640cf8a6b164f80dde72c
>      >>
>      >> I put together a simple IR generator CSD (attached as IRGen.csd)
>     that
>      >> I ran twice to produce two separate impulse responses for left and
>      >> right. The generator uses pink noise that uses a time-varying
>     cutoff
>      >> with a 2pole filter and amplitude envelope to shape the response.
>      >>
>      >> A test.csd is also attached that uses pconvolve to perform the
>      >> convolution.
>      >>
>      >> To run it locally, run:
>      >>
>      >> csound IRGen.csd
>      >> csound IRGen.csd -o "impulse_response2.wav"
>      >>
>      >> to generate the responses then use:
>      >>
>      >> csound test.csd
>      >>
>      >> to run the test.
>      >>
>      >> The reverb has a bit of a nice synthetic lush quality to my ear
>     (more
>      >> of an effect vs. a modeled room). It's very much informally
>     coded with
>      >> values derived by trial and error. Lots more to implement (e.g.,
>      >> pre-delay, different generation algorithms) and I haven't done much
>      >> yet to explore further (e.g., what ReaVerb uses in Reaper, other
>     prior
>      >> research) but I thought I'd share a fun morning's exploration in
>     case
>      >> it sparks some interest and someone wanted to have some code to
>     start
>      >> out with.
>      >>
>      >> Cheers!
>      >> Steven
>      >>
>      >>
>      >> Csound mailing list Csound@listserv.heanet.ie
>     
>      >>      >
>      >>
>     https://us-west-2.protection.sophos.com?d=heanet.ie&u=aHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=V2MrMzVGMU1BZEZaZ1lZck9kUnhTTC9YN1BHMnUxSDd4THhWY0dLeURxYz0=&h=0d947af1989640cf8a6b164f80dde72c
>     Send bugs reports to
>      >>
>     https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=cWpnbGx6KzZUci9yQkZQMDNaTDdyZFdzK1l1WDE0TVhzOXR1dHltRUx5RT0=&h=0d947af1989640cf8a6b164f80dde72c
>     Discussions of bugs and
>      >> features can be posted here
>      >
>      > Csound mailing list
>      > Csound@listserv.heanet.ie 
>      >
>     https://us-west-2.protection.sophos.com?d=heanet.ie&u=aHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=V2MrMzVGMU1BZEZaZ1lZck9kUnhTTC9YN1BHMnUxSDd4THhWY0dLeURxYz0=&h=0d947af1989640cf8a6b164f80dde72c
>      > Send bugs reports to
>      >
>     https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=cWpnbGx6KzZUci9yQkZQMDNaTDdyZFdzK1l1WDE0TVhzOXR1dHltRUx5RT0=&h=0d947af1989640cf8a6b164f80dde72c
>      > Discussions of bugs and features can be posted here
> 
>     Csound mailing list
>     Csound@listserv.heanet.ie 
>     https://us-west-2.protection.sophos.com?d=heanet.ie&u=aHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=V2MrMzVGMU1BZEZaZ1lZck9kUnhTTC9YN1BHMnUxSDd4THhWY0dLeURxYz0=&h=0d947af1989640cf8a6b164f80dde72c
>     Send bugs reports to
>     https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=cWpnbGx6KzZUci9yQkZQMDNaTDdyZFdzK1l1WDE0TVhzOXR1dHltRUx5RT0=&h=0d947af1989640cf8a6b164f80dde72c
>     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

Date2020-08-03 15:30
From"Dr. Richard Boulanger"
SubjectRe: [Csnd] Code Share: Synthetic IR for convolution reverb
Wonderful!  Glad it's there.  It will be huge.

Yes, sine sweeps are a totally different approach and an equally important and magical one.  

Maybe we need an opcode?

Imagine if one of the developers wrote a book about spectral stuff?  Maybe there would be a chapter in there on this technique. ;-)

Dr. Richard Boulanger
Professor
Electronic Production and Design
Berklee College of Music

> On Aug 3, 2020, at 9:23 AM, joachim heintz  wrote:
> 
> thanks, richard, for the feedback.  i have added the example in the sources (under Miscellaneous).
> 
> i followed the links, and if i got it right, the goal is quite different from what i tried (following steven and the reaper video he was referring to).  no idea about that.
> 
> best -
>    joachim
> 
> 
>> On 03/08/2020 07:19, Dr. Richard Boulanger wrote:
>> Joachim,
>> WOW - wonderful.
>> Can't wait to share with my DSP students this Tuesday!
>> I do hope that this instrument will be added to the Examples Menu in the next CsoundQt release!
>> THANKS for making it.
>> My questions for you and for Csounders is:
>> How might one create a similar utility/example that makes IRs from SineSweeps?
>> - Having an example instrument in CsoundQt for comparison would be amazingly useful and educational too!
>> - As you might know, It is possible in Logic (they have an IR designer too for use with Space Designer).
>> - As you might know, it is possible in Live - There is a Max for Live IR Measurement Device plugin
>> I usually show my DSP students all of these Colored/Filtered Exponentially Decaying noise IRs and Universal Convolution things in Csound
>> and then switch over to Live and Logic to show them how to do SineSweep Impulses.
>> I think that I recall us having some opcodes that might do this, but I am not sure that they would Deconvolve or time-align the swept-sine-generated impulse?
>> I usually hand out this article and we watch (some of these videos too)
>> https://us-west-2.protection.sophos.com?d=avosound.com&u=aHR0cHM6Ly93d3cuYXZvc291bmQuY29tL2VuLXVzL3R1dG9yaWFscy9jcmVhdGUtaW1wdWxzZS1yZXNwb25zZXMvYmFzaWNzLWNyZWF0ZS1pbXB1bHNlLXJlc3BvbnNlcw==&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=MW50VDlwR3JGaGtGbDFUTWk3TzF4Z1g5VXBRS3lleVVCZ1ZTdk5YZ1JaUT0=&h=613f6f421298412ebb25ce26dff10285
>> https://us-west-2.protection.sophos.com?d=ask.audio&u=aHR0cHM6Ly9hc2suYXVkaW8vYXJ0aWNsZXMvY3JlYXRlLXlvdXItb3duLWltcHVsc2UtcmVzcG9uc2VzLWluLWFibGV0b24tbGl2ZS05&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=SmpTa2tCck54c05mVU5rUWhocjNteUlheGREVEFQWFFaVlJ4Y0o1RFRZWT0=&h=613f6f421298412ebb25ce26dff10285
>> https://us-west-2.protection.sophos.com?d=youtube.com&u=aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj0xZWdLQXRDMTZlOA==&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=dnVpV1NJMVZCc1hpS0x6eHhYT3JXNEtHdldFOFBFRmtXcGNFVWZtUjBYcz0=&h=613f6f421298412ebb25ce26dff10285
>> https://us-west-2.protection.sophos.com?d=youtube.com&u=aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1CTEtXeS1VNmlRWQ==&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=TlJzdFVOeklGQ3c2bTVOcmZITVQveWs0VXBlM0g2dGtsN0dmMU82S2J1RT0=&h=613f6f421298412ebb25ce26dff10285
>> *Dr. Richard Boulanger*
>> *Professor of Electronic Production and Design*
>> *Berklee College of Music*
>> Professional Writing and Technology Division*
>> *
>> *skype*:radiobaton
>> *facebook*:https://us-west-2.protection.sophos.com?d=facebook.com&u=aHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3JpY2hhcmQuYm91bGFuZ2VyLjU4&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=dFpoUWN0VERoTVBUYUM2WDhTV2dqeUdUZlM0blFnaE5WZlZEOUVhZ2g3UT0=&h=613f6f421298412ebb25ce26dff10285
>> *about*:https://us-west-2.protection.sophos.com?d=boulangerlabs.com&u=aHR0cDovL3d3dy5ib3VsYW5nZXJsYWJzLmNvbS8jYWJvdXQ=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=MlRWM1lhcFVGWU9RYVRJSDJjcmhyYklycTV0YS9OTlZjMVloL0RyMVNTND0=&h=613f6f421298412ebb25ce26dff10285
>> *about*:https://us-west-2.protection.sophos.com?d=csounds.com&u=aHR0cDovL3d3dy5jc291bmRzLmNvbS9jb21tdW5pdHkvZGV2ZWxvcGVycy9kci1yaWNoYXJkLWJvdWxhbmdlci8=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=MXRHckxOY3VyS2FWN1FnMGRFS3JzRWVSdmlac0kyY2tFc0VBa0pFQ0duMD0=&h=613f6f421298412ebb25ce26dff10285
>> *music*:https://us-west-2.protection.sophos.com?d=csounds.com&u=aHR0cDovL3d3dy5jc291bmRzLmNvbS9jb21tdW5pdHkvZGV2ZWxvcGVycy9kci1yaWNoYXJkLWJvdWxhbmdlci9kci1yaWNoYXJkLWJvdWxhbmdlci1tdXNpYy8=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=RjNYNDRLUnp6VTFjYm1uU0c0WGp4NitoOFNCUVpha09iRURPRUFKZlAvZz0=&h=613f6f421298412ebb25ce26dff10285
>> *Boulanger Labs* - https://us-west-2.protection.sophos.com?d=boulangerlabs.com&u=aHR0cDovL2JvdWxhbmdlcmxhYnMuY29t&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=TzFEWnRNSFE1ZGRUcEZpekZ2Y2RPdnBpdGQzN0tBazFWUFR4bzlFV3RGaz0=&h=613f6f421298412ebb25ce26dff10285 
>> *The Csound Book*- https://us-west-2.protection.sophos.com?d=mit.edu&u=aHR0cDovL21pdHByZXNzLm1pdC5lZHUvYm9va3MvY3NvdW5kLWJvb2s=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=M1JURlByYlBreStTQk85UEtVTWpwNU1PcXFyeWMvcmVoSkFtZTF1VTlNdz0=&h=613f6f421298412ebb25ce26dff10285
>> *The Audio Programming Book* - https://us-west-2.protection.sophos.com?d=mit.edu&u=aHR0cDovL21pdHByZXNzLm1pdC5lZHUvYm9va3MvYXVkaW8tcHJvZ3JhbW1pbmctYm9vaw==&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=SHM4cWI4V0Fxa1RIZG5FUEtaU0RDNUhpZndZSUs5aEUzWlRwcndoMkNMWT0=&h=613f6f421298412ebb25ce26dff10285
>> On Sun, Aug 2, 2020 at 1:52 PM joachim heintz > wrote:
>>    i extended steven's example to a workflow in csoundqt which lets us
>>    1. listen to an impulse response
>>    2. write down as file
>>    3. use it immediately to check the final result.
>>    for 1, i used the beta parameter in the noise opcode to change the
>>    noise
>>    color.  this could be extended in many ways.
>>    thanks again to steven for the inspiration!
>>             joachim
>>    On 22/07/2020 10:27, joachim heintz wrote:
>>     > thanks so much for sharing this steven!  i find it very inspiring
>>    and
>>     > you showed which workflow can be established.  so definitely "it
>>    sparks
>>     > some interest and someone wanted to have some code to start out
>>    with" ...
>>     >
>>     > cheers -
>>     >      j
>>     >
>>     >
>>     >
>>     > On 09/07/2020 13:03, Steven Yi wrote:
>>     >> Hi All,
>>     >>
>>     >> I rarely do much with convolution but thought I'd try out
>>    generating
>>     >> some IRs for convolution reverb after watching this video:
>>     >>
>>     >>
>>    https://us-west-2.protection.sophos.com?d=youtube.com&u=aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1Fbmdsejk2Z25xTQ==&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=bTc0d2w1bHhacWVndUZkam01UTZuOFd0UzdDdXI1eTJMK2dKNk9ERFdaMD0=&h=0d947af1989640cf8a6b164f80dde72c
>>     >>
>>     >> I put together a simple IR generator CSD (attached as IRGen.csd)
>>    that
>>     >> I ran twice to produce two separate impulse responses for left and
>>     >> right. The generator uses pink noise that uses a time-varying
>>    cutoff
>>     >> with a 2pole filter and amplitude envelope to shape the response.
>>     >>
>>     >> A test.csd is also attached that uses pconvolve to perform the
>>     >> convolution.
>>     >>
>>     >> To run it locally, run:
>>     >>
>>     >> csound IRGen.csd
>>     >> csound IRGen.csd -o "impulse_response2.wav"
>>     >>
>>     >> to generate the responses then use:
>>     >>
>>     >> csound test.csd
>>     >>
>>     >> to run the test.
>>     >>
>>     >> The reverb has a bit of a nice synthetic lush quality to my ear
>>    (more
>>     >> of an effect vs. a modeled room). It's very much informally
>>    coded with
>>     >> values derived by trial and error. Lots more to implement (e.g.,
>>     >> pre-delay, different generation algorithms) and I haven't done much
>>     >> yet to explore further (e.g., what ReaVerb uses in Reaper, other
>>    prior
>>     >> research) but I thought I'd share a fun morning's exploration in
>>    case
>>     >> it sparks some interest and someone wanted to have some code to
>>    start
>>     >> out with.
>>     >>
>>     >> Cheers!
>>     >> Steven
>>     >>
>>     >>
>>     >> Csound mailing list Csound@listserv.heanet.ie
>>    
>>     >> >    >
>>     >>
>>    https://us-west-2.protection.sophos.com?d=heanet.ie&u=aHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=V2MrMzVGMU1BZEZaZ1lZck9kUnhTTC9YN1BHMnUxSDd4THhWY0dLeURxYz0=&h=0d947af1989640cf8a6b164f80dde72c
>>    Send bugs reports to
>>     >>
>>    https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=cWpnbGx6KzZUci9yQkZQMDNaTDdyZFdzK1l1WDE0TVhzOXR1dHltRUx5RT0=&h=0d947af1989640cf8a6b164f80dde72c
>>    Discussions of bugs and
>>     >> features can be posted here
>>     >
>>     > Csound mailing list
>>     > Csound@listserv.heanet.ie 
>>     >
>>    https://us-west-2.protection.sophos.com?d=heanet.ie&u=aHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=V2MrMzVGMU1BZEZaZ1lZck9kUnhTTC9YN1BHMnUxSDd4THhWY0dLeURxYz0=&h=0d947af1989640cf8a6b164f80dde72c
>>     > Send bugs reports to
>>     >
>>    https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=cWpnbGx6KzZUci9yQkZQMDNaTDdyZFdzK1l1WDE0TVhzOXR1dHltRUx5RT0=&h=0d947af1989640cf8a6b164f80dde72c
>>     > Discussions of bugs and features can be posted here
>>    Csound mailing list
>>    Csound@listserv.heanet.ie 
>>    https://us-west-2.protection.sophos.com?d=heanet.ie&u=aHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=V2MrMzVGMU1BZEZaZ1lZck9kUnhTTC9YN1BHMnUxSDd4THhWY0dLeURxYz0=&h=0d947af1989640cf8a6b164f80dde72c
>>    Send bugs reports to
>>    https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=cWpnbGx6KzZUci9yQkZQMDNaTDdyZFdzK1l1WDE0TVhzOXR1dHltRUx5RT0=&h=0d947af1989640cf8a6b164f80dde72c
>>    Discussions of bugs and features can be posted here
>> Csound mailing list Csound@listserv.heanet.ie  https://us-west-2.protection.sophos.com?d=heanet.ie&u=aHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=V2MrMzVGMU1BZEZaZ1lZck9kUnhTTC9YN1BHMnUxSDd4THhWY0dLeURxYz0=&h=613f6f421298412ebb25ce26dff10285 Send bugs reports to https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=cWpnbGx6KzZUci9yQkZQMDNaTDdyZFdzK1l1WDE0TVhzOXR1dHltRUx5RT0=&h=613f6f421298412ebb25ce26dff10285 Discussions of bugs and features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://us-west-2.protection.sophos.com?d=heanet.ie&u=aHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ=&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=V2MrMzVGMU1BZEZaZ1lZck9kUnhTTC9YN1BHMnUxSDd4THhWY0dLeURxYz0=&h=613f6f421298412ebb25ce26dff10285
> Send bugs reports to
>       https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz&e=cmJvdWxhbmdlckBiZXJrbGVlLmVkdQ==&t=cWpnbGx6KzZUci9yQkZQMDNaTDdyZFdzK1l1WDE0TVhzOXR1dHltRUx5RT0=&h=613f6f421298412ebb25ce26dff10285
> 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

Date2020-08-04 10:09
FromRichard Dobson
SubjectRe: [Csnd] Code Share: Synthetic IR for convolution reverb
On the subject of IR responses, swept sine etc: users working with 
B-Format might be amused to try out the 1st-order responses recorded 
inside the spherical Darkside 50 detector at Gran Sasso:

http://www.rwdobson.com/sspaces/sciencespaces.html

It's a 39MB download, 48Khz 24bit files.

Richard Dobson


On 03/08/2020 15:30, Dr. Richard Boulanger wrote:
> Wonderful!  Glad it's there.  It will be huge.
> 
> Yes, sine sweeps are a totally different approach and an equally important and magical one.
> 
> Maybe we need an opcode?
> 
...

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

Date2020-08-04 12:20
From"Dr. Richard Boulanger"
SubjectRe: [Csnd] Code Share: Synthetic IR for convolution reverb
Thanks for sharing this work and article Richard 

Dr. Richard Boulanger
Professor
Electronic Production and Design
Berklee College of Music

On Jul 9, 2020, at 9:38 AM, Dr. Richard Boulanger <rboulanger@berklee.edu> wrote:

Thanks Steven!  Super helpful and will be featured in my teaching.

Dr. Richard Boulanger
Professor
Electronic Production and Design
Berklee College of Music

On Jul 9, 2020, at 7:04 AM, Steven Yi <stevenyi@gmail.com> wrote:


Hi All,

I rarely do much with convolution but thought I'd try out generating some IRs for convolution reverb after watching this video:


I put together a simple IR generator CSD (attached as IRGen.csd) that I ran twice to produce two separate impulse responses for left and right.  The generator uses pink noise that uses a time-varying cutoff with a 2pole filter and amplitude envelope to shape the response.

A test.csd is also attached that uses pconvolve to perform the convolution.

To run it locally, run:

csound IRGen.csd
csound IRGen.csd -o "impulse_response2.wav"

to generate the responses then use:

csound test.csd

to run the test.

The reverb has a bit of a nice synthetic lush quality to my ear (more of an effect vs. a modeled room). It's very much informally coded with values derived by trial and error. Lots more to implement (e.g., pre-delay, different generation algorithms) and I haven't done much yet to explore further (e.g., what ReaVerb uses in Reaper, other prior research) but I thought I'd share a fun morning's exploration in case it sparks some interest and someone wanted to have some code to start out with.

Cheers!
Steven


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
<IRGen.csd>
<test.csd>

Date2020-08-08 22:13
FromSteven Yi
SubjectRe: [Csnd] Code Share: Synthetic IR for convolution reverb
Hi Joachim,

Thanks for running with this!  I wanted to try this with CsoundQt but it is crashing when I try the example and try to play an audio file. I am using CsoundQt 0.9.8.1, macOS 10.14.6, Csound latest from repo. I'll email you a crash log that has a stack trace.

Thanks,
Steven


On Sun, Aug 2, 2020 at 1:52 PM joachim heintz <jh@joachimheintz.de> wrote:
i extended steven's example to a workflow in csoundqt which lets us
1. listen to an impulse response
2. write down as file
3. use it immediately to check the final result.

for 1, i used the beta parameter in the noise opcode to change the noise
color.  this could be extended in many ways.

thanks again to steven for the inspiration!

        joachim



On 22/07/2020 10:27, joachim heintz wrote:
> thanks so much for sharing this steven!  i find it very inspiring and
> you showed which workflow can be established.  so definitely "it sparks
> some interest and someone wanted to have some code to start out with" ...
>
> cheers -
>      j
>
>
>
> On 09/07/2020 13:03, Steven Yi wrote:
>> Hi All,
>>
>> I rarely do much with convolution but thought I'd try out generating
>> some IRs for convolution reverb after watching this video:
>>
>> https://www.youtube.com/watch?v=Englz96gnqM
>>
>> I put together a simple IR generator CSD (attached as IRGen.csd) that
>> I ran twice to produce two separate impulse responses for left and
>> right. The generator uses pink noise that uses a time-varying cutoff
>> with a 2pole filter and amplitude envelope to shape the response.
>>
>> A test.csd is also attached that uses pconvolve to perform the
>> convolution.
>>
>> To run it locally, run:
>>
>> csound IRGen.csd
>> csound IRGen.csd -o "impulse_response2.wav"
>>
>> to generate the responses then use:
>>
>> csound test.csd
>>
>> to run the test.
>>
>> The reverb has a bit of a nice synthetic lush quality to my ear (more
>> of an effect vs. a modeled room). It's very much informally coded with
>> values derived by trial and error. Lots more to implement (e.g.,
>> pre-delay, different generation algorithms) and I haven't done much
>> yet to explore further (e.g., what ReaVerb uses in Reaper, other prior
>> research) but I thought I'd share a fun morning's exploration in case
>> it sparks some interest and someone wanted to have some code to start
>> out with.
>>
>> Cheers!
>> Steven
>>
>>
>> Csound mailing list Csound@listserv.heanet.ie
>> <mailto: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

Date2020-08-08 22:29
From"Dr. Richard Boulanger"
SubjectRe: [Csnd] Code Share: Synthetic IR for convolution reverb
It worked fantastic for my students and me in last week's DSP and Csound classes.
MacOS 10.14.6. Mojave
CsoundQt-0.9.8.1

Dr. Richard Boulanger




On Sat, Aug 8, 2020 at 5:13 PM Steven Yi <stevenyi@gmail.com> wrote:
Hi Joachim,

Thanks for running with this!  I wanted to try this with CsoundQt but it is crashing when I try the example and try to play an audio file. I am using CsoundQt 0.9.8.1, macOS 10.14.6, Csound latest from repo. I'll email you a crash log that has a stack trace.

Thanks,
Steven


On Sun, Aug 2, 2020 at 1:52 PM joachim heintz <jh@joachimheintz.de> wrote:
i extended steven's example to a workflow in csoundqt which lets us
1. listen to an impulse response
2. write down as file
3. use it immediately to check the final result.

for 1, i used the beta parameter in the noise opcode to change the noise
color.  this could be extended in many ways.

thanks again to steven for the inspiration!

        joachim



On 22/07/2020 10:27, joachim heintz wrote:
> thanks so much for sharing this steven!  i find it very inspiring and
> you showed which workflow can be established.  so definitely "it sparks
> some interest and someone wanted to have some code to start out with" ...
>
> cheers -
>      j
>
>
>
> On 09/07/2020 13:03, Steven Yi wrote:
>> Hi All,
>>
>> I rarely do much with convolution but thought I'd try out generating
>> some IRs for convolution reverb after watching this video:
>>
>> https://www.youtube.com/watch?v=Englz96gnqM
>>
>> I put together a simple IR generator CSD (attached as IRGen.csd) that
>> I ran twice to produce two separate impulse responses for left and
>> right. The generator uses pink noise that uses a time-varying cutoff
>> with a 2pole filter and amplitude envelope to shape the response.
>>
>> A test.csd is also attached that uses pconvolve to perform the
>> convolution.
>>
>> To run it locally, run:
>>
>> csound IRGen.csd
>> csound IRGen.csd -o "impulse_response2.wav"
>>
>> to generate the responses then use:
>>
>> csound test.csd
>>
>> to run the test.
>>
>> The reverb has a bit of a nice synthetic lush quality to my ear (more
>> of an effect vs. a modeled room). It's very much informally coded with
>> values derived by trial and error. Lots more to implement (e.g.,
>> pre-delay, different generation algorithms) and I haven't done much
>> yet to explore further (e.g., what ReaVerb uses in Reaper, other prior
>> research) but I thought I'd share a fun morning's exploration in case
>> it sparks some interest and someone wanted to have some code to start
>> out with.
>>
>> Cheers!
>> Steven
>>
>>
>> Csound mailing list Csound@listserv.heanet.ie
>> <mailto: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