Csound Csound-dev Csound-tekno Search About

[Csnd] Impulse response question

Date2025-03-13 16:25
FromDave Seidel
Subject[Csnd] Impulse response question
Has anyone written code to create an impulse response (IR) in Csound? I'm interested in synthetic or procedurally-generated IRs versus IRs based on actual physical spaces. This could be a very interesting capability in conjunction with liveconv especially if it could be done in real time (or close to realtime).

Oeyvind, perhaps you know?

Thanks,
Dave
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

Date2025-03-13 16:33
FromRory Walsh
SubjectRe: [Csnd] Impulse response question
The liveconv opcode example in the manual records a live impulse response and uses that. You could easily generate one and use it instead. 
Back when I was teaching students Csound I would show them this video
and then get them to generate IRs with Csound. If I was doing it today I would get them to build a realtime IR generator/processor using function tables and liveconv :) 


On Thu, 13 Mar 2025 at 16:26, Dave Seidel <dave.seidel@gmail.com> wrote:
Has anyone written code to create an impulse response (IR) in Csound? I'm interested in synthetic or procedurally-generated IRs versus IRs based on actual physical spaces. This could be a very interesting capability in conjunction with liveconv especially if it could be done in real time (or close to realtime).

Oeyvind, perhaps you know?

Thanks,
Dave
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

Date2025-03-13 17:02
FromDave Seidel
SubjectRe: [Csnd] Impulse response question
Thanks Rory. That's a great video, I actually found it before posting. :-)

The liveconv example uses slices of an existing audio file, and doesn't process them with an amplitude envelope and filter the way that the video shows. This is definitely an interesting use case, and of course the source audio can be captured live. But what I'm musing about is actually creating a "proper" IR from scratch in code. It seems to me that all the steps shown in the video could be done within Csound. I may try that.

- Dave

On Thu, Mar 13, 2025 at 12:33 PM Rory Walsh <rorywalsh@ear.ie> wrote:
The liveconv opcode example in the manual records a live impulse response and uses that. You could easily generate one and use it instead. 
Back when I was teaching students Csound I would show them this video
and then get them to generate IRs with Csound. If I was doing it today I would get them to build a realtime IR generator/processor using function tables and liveconv :) 


On Thu, 13 Mar 2025 at 16:26, Dave Seidel <dave.seidel@gmail.com> wrote:
Has anyone written code to create an impulse response (IR) in Csound? I'm interested in synthetic or procedurally-generated IRs versus IRs based on actual physical spaces. This could be a very interesting capability in conjunction with liveconv especially if it could be done in real time (or close to realtime).

Oeyvind, perhaps you know?

Thanks,
Dave
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

Date2025-03-13 18:06
FromGiuseppe Silvi <000006613a17e48d-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] Impulse response question
Hi Dave,
Here you can find a procedure to generate an impulse and a procedure to indagate impulse response of a filter. Maybe it is not you are looking for, it was created to evaluate IR of filters sample by sample. 

Ciao!
Giuseppe

On 13 Mar 2025, at 18:02, Dave Seidel <dave.seidel@GMAIL.COM> wrote:

Thanks Rory. That's a great video, I actually found it before posting. :-)

The liveconv example uses slices of an existing audio file, and doesn't process them with an amplitude envelope and filter the way that the video shows. This is definitely an interesting use case, and of course the source audio can be captured live. But what I'm musing about is actually creating a "proper" IR from scratch in code. It seems to me that all the steps shown in the video could be done within Csound. I may try that.

- Dave

On Thu, Mar 13, 2025 at 12:33 PM Rory Walsh <rorywalsh@ear.ie> wrote:
The liveconv opcode example in the manual records a live impulse response and uses that. You could easily generate one and use it instead. 
Back when I was teaching students Csound I would show them this video
and then get them to generate IRs with Csound. If I was doing it today I would get them to build a realtime IR generator/processor using function tables and liveconv :) 


On Thu, 13 Mar 2025 at 16:26, Dave Seidel <dave.seidel@gmail.com> wrote:
Has anyone written code to create an impulse response (IR) in Csound? I'm interested in synthetic or procedurally-generated IRs versus IRs based on actual physical spaces. This could be a very interesting capability in conjunction with liveconv especially if it could be done in real time (or close to realtime).

Oeyvind, perhaps you know?

Thanks,
Dave
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


Date2025-03-13 18:08
FromIain McCurdy
SubjectRe: [Csnd] Impulse response question
AttachmentsSynVerb.csd  
Hi Dave,

Here's a Cabbage instrument that I've been working on that synthesises impulse responses using noise, scattered clicks, sine chirps and filters, parameters of which can be shaped across the IR's duration using envelopes. The synthesised IR is auditioned using ftconv, or you can export it as a wav. Hint: you'll need to raise 'Input Gain' (and use headphones) to get started using your laptop microphone. It defaults to zero to prevent disastrous feedback.

Regards,
Iain

From: A discussion list for users of Csound <CSOUND@LISTSERV.HEANET.IE> on behalf of Dave Seidel <dave.seidel@GMAIL.COM>
Sent: 13 March 2025 16:25
To: CSOUND@LISTSERV.HEANET.IE <CSOUND@LISTSERV.HEANET.IE>
Subject: [Csnd] Impulse response question
 
Has anyone written code to create an impulse response (IR) in Csound? I'm interested in synthetic or procedurally-generated IRs versus IRs based on actual physical spaces. This could be a very interesting capability in conjunction with liveconv especially if it could be done in real time (or close to realtime).

Oeyvind, perhaps you know?

Thanks,
Dave
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

Date2025-03-13 18:10
FromVictor Lazzarini <000010b17ddd988e-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] [EXTERNAL] [Csnd] Impulse response question
Besides using tvconv for live convolution, I’ve also used GEN53 to create impulse responses from
arbitrary amplitude responses and also use decaying Gaussian IRs directly to simulate diffuse reverb.

best
========================
Prof. Victor Lazzarini
Maynooth University
Ireland

> On 13 Mar 2025, at 18:06, Giuseppe Silvi <000006613a17e48d-dmarc-request@LISTSERV.HEANET.IE> wrote:
> 
> You don't often get email from 000006613a17e48d-dmarc-request@listserv.heanet.ie. Learn why this is important *Warning*
> This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
> Hi Dave,
> Here you can find a procedure to generate an impulse and a procedure to indagate impulse response of a filter. Maybe it is not you are looking for, it was created to evaluate IR of filters sample by sample. 
> https://www.researchgate.net/publication/386420091_Opening_mind_by_opening_architecture_analysis_strategies
> 
> Ciao!
> Giuseppe
> 
>> On 13 Mar 2025, at 18:02, Dave Seidel  wrote:
>> 
>> Thanks Rory. That's a great video, I actually found it before posting. :-) 
>> 
>> The liveconv example uses slices of an existing audio file, and doesn't process them with an amplitude envelope and filter the way that the video shows. This is definitely an interesting use case, and of course the source audio can be captured live. But what I'm musing about is actually creating a "proper" IR from scratch in code. It seems to me that all the steps shown in the video could be done within Csound. I may try that.
>> 
>> - Dave
>> 
>> On Thu, Mar 13, 2025 at 12:33 PM Rory Walsh  wrote:
>> The liveconv opcode example in the manual records a live impulse response and uses that. You could easily generate one and use it instead.  
>> https://csound.com/docs/manual/liveconv.html
>> Back when I was teaching students Csound I would show them this video
>> https://www.youtube.com/watch?v=Englz96gnqM
>> and then get them to generate IRs with Csound. If I was doing it today I would get them to build a realtime IR generator/processor using function tables and liveconv :) 
>> 
>> 
>> On Thu, 13 Mar 2025 at 16:26, Dave Seidel  wrote:
>> Has anyone written code to create an impulse response (IR) in Csound? I'm interested in synthetic or procedurally-generated IRs versus IRs based on actual physical spaces. This could be a very interesting capability in conjunction with liveconv especially if it could be done in real time (or close to realtime). 
>> 
>> Oeyvind, perhaps you know?
>> 
>> Thanks,
>> Dave
>> 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

Date2025-03-13 18:37
FromDave Seidel
SubjectRe: [Csnd] [EXTERNAL] [Csnd] Impulse response question
Wow, that's a wealth of great info. Thanks Giuseppe, Iain, and Victor!

On Thu, Mar 13, 2025 at 2:10 PM Victor Lazzarini <000010b17ddd988e-dmarc-request@listserv.heanet.ie> wrote:
Besides using tvconv for live convolution, I’ve also used GEN53 to create impulse responses from
arbitrary amplitude responses and also use decaying Gaussian IRs directly to simulate diffuse reverb.

best
========================
Prof. Victor Lazzarini
Maynooth University
Ireland

> On 13 Mar 2025, at 18:06, Giuseppe Silvi <000006613a17e48d-dmarc-request@LISTSERV.HEANET.IE> wrote:
>
> You don't often get email from 000006613a17e48d-dmarc-request@listserv.heanet.ie. Learn why this is important *Warning*
> This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
> Hi Dave,
> Here you can find a procedure to generate an impulse and a procedure to indagate impulse response of a filter. Maybe it is not you are looking for, it was created to evaluate IR of filters sample by sample.
> https://www.researchgate.net/publication/386420091_Opening_mind_by_opening_architecture_analysis_strategies
>
> Ciao!
> Giuseppe
>
>> On 13 Mar 2025, at 18:02, Dave Seidel <dave.seidel@GMAIL.COM> wrote:
>>
>> Thanks Rory. That's a great video, I actually found it before posting. :-)
>>
>> The liveconv example uses slices of an existing audio file, and doesn't process them with an amplitude envelope and filter the way that the video shows. This is definitely an interesting use case, and of course the source audio can be captured live. But what I'm musing about is actually creating a "proper" IR from scratch in code. It seems to me that all the steps shown in the video could be done within Csound. I may try that.
>>
>> - Dave
>>
>> On Thu, Mar 13, 2025 at 12:33 PM Rory Walsh <rorywalsh@ear.ie> wrote:
>> The liveconv opcode example in the manual records a live impulse response and uses that. You could easily generate one and use it instead. 
>> https://csound.com/docs/manual/liveconv.html
>> Back when I was teaching students Csound I would show them this video
>> https://www.youtube.com/watch?v=Englz96gnqM
>> and then get them to generate IRs with Csound. If I was doing it today I would get them to build a realtime IR generator/processor using function tables and liveconv :)
>>
>>
>> On Thu, 13 Mar 2025 at 16:26, Dave Seidel <dave.seidel@gmail.com> wrote:
>> Has anyone written code to create an impulse response (IR) in Csound? I'm interested in synthetic or procedurally-generated IRs versus IRs based on actual physical spaces. This could be a very interesting capability in conjunction with liveconv especially if it could be done in real time (or close to realtime).
>>
>> Oeyvind, perhaps you know?
>>
>> Thanks,
>> Dave
>> 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

Date2025-03-14 19:22
FromSteven Yi
SubjectRe: [Csnd] [EXTERNAL] [Csnd] Impulse response question
Attachmentsgen_IR_example.zip  
Thought I'd experiment like in the video and made two CSD's:

1. gen_IR.csd - generates an IR using pink noise that is enveloped and filtered. (Experimented with multiple pink noise sources and some mixing between the output stereo channels.)
2. example.csd - uses pconvolve with some delay compensation together with a note generator and instrument that has various randomizations in it. 

Just need to run gen_IR.csd first to produce IR.wav, then can run example.csd with that. 

The reverb sounds a little artificial (a little more noticeable when the generated IR was shorter) but I thought it worked well enough for this example. Figured I'd add this here in case it was useful for anyone. 



On Thu, Mar 13, 2025 at 2:37 PM Dave Seidel <dave.seidel@gmail.com> wrote:
Wow, that's a wealth of great info. Thanks Giuseppe, Iain, and Victor!

On Thu, Mar 13, 2025 at 2:10 PM Victor Lazzarini <000010b17ddd988e-dmarc-request@listserv.heanet.ie> wrote:
Besides using tvconv for live convolution, I’ve also used GEN53 to create impulse responses from
arbitrary amplitude responses and also use decaying Gaussian IRs directly to simulate diffuse reverb.

best
========================
Prof. Victor Lazzarini
Maynooth University
Ireland

> On 13 Mar 2025, at 18:06, Giuseppe Silvi <000006613a17e48d-dmarc-request@LISTSERV.HEANET.IE> wrote:
>
> You don't often get email from 000006613a17e48d-dmarc-request@listserv.heanet.ie. Learn why this is important *Warning*
> This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
> Hi Dave,
> Here you can find a procedure to generate an impulse and a procedure to indagate impulse response of a filter. Maybe it is not you are looking for, it was created to evaluate IR of filters sample by sample.
> https://www.researchgate.net/publication/386420091_Opening_mind_by_opening_architecture_analysis_strategies
>
> Ciao!
> Giuseppe
>
>> On 13 Mar 2025, at 18:02, Dave Seidel <dave.seidel@GMAIL.COM> wrote:
>>
>> Thanks Rory. That's a great video, I actually found it before posting. :-)
>>
>> The liveconv example uses slices of an existing audio file, and doesn't process them with an amplitude envelope and filter the way that the video shows. This is definitely an interesting use case, and of course the source audio can be captured live. But what I'm musing about is actually creating a "proper" IR from scratch in code. It seems to me that all the steps shown in the video could be done within Csound. I may try that.
>>
>> - Dave
>>
>> On Thu, Mar 13, 2025 at 12:33 PM Rory Walsh <rorywalsh@ear.ie> wrote:
>> The liveconv opcode example in the manual records a live impulse response and uses that. You could easily generate one and use it instead. 
>> https://csound.com/docs/manual/liveconv.html
>> Back when I was teaching students Csound I would show them this video
>> https://www.youtube.com/watch?v=Englz96gnqM
>> and then get them to generate IRs with Csound. If I was doing it today I would get them to build a realtime IR generator/processor using function tables and liveconv :)
>>
>>
>> On Thu, 13 Mar 2025 at 16:26, Dave Seidel <dave.seidel@gmail.com> wrote:
>> Has anyone written code to create an impulse response (IR) in Csound? I'm interested in synthetic or procedurally-generated IRs versus IRs based on actual physical spaces. This could be a very interesting capability in conjunction with liveconv especially if it could be done in real time (or close to realtime).
>>
>> Oeyvind, perhaps you know?
>>
>> Thanks,
>> Dave
>> 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

Date2025-03-15 02:03
FromDave Seidel
SubjectRe: [Csnd] [EXTERNAL] [Csnd] Impulse response question
Thanks, Steven! Very cool.

On Fri, Mar 14, 2025 at 3:22 PM Steven Yi <stevenyi@gmail.com> wrote:
Thought I'd experiment like in the video and made two CSD's:

1. gen_IR.csd - generates an IR using pink noise that is enveloped and filtered. (Experimented with multiple pink noise sources and some mixing between the output stereo channels.)
2. example.csd - uses pconvolve with some delay compensation together with a note generator and instrument that has various randomizations in it. 

Just need to run gen_IR.csd first to produce IR.wav, then can run example.csd with that. 

The reverb sounds a little artificial (a little more noticeable when the generated IR was shorter) but I thought it worked well enough for this example. Figured I'd add this here in case it was useful for anyone. 



On Thu, Mar 13, 2025 at 2:37 PM Dave Seidel <dave.seidel@gmail.com> wrote:
Wow, that's a wealth of great info. Thanks Giuseppe, Iain, and Victor!

On Thu, Mar 13, 2025 at 2:10 PM Victor Lazzarini <000010b17ddd988e-dmarc-request@listserv.heanet.ie> wrote:
Besides using tvconv for live convolution, I’ve also used GEN53 to create impulse responses from
arbitrary amplitude responses and also use decaying Gaussian IRs directly to simulate diffuse reverb.

best
========================
Prof. Victor Lazzarini
Maynooth University
Ireland

> On 13 Mar 2025, at 18:06, Giuseppe Silvi <000006613a17e48d-dmarc-request@LISTSERV.HEANET.IE> wrote:
>
> You don't often get email from 000006613a17e48d-dmarc-request@listserv.heanet.ie. Learn why this is important *Warning*
> This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
> Hi Dave,
> Here you can find a procedure to generate an impulse and a procedure to indagate impulse response of a filter. Maybe it is not you are looking for, it was created to evaluate IR of filters sample by sample.
> https://www.researchgate.net/publication/386420091_Opening_mind_by_opening_architecture_analysis_strategies
>
> Ciao!
> Giuseppe
>
>> On 13 Mar 2025, at 18:02, Dave Seidel <dave.seidel@GMAIL.COM> wrote:
>>
>> Thanks Rory. That's a great video, I actually found it before posting. :-)
>>
>> The liveconv example uses slices of an existing audio file, and doesn't process them with an amplitude envelope and filter the way that the video shows. This is definitely an interesting use case, and of course the source audio can be captured live. But what I'm musing about is actually creating a "proper" IR from scratch in code. It seems to me that all the steps shown in the video could be done within Csound. I may try that.
>>
>> - Dave
>>
>> On Thu, Mar 13, 2025 at 12:33 PM Rory Walsh <rorywalsh@ear.ie> wrote:
>> The liveconv opcode example in the manual records a live impulse response and uses that. You could easily generate one and use it instead. 
>> https://csound.com/docs/manual/liveconv.html
>> Back when I was teaching students Csound I would show them this video
>> https://www.youtube.com/watch?v=Englz96gnqM
>> and then get them to generate IRs with Csound. If I was doing it today I would get them to build a realtime IR generator/processor using function tables and liveconv :)
>>
>>
>> On Thu, 13 Mar 2025 at 16:26, Dave Seidel <dave.seidel@gmail.com> wrote:
>> Has anyone written code to create an impulse response (IR) in Csound? I'm interested in synthetic or procedurally-generated IRs versus IRs based on actual physical spaces. This could be a very interesting capability in conjunction with liveconv especially if it could be done in real time (or close to realtime).
>>
>> Oeyvind, perhaps you know?
>>
>> Thanks,
>> Dave
>> 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

Date2025-03-16 18:23
Fromjoachim heintz
SubjectRe: [Csnd] [EXTERNAL] [Csnd] Impulse response question
based on steven's work i did an example for csoundqt some years ago:
https://github.com/CsoundQt/CsoundQt/blob/develop/src/Examples/CsoundQt/Miscellaneous/IR_Creator.csd

On 14/03/2025 20:22, Steven Yi wrote:
> Thought I'd experiment like in the video and made two CSD's:
> 
> 1. gen_IR.csd - generates an IR using pink noise that is enveloped and 
> filtered. (Experimented with multiple pink noise sources and some mixing 
> between the output stereo channels.)
> 2. example.csd - uses pconvolve with some delay compensation together 
> with a note generator and instrument that has various randomizations in it.
> 
> Just need to run gen_IR.csd first to produce IR.wav, then can run 
> example.csd with that.
> 
> The reverb sounds a little artificial (a little more noticeable when the 
> generated IR was shorter) but I thought it worked well enough for this 
> example. Figured I'd add this here in case it was useful for anyone.
> 
> 
> 
> On Thu, Mar 13, 2025 at 2:37 PM Dave Seidel  > wrote:
> 
>     Wow, that's a wealth of great info. Thanks Giuseppe, Iain, and Victor!
> 
>     On Thu, Mar 13, 2025 at 2:10 PM Victor Lazzarini <000010b17ddd988e-
>     dmarc-request@listserv.heanet.ie      request@listserv.heanet.ie>> wrote:
> 
>         Besides using tvconv for live convolution, I’ve also used GEN53
>         to create impulse responses from
>         arbitrary amplitude responses and also use decaying Gaussian IRs
>         directly to simulate diffuse reverb.
> 
>         best
>         ========================
>         Prof. Victor Lazzarini
>         Maynooth University
>         Ireland
> 
>          > On 13 Mar 2025, at 18:06, Giuseppe Silvi <000006613a17e48d-
>         dmarc-request@LISTSERV.HEANET.IE          request@LISTSERV.HEANET.IE>> wrote:
>          >
>          > You don't often get email from 000006613a17e48d-dmarc-
>         request@listserv.heanet.ie          request@listserv.heanet.ie>. Learn why this is important *Warning*
>          > This email originated from outside of Maynooth University's
>         Mail System. Do not reply, click links or open attachments
>         unless you recognise the sender and know the content is safe.
>          > Hi Dave,
>          > Here you can find a procedure to generate an impulse and a
>         procedure to indagate impulse response of a filter. Maybe it is
>         not you are looking for, it was created to evaluate IR of
>         filters sample by sample.
>          > https://www.researchgate.net/
>         publication/386420091_Opening_mind_by_opening_architecture_analysis_strategies 
>          >
>          > Ciao!
>          > Giuseppe
>          >
>          >> On 13 Mar 2025, at 18:02, Dave Seidel          > wrote:
>          >>
>          >> Thanks Rory. That's a great video, I actually found it
>         before posting. :-)
>          >>
>          >> The liveconv example uses slices of an existing audio file,
>         and doesn't process them with an amplitude envelope and filter
>         the way that the video shows. This is definitely an interesting
>         use case, and of course the source audio can be captured live.
>         But what I'm musing about is actually creating a "proper" IR
>         from scratch in code. It seems to me that all the steps shown in
>         the video could be done within Csound. I may try that.
>          >>
>          >> - Dave
>          >>
>          >> On Thu, Mar 13, 2025 at 12:33 PM Rory Walsh
>         > wrote:
>          >> The liveconv opcode example in the manual records a live
>         impulse response and uses that. You could easily generate one
>         and use it instead.
>          >> https://csound.com/docs/manual/liveconv.html          csound.com/docs/manual/liveconv.html>
>          >> Back when I was teaching students Csound I would show them
>         this video
>          >> https://www.youtube.com/watch?v=Englz96gnqM          www.youtube.com/watch?v=Englz96gnqM>
>          >> and then get them to generate IRs with Csound. If I was
>         doing it today I would get them to build a realtime IR
>         generator/processor using function tables and liveconv :)
>          >>
>          >>
>          >> On Thu, 13 Mar 2025 at 16:26, Dave Seidel
>         > wrote:
>          >> Has anyone written code to create an impulse response (IR)
>         in Csound? I'm interested in synthetic or procedurally-generated
>         IRs versus IRs based on actual physical spaces. This could be a
>         very interesting capability in conjunction with liveconv
>         especially if it could be done in real time (or close to realtime).
>          >>
>          >> Oeyvind, perhaps you know?
>          >>
>          >> Thanks,
>          >> Dave
>          >> Csound mailing list Csound@listserv.heanet.ie
>          https://listserv.heanet.ie/
>         cgi-bin/wa?A0=CSOUND          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          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          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          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          listserv.heanet.ie/cgi-bin/wa?A0=CSOUND>
>         Send bugs reports to
>         https://github.com/csound/csound/issues          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  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

Date2025-03-16 18:44
FromDave Seidel
SubjectRe: [Csnd] [EXTERNAL] [Csnd] Impulse response question
Nice!

On Sun, Mar 16, 2025 at 2:23 PM joachim heintz <jh@joachimheintz.de> wrote:
based on steven's work i did an example for csoundqt some years ago:
https://github.com/CsoundQt/CsoundQt/blob/develop/src/Examples/CsoundQt/Miscellaneous/IR_Creator.csd

On 14/03/2025 20:22, Steven Yi wrote:
> Thought I'd experiment like in the video and made two CSD's:
>
> 1. gen_IR.csd - generates an IR using pink noise that is enveloped and
> filtered. (Experimented with multiple pink noise sources and some mixing
> between the output stereo channels.)
> 2. example.csd - uses pconvolve with some delay compensation together
> with a note generator and instrument that has various randomizations in it.
>
> Just need to run gen_IR.csd first to produce IR.wav, then can run
> example.csd with that.
>
> The reverb sounds a little artificial (a little more noticeable when the
> generated IR was shorter) but I thought it worked well enough for this
> example. Figured I'd add this here in case it was useful for anyone.
>
>
>
> On Thu, Mar 13, 2025 at 2:37 PM Dave Seidel <dave.seidel@gmail.com
> <mailto:dave.seidel@gmail.com>> wrote:
>
>     Wow, that's a wealth of great info. Thanks Giuseppe, Iain, and Victor!
>
>     On Thu, Mar 13, 2025 at 2:10 PM Victor Lazzarini <000010b17ddd988e-
>     dmarc-request@listserv.heanet.ie <mailto:000010b17ddd988e-dmarc-
>     request@listserv.heanet.ie>> wrote:
>
>         Besides using tvconv for live convolution, I’ve also used GEN53
>         to create impulse responses from
>         arbitrary amplitude responses and also use decaying Gaussian IRs
>         directly to simulate diffuse reverb.
>
>         best
>         ========================
>         Prof. Victor Lazzarini
>         Maynooth University
>         Ireland
>
>          > On 13 Mar 2025, at 18:06, Giuseppe Silvi <000006613a17e48d-
>         dmarc-request@LISTSERV.HEANET.IE <mailto:000006613a17e48d-dmarc-
>         request@LISTSERV.HEANET.IE>> wrote:
>          >
>          > You don't often get email from 000006613a17e48d-dmarc-
>         request@listserv.heanet.ie <mailto:000006613a17e48d-dmarc-
>         request@listserv.heanet.ie>. Learn why this is important *Warning*
>          > This email originated from outside of Maynooth University's
>         Mail System. Do not reply, click links or open attachments
>         unless you recognise the sender and know the content is safe.
>          > Hi Dave,
>          > Here you can find a procedure to generate an impulse and a
>         procedure to indagate impulse response of a filter. Maybe it is
>         not you are looking for, it was created to evaluate IR of
>         filters sample by sample.
>          > https://www.researchgate.net/
>         publication/386420091_Opening_mind_by_opening_architecture_analysis_strategies <https://www.researchgate.net/publication/386420091_Opening_mind_by_opening_architecture_analysis_strategies>
>          >
>          > Ciao!
>          > Giuseppe
>          >
>          >> On 13 Mar 2025, at 18:02, Dave Seidel <dave.seidel@GMAIL.COM
>         <mailto:dave.seidel@GMAIL.COM>> wrote:
>          >>
>          >> Thanks Rory. That's a great video, I actually found it
>         before posting. :-)
>          >>
>          >> The liveconv example uses slices of an existing audio file,
>         and doesn't process them with an amplitude envelope and filter
>         the way that the video shows. This is definitely an interesting
>         use case, and of course the source audio can be captured live.
>         But what I'm musing about is actually creating a "proper" IR
>         from scratch in code. It seems to me that all the steps shown in
>         the video could be done within Csound. I may try that.
>          >>
>          >> - Dave
>          >>
>          >> On Thu, Mar 13, 2025 at 12:33 PM Rory Walsh
>         <rorywalsh@ear.ie <mailto:rorywalsh@ear.ie>> wrote:
>          >> The liveconv opcode example in the manual records a live
>         impulse response and uses that. You could easily generate one
>         and use it instead.
>          >> https://csound.com/docs/manual/liveconv.html <https://
>         csound.com/docs/manual/liveconv.html>
>          >> Back when I was teaching students Csound I would show them
>         this video
>          >> https://www.youtube.com/watch?v=Englz96gnqM <https://
>         www.youtube.com/watch?v=Englz96gnqM>
>          >> and then get them to generate IRs with Csound. If I was
>         doing it today I would get them to build a realtime IR
>         generator/processor using function tables and liveconv :)
>          >>
>          >>
>          >> On Thu, 13 Mar 2025 at 16:26, Dave Seidel
>         <dave.seidel@gmail.com <mailto:dave.seidel@gmail.com>> wrote:
>          >> Has anyone written code to create an impulse response (IR)
>         in Csound? I'm interested in synthetic or procedurally-generated
>         IRs versus IRs based on actual physical spaces. This could be a
>         very interesting capability in conjunction with liveconv
>         especially if it could be done in real time (or close to realtime).
>          >>
>          >> Oeyvind, perhaps you know?
>          >>
>          >> Thanks,
>          >> Dave
>          >> Csound mailing list Csound@listserv.heanet.ie
>         <mailto:Csound@listserv.heanet.ie> https://listserv.heanet.ie/
>         cgi-bin/wa?A0=CSOUND <https://listserv.heanet.ie/cgi-bin/wa?
>         A0=CSOUND> Send bugs reports to https://github.com/csound/
>         csound/issues <https://github.com/csound/csound/issues>
>         Discussions of bugs and features can be posted here Csound
>         mailing list Csound@listserv.heanet.ie
>         <mailto:Csound@listserv.heanet.ie> https://listserv.heanet.ie/
>         cgi-bin/wa?A0=CSOUND <https://listserv.heanet.ie/cgi-bin/wa?
>         A0=CSOUND> Send bugs reports to https://github.com/csound/
>         csound/issues <https://github.com/csound/csound/issues>
>         Discussions of bugs and features can be posted here Csound
>         mailing list Csound@listserv.heanet.ie
>         <mailto:Csound@listserv.heanet.ie> https://listserv.heanet.ie/
>         cgi-bin/wa?A0=CSOUND <https://listserv.heanet.ie/cgi-bin/wa?
>         A0=CSOUND> Send bugs reports to https://github.com/csound/
>         csound/issues <https://github.com/csound/csound/issues>
>         Discussions of bugs and features can be posted here
>          >
>          > Csound mailing list Csound@listserv.heanet.ie
>         <mailto:Csound@listserv.heanet.ie> https://listserv.heanet.ie/
>         cgi-bin/wa?A0=CSOUND <https://listserv.heanet.ie/cgi-bin/wa?
>         A0=CSOUND> Send bugs reports to https://github.com/csound/
>         csound/issues <https://github.com/csound/csound/issues>
>         Discussions of bugs and features can be posted here
>
>
>         Csound mailing list
>         Csound@listserv.heanet.ie <mailto:Csound@listserv.heanet.ie>
>         https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND <https://
>         listserv.heanet.ie/cgi-bin/wa?A0=CSOUND>
>         Send bugs reports to
>         https://github.com/csound/csound/issues <https://github.com/
>         csound/csound/issues>
>         Discussions of bugs and features can be posted here
>
>     Csound mailing list Csound@listserv.heanet.ie
>     <mailto:Csound@listserv.heanet.ie> https://listserv.heanet.ie/cgi-
>     bin/wa?A0=CSOUND <https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND>
>     Send bugs reports to https://github.com/csound/csound/issues
>     <https://github.com/csound/csound/issues> Discussions of bugs and
>     features can be posted here
>
> Csound mailing list Csound@listserv.heanet.ie
> <mailto:Csound@listserv.heanet.ie> https://listserv.heanet.ie/cgi-bin/
> wa?A0=CSOUND <https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND> Send bugs
> reports to https://github.com/csound/csound/issues <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