[Csnd] Emulation of magnetic tape delay and echo effect

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[Csnd] Emulation of magnetic tape delay and echo effect

Anton Kholomiov

I’d like to share the Csound opcodes for magnetic tape delay and echo effect.
It’s reimplementation of original code from the paper:

Real-time digital modeling of the Roland Space Echo by Jon Downing, Christian Terjesen (ECE 472 - Audio Signal Processing, May 2016)

The author was kind to share the source code of the paper.
here is the csound implementation:

https://github.com/anton-k/pure-csound/tree/master/fx/tape-echo

The test - contains the code to try out the delay.
Here you can find some audio examples:

https://yadi.sk/d/hCi3xseM3Ty2P5

The interesting part of this implementation is that it’s modular.
The are two main opcodes:

  • tapeRead is like deltapi but emulates writing to magnetic tape buffer:

tapeRead aIn, kDelay, kRandomSpread

  • tapeWrite is like delayw for tape:

tapeWrite aIn, aOut, kFbGain

With these two functions we can create more involved algorithms:

Here is the example of single head tape-delay:

opcode TapeEcho, a, akkkkk
  aIn, kDelay, kEchoGain, kFbGain, kTone, kRandomSpread xin

  aDummy delayr 16
  aEcho tapeRead aIn, kDelay, kRandomSpread
  aOut  = aIn + kEchoGain * aEcho

  aOut tone aOut, kTone
  tapeWrite aIn, aOut, kFbGain
  xout aOut
endop

Also we can add heads using the same two basic opcodes.
You can find example with more heads in the repo.

Cheers!
Anton

Csound mailing list [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Emulation of magnetic tape delay and echo effect

zappfinger

Very nice! Now I can create my own Shadows sound!
This begs for a GUI implementation in Cabbage or similar...

Richard


On 01/04/18 17:50, Anton Kholomiov wrote:

I’d like to share the Csound opcodes for magnetic tape delay and echo effect.
It’s reimplementation of original code from the paper:

Real-time digital modeling of the Roland Space Echo by Jon Downing, Christian Terjesen (ECE 472 - Audio Signal Processing, May 2016)

The author was kind to share the source code of the paper.
here is the csound implementation:

https://github.com/anton-k/pure-csound/tree/master/fx/tape-echo

The test - contains the code to try out the delay.
Here you can find some audio examples:

https://yadi.sk/d/hCi3xseM3Ty2P5

The interesting part of this implementation is that it’s modular.
The are two main opcodes:

  • tapeRead is like deltapi but emulates writing to magnetic tape buffer:

tapeRead aIn, kDelay, kRandomSpread

  • tapeWrite is like delayw for tape:

tapeWrite aIn, aOut, kFbGain

With these two functions we can create more involved algorithms:

Here is the example of single head tape-delay:

opcode TapeEcho, a, akkkkk
  aIn, kDelay, kEchoGain, kFbGain, kTone, kRandomSpread xin

  aDummy delayr 16
  aEcho tapeRead aIn, kDelay, kRandomSpread
  aOut  = aIn + kEchoGain * aEcho

  aOut tone aOut, kTone
  tapeWrite aIn, aOut, kFbGain
  xout aOut
endop

Also we can add heads using the same two basic opcodes.
You can find example with more heads in the repo.

Cheers!
Anton

Csound mailing list [hidden email] 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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Emulation of magnetic tape delay and echo effect

genell
In reply to this post by Anton Kholomiov
Absolutely brilliant!
I’ve wanted a Roland Space Echo ever since I tried one in a second hand shop some 25 years ago...

Regards,
Anders

1 apr. 2018 kl. 17:50 skrev Anton Kholomiov <[hidden email]>:

I’d like to share the Csound opcodes for magnetic tape delay and echo effect.
It’s reimplementation of original code from the paper:

Real-time digital modeling of the Roland Space Echo by Jon Downing, Christian Terjesen (ECE 472 - Audio Signal Processing, May 2016)

The author was kind to share the source code of the paper.
here is the csound implementation:

https://github.com/anton-k/pure-csound/tree/master/fx/tape-echo

The test - contains the code to try out the delay.
Here you can find some audio examples:

https://yadi.sk/d/hCi3xseM3Ty2P5

The interesting part of this implementation is that it’s modular.
The are two main opcodes:

  • tapeRead is like deltapi but emulates writing to magnetic tape buffer:

tapeRead aIn, kDelay, kRandomSpread

  • tapeWrite is like delayw for tape:

tapeWrite aIn, aOut, kFbGain

With these two functions we can create more involved algorithms:

Here is the example of single head tape-delay:

opcode TapeEcho, a, akkkkk
  aIn, kDelay, kEchoGain, kFbGain, kTone, kRandomSpread xin

  aDummy delayr 16
  aEcho tapeRead aIn, kDelay, kRandomSpread
  aOut  = aIn + kEchoGain * aEcho

  aOut tone aOut, kTone
  tapeWrite aIn, aOut, kFbGain
  xout aOut
endop

Also we can add heads using the same two basic opcodes.
You can find example with more heads in the repo.

Cheers!
Anton

Csound mailing list [hidden email] 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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Emulation of magnetic tape delay and echo effect

Tarmo Johannes-3
Very nice, indeed!

tarmo

On pühapäev, 1. aprill 2018 21:43.13 EEST you wrote:

> Absolutely brilliant!
> I’ve wanted a Roland Space Echo ever since I tried one in a second hand shop
> some 25 years ago...
>
> Regards,
> Anders
>
> > 1 apr. 2018 kl. 17:50 skrev Anton Kholomiov <[hidden email]>:
> >
> > I’d like to share the Csound opcodes for magnetic tape delay and echo
> > effect. It’s reimplementation of original code from the paper:
> >
> > Real-time digital modeling of the Roland Space Echo by Jon Downing,
> > Christian Terjesen (ECE 472 - Audio Signal Processing, May 2016)
> >
> > The author was kind to share the source code of the paper.
> > here is the csound implementation:
> >
> > https://github.com/anton-k/pure-csound/tree/master/fx/tape-echo
> >
> > The test - contains the code to try out the delay.
> > Here you can find some audio examples:
> >
> > https://yadi.sk/d/hCi3xseM3Ty2P5
> >
> > The interesting part of this implementation is that it’s modular.
> > The are two main opcodes:
> >
> > tapeRead is like deltapi but emulates writing to magnetic tape buffer:
> > tapeRead aIn, kDelay, kRandomSpread
> >
> > tapeWrite is like delayw for tape:
> > tapeWrite aIn, aOut, kFbGain
> >
> > With these two functions we can create more involved algorithms:
> >
> > Here is the example of single head tape-delay:
> >
> > opcode TapeEcho, a, akkkkk
> >
> >   aIn, kDelay, kEchoGain, kFbGain, kTone, kRandomSpread xin
> >  
> >   aDummy delayr 16
> >   aEcho tapeRead aIn, kDelay, kRandomSpread
> >   aOut  = aIn + kEchoGain * aEcho
> >  
> >   aOut tone aOut, kTone
> >   tapeWrite aIn, aOut, kFbGain
> >   xout aOut
> >
> > endop
> > Also we can add heads using the same two basic opcodes.
> > You can find example with more heads in the repo.
> >
> > Cheers!
> > Anton
> >
> > Csound mailing list [hidden email]
> > 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
> [hidden email]
> 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
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Emulation of magnetic tape delay and echo effect

Anton Kholomiov
Thanks for feedback!

Also it can be applied to improve pads with great effect.
It makes them more "organic", when implementing this
I was looking for the boards of Canada sound.

Actually the implementation can be improved. But it requires a bit more involved algorithm.
By discussion with the author. He proposes to upsample the audio when writing to buffer
(to emulate the resolution of the tape) and then downsample with anti-aliasing filter.

Actually if you increase the feedback you can hear the high-pitched aliasing artifacts
in the current implementation.

2018-04-01 21:52 GMT+03:00 Tarmo Johannes <[hidden email]>:
Very nice, indeed!

tarmo

On pühapäev, 1. aprill 2018 21:43.13 EEST you wrote:
> Absolutely brilliant!
> I’ve wanted a Roland Space Echo ever since I tried one in a second hand shop
> some 25 years ago...
>
> Regards,
> Anders
>
> > 1 apr. 2018 kl. 17:50 skrev Anton Kholomiov <[hidden email]>:
> >
> > I’d like to share the Csound opcodes for magnetic tape delay and echo
> > effect. It’s reimplementation of original code from the paper:
> >
> > Real-time digital modeling of the Roland Space Echo by Jon Downing,
> > Christian Terjesen (ECE 472 - Audio Signal Processing, May 2016)
> >
> > The author was kind to share the source code of the paper.
> > here is the csound implementation:
> >
> > https://github.com/anton-k/pure-csound/tree/master/fx/tape-echo
> >
> > The test - contains the code to try out the delay.
> > Here you can find some audio examples:
> >
> > https://yadi.sk/d/hCi3xseM3Ty2P5
> >
> > The interesting part of this implementation is that it’s modular.
> > The are two main opcodes:
> >
> > tapeRead is like deltapi but emulates writing to magnetic tape buffer:
> > tapeRead aIn, kDelay, kRandomSpread
> >
> > tapeWrite is like delayw for tape:
> > tapeWrite aIn, aOut, kFbGain
> >
> > With these two functions we can create more involved algorithms:
> >
> > Here is the example of single head tape-delay:
> >
> > opcode TapeEcho, a, akkkkk
> >
> >   aIn, kDelay, kEchoGain, kFbGain, kTone, kRandomSpread xin
> >
> >   aDummy delayr 16
> >   aEcho tapeRead aIn, kDelay, kRandomSpread
> >   aOut  = aIn + kEchoGain * aEcho
> >
> >   aOut tone aOut, kTone
> >   tapeWrite aIn, aOut, kFbGain
> >   xout aOut
> >
> > endop
> > Also we can add heads using the same two basic opcodes.
> > You can find example with more heads in the repo.
> >
> > Cheers!
> > Anton
> >
> > Csound mailing list [hidden email]
> > 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
> [hidden email]
> 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
[hidden email]
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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Emulation of magnetic tape delay and echo effect

zappfinger

I created a quick Cabbage (1.x) GUI for this. The strange thing is, I cannot somehow influence the 'repeat' rate..
Also, saving and recalling preset does not seem to work, but for the rest it is nice to play around with the settings.

Richard

On 01/04/18 22:02, Anton Kholomiov wrote:
Thanks for feedback!

Also it can be applied to improve pads with great effect.
It makes them more "organic", when implementing this
I was looking for the boards of Canada sound.

Actually the implementation can be improved. But it requires a bit more involved algorithm.
By discussion with the author. He proposes to upsample the audio when writing to buffer
(to emulate the resolution of the tape) and then downsample with anti-aliasing filter.

Actually if you increase the feedback you can hear the high-pitched aliasing artifacts
in the current implementation.

2018-04-01 21:52 GMT+03:00 Tarmo Johannes <[hidden email]>:
Very nice, indeed!

tarmo

On pühapäev, 1. aprill 2018 21:43.13 EEST you wrote:
> Absolutely brilliant!
> I’ve wanted a Roland Space Echo ever since I tried one in a second hand shop
> some 25 years ago...
>
> Regards,
> Anders
>
> > 1 apr. 2018 kl. 17:50 skrev Anton Kholomiov <[hidden email]>:
> >
> > I’d like to share the Csound opcodes for magnetic tape delay and echo
> > effect. It’s reimplementation of original code from the paper:
> >
> > Real-time digital modeling of the Roland Space Echo by Jon Downing,
> > Christian Terjesen (ECE 472 - Audio Signal Processing, May 2016)
> >
> > The author was kind to share the source code of the paper.
> > here is the csound implementation:
> >
> > https://github.com/anton-k/pure-csound/tree/master/fx/tape-echo
> >
> > The test - contains the code to try out the delay.
> > Here you can find some audio examples:
> >
> > https://yadi.sk/d/hCi3xseM3Ty2P5
> >
> > The interesting part of this implementation is that it’s modular.
> > The are two main opcodes:
> >
> > tapeRead is like deltapi but emulates writing to magnetic tape buffer:
> > tapeRead aIn, kDelay, kRandomSpread
> >
> > tapeWrite is like delayw for tape:
> > tapeWrite aIn, aOut, kFbGain
> >
> > With these two functions we can create more involved algorithms:
> >
> > Here is the example of single head tape-delay:
> >
> > opcode TapeEcho, a, akkkkk
> >
> >   aIn, kDelay, kEchoGain, kFbGain, kTone, kRandomSpread xin
> >
> >   aDummy delayr 16
> >   aEcho tapeRead aIn, kDelay, kRandomSpread
> >   aOut  = aIn + kEchoGain * aEcho
> >
> >   aOut tone aOut, kTone
> >   tapeWrite aIn, aOut, kFbGain
> >   xout aOut
> >
> > endop
> > Also we can add heads using the same two basic opcodes.
> > You can find example with more heads in the repo.
> >
> > Cheers!
> > Anton
> >
> > Csound mailing list [hidden email]
> > 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
> [hidden email]
> 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
[hidden email]
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 [hidden email] 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 [hidden email] 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

TapeDelayGUI.csd (11K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Emulation of magnetic tape delay and echo effect

Anton Kholomiov
Maybe you can try out feedback and echo-gain parameters.

2018-04-02 11:22 GMT+03:00 Richard <[hidden email]>:

I created a quick Cabbage (1.x) GUI for this. The strange thing is, I cannot somehow influence the 'repeat' rate..
Also, saving and recalling preset does not seem to work, but for the rest it is nice to play around with the settings.

Richard


On 01/04/18 22:02, Anton Kholomiov wrote:
Thanks for feedback!

Also it can be applied to improve pads with great effect.
It makes them more "organic", when implementing this
I was looking for the boards of Canada sound.

Actually the implementation can be improved. But it requires a bit more involved algorithm.
By discussion with the author. He proposes to upsample the audio when writing to buffer
(to emulate the resolution of the tape) and then downsample with anti-aliasing filter.

Actually if you increase the feedback you can hear the high-pitched aliasing artifacts
in the current implementation.

2018-04-01 21:52 GMT+03:00 Tarmo Johannes <[hidden email]>:
Very nice, indeed!

tarmo

On pühapäev, 1. aprill 2018 21:43.13 EEST you wrote:
> Absolutely brilliant!
> I’ve wanted a Roland Space Echo ever since I tried one in a second hand shop
> some 25 years ago...
>
> Regards,
> Anders
>
> > 1 apr. 2018 kl. 17:50 skrev Anton Kholomiov <[hidden email]>:
> >
> > I’d like to share the Csound opcodes for magnetic tape delay and echo
> > effect. It’s reimplementation of original code from the paper:
> >
> > Real-time digital modeling of the Roland Space Echo by Jon Downing,
> > Christian Terjesen (ECE 472 - Audio Signal Processing, May 2016)
> >
> > The author was kind to share the source code of the paper.
> > here is the csound implementation:
> >
> > https://github.com/anton-k/pure-csound/tree/master/fx/tape-echo
> >
> > The test - contains the code to try out the delay.
> > Here you can find some audio examples:
> >
> > https://yadi.sk/d/hCi3xseM3Ty2P5
> >
> > The interesting part of this implementation is that it’s modular.
> > The are two main opcodes:
> >
> > tapeRead is like deltapi but emulates writing to magnetic tape buffer:
> > tapeRead aIn, kDelay, kRandomSpread
> >
> > tapeWrite is like delayw for tape:
> > tapeWrite aIn, aOut, kFbGain
> >
> > With these two functions we can create more involved algorithms:
> >
> > Here is the example of single head tape-delay:
> >
> > opcode TapeEcho, a, akkkkk
> >
> >   aIn, kDelay, kEchoGain, kFbGain, kTone, kRandomSpread xin
> >
> >   aDummy delayr 16
> >   aEcho tapeRead aIn, kDelay, kRandomSpread
> >   aOut  = aIn + kEchoGain * aEcho
> >
> >   aOut tone aOut, kTone
> >   tapeWrite aIn, aOut, kFbGain
> >   xout aOut
> >
> > endop
> > Also we can add heads using the same two basic opcodes.
> > You can find example with more heads in the repo.
> >
> > Cheers!
> > Anton
> >
> > Csound mailing list [hidden email]
> > 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
> [hidden email]
> 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
[hidden email]
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 [hidden email] 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 [hidden email] 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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Emulation of magnetic tape delay and echo effect

zappfinger

I tried that, but it does not change much. Maybe I'm doing something wrong. It's a pity, cause repeat rate is a very important feature of the Roland Space Echo..


On 02/04/18 12:25, Anton Kholomiov wrote:
Maybe you can try out feedback and echo-gain parameters.

2018-04-02 11:22 GMT+03:00 Richard <[hidden email]>:

I created a quick Cabbage (1.x) GUI for this. The strange thing is, I cannot somehow influence the 'repeat' rate..
Also, saving and recalling preset does not seem to work, but for the rest it is nice to play around with the settings.

Richard


On 01/04/18 22:02, Anton Kholomiov wrote:
Thanks for feedback!

Also it can be applied to improve pads with great effect.
It makes them more "organic", when implementing this
I was looking for the boards of Canada sound.

Actually the implementation can be improved. But it requires a bit more involved algorithm.
By discussion with the author. He proposes to upsample the audio when writing to buffer
(to emulate the resolution of the tape) and then downsample with anti-aliasing filter.

Actually if you increase the feedback you can hear the high-pitched aliasing artifacts
in the current implementation.

2018-04-01 21:52 GMT+03:00 Tarmo Johannes <[hidden email]>:
Very nice, indeed!

tarmo

On pühapäev, 1. aprill 2018 21:43.13 EEST you wrote:
> Absolutely brilliant!
> I’ve wanted a Roland Space Echo ever since I tried one in a second hand shop
> some 25 years ago...
>
> Regards,
> Anders
>
> > 1 apr. 2018 kl. 17:50 skrev Anton Kholomiov <[hidden email]>:
> >
> > I’d like to share the Csound opcodes for magnetic tape delay and echo
> > effect. It’s reimplementation of original code from the paper:
> >
> > Real-time digital modeling of the Roland Space Echo by Jon Downing,
> > Christian Terjesen (ECE 472 - Audio Signal Processing, May 2016)
> >
> > The author was kind to share the source code of the paper.
> > here is the csound implementation:
> >
> > https://github.com/anton-k/pure-csound/tree/master/fx/tape-echo
> >
> > The test - contains the code to try out the delay.
> > Here you can find some audio examples:
> >
> > https://yadi.sk/d/hCi3xseM3Ty2P5
> >
> > The interesting part of this implementation is that it’s modular.
> > The are two main opcodes:
> >
> > tapeRead is like deltapi but emulates writing to magnetic tape buffer:
> > tapeRead aIn, kDelay, kRandomSpread
> >
> > tapeWrite is like delayw for tape:
> > tapeWrite aIn, aOut, kFbGain
> >
> > With these two functions we can create more involved algorithms:
> >
> > Here is the example of single head tape-delay:
> >
> > opcode TapeEcho, a, akkkkk
> >
> >   aIn, kDelay, kEchoGain, kFbGain, kTone, kRandomSpread xin
> >
> >   aDummy delayr 16
> >   aEcho tapeRead aIn, kDelay, kRandomSpread
> >   aOut  = aIn + kEchoGain * aEcho
> >
> >   aOut tone aOut, kTone
> >   tapeWrite aIn, aOut, kFbGain
> >   xout aOut
> >
> > endop
> > Also we can add heads using the same two basic opcodes.
> > You can find example with more heads in the repo.
> >
> > Cheers!
> > Anton
> >
> > Csound mailing list [hidden email]
> > 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
> [hidden email]
> 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
[hidden email]
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 [hidden email] 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 [hidden email] 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 [hidden email] 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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Emulation of magnetic tape delay and echo effect

Anton Kholomiov
Or maybe I've got the bug, need to check this out,
parameter of feed-back is updated through the leaky integrator
to capture the tape dynamics? maybe I didn't recoded it right

2018-04-02 13:41 GMT+03:00 Richard <[hidden email]>:

I tried that, but it does not change much. Maybe I'm doing something wrong. It's a pity, cause repeat rate is a very important feature of the Roland Space Echo..


On 02/04/18 12:25, Anton Kholomiov wrote:
Maybe you can try out feedback and echo-gain parameters.

2018-04-02 11:22 GMT+03:00 Richard <[hidden email]>:

I created a quick Cabbage (1.x) GUI for this. The strange thing is, I cannot somehow influence the 'repeat' rate..
Also, saving and recalling preset does not seem to work, but for the rest it is nice to play around with the settings.

Richard


On 01/04/18 22:02, Anton Kholomiov wrote:
Thanks for feedback!

Also it can be applied to improve pads with great effect.
It makes them more "organic", when implementing this
I was looking for the boards of Canada sound.

Actually the implementation can be improved. But it requires a bit more involved algorithm.
By discussion with the author. He proposes to upsample the audio when writing to buffer
(to emulate the resolution of the tape) and then downsample with anti-aliasing filter.

Actually if you increase the feedback you can hear the high-pitched aliasing artifacts
in the current implementation.

2018-04-01 21:52 GMT+03:00 Tarmo Johannes <[hidden email]>:
Very nice, indeed!

tarmo

On pühapäev, 1. aprill 2018 21:43.13 EEST you wrote:
> Absolutely brilliant!
> I’ve wanted a Roland Space Echo ever since I tried one in a second hand shop
> some 25 years ago...
>
> Regards,
> Anders
>
> > 1 apr. 2018 kl. 17:50 skrev Anton Kholomiov <[hidden email]>:
> >
> > I’d like to share the Csound opcodes for magnetic tape delay and echo
> > effect. It’s reimplementation of original code from the paper:
> >
> > Real-time digital modeling of the Roland Space Echo by Jon Downing,
> > Christian Terjesen (ECE 472 - Audio Signal Processing, May 2016)
> >
> > The author was kind to share the source code of the paper.
> > here is the csound implementation:
> >
> > https://github.com/anton-k/pure-csound/tree/master/fx/tape-echo
> >
> > The test - contains the code to try out the delay.
> > Here you can find some audio examples:
> >
> > https://yadi.sk/d/hCi3xseM3Ty2P5
> >
> > The interesting part of this implementation is that it’s modular.
> > The are two main opcodes:
> >
> > tapeRead is like deltapi but emulates writing to magnetic tape buffer:
> > tapeRead aIn, kDelay, kRandomSpread
> >
> > tapeWrite is like delayw for tape:
> > tapeWrite aIn, aOut, kFbGain
> >
> > With these two functions we can create more involved algorithms:
> >
> > Here is the example of single head tape-delay:
> >
> > opcode TapeEcho, a, akkkkk
> >
> >   aIn, kDelay, kEchoGain, kFbGain, kTone, kRandomSpread xin
> >
> >   aDummy delayr 16
> >   aEcho tapeRead aIn, kDelay, kRandomSpread
> >   aOut  = aIn + kEchoGain * aEcho
> >
> >   aOut tone aOut, kTone
> >   tapeWrite aIn, aOut, kFbGain
> >   xout aOut
> >
> > endop
> > Also we can add heads using the same two basic opcodes.
> > You can find example with more heads in the repo.
> >
> > Cheers!
> > Anton
> >
> > Csound mailing list [hidden email]
> > 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
> [hidden email]
> 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
[hidden email]
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 [hidden email] 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 [hidden email] 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 [hidden email] 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 [hidden email] 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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Emulation of magnetic tape delay and echo effect

rorywalsh
In reply to this post by zappfinger
I'll try this out when I get a chance. 

On Mon 2 Apr 2018, 10:22 Richard, <[hidden email]> wrote:

I created a quick Cabbage (1.x) GUI for this. The strange thing is, I cannot somehow influence the 'repeat' rate..
Also, saving and recalling preset does not seem to work, but for the rest it is nice to play around with the settings.

Richard

On 01/04/18 22:02, Anton Kholomiov wrote:
Thanks for feedback!

Also it can be applied to improve pads with great effect.
It makes them more "organic", when implementing this
I was looking for the boards of Canada sound.

Actually the implementation can be improved. But it requires a bit more involved algorithm.
By discussion with the author. He proposes to upsample the audio when writing to buffer
(to emulate the resolution of the tape) and then downsample with anti-aliasing filter.

Actually if you increase the feedback you can hear the high-pitched aliasing artifacts
in the current implementation.

2018-04-01 21:52 GMT+03:00 Tarmo Johannes <[hidden email]>:
Very nice, indeed!

tarmo

On pühapäev, 1. aprill 2018 21:43.13 EEST you wrote:
> Absolutely brilliant!
> I’ve wanted a Roland Space Echo ever since I tried one in a second hand shop
> some 25 years ago...
>
> Regards,
> Anders
>
> > 1 apr. 2018 kl. 17:50 skrev Anton Kholomiov <[hidden email]>:
> >
> > I’d like to share the Csound opcodes for magnetic tape delay and echo
> > effect. It’s reimplementation of original code from the paper:
> >
> > Real-time digital modeling of the Roland Space Echo by Jon Downing,
> > Christian Terjesen (ECE 472 - Audio Signal Processing, May 2016)
> >
> > The author was kind to share the source code of the paper.
> > here is the csound implementation:
> >
> > https://github.com/anton-k/pure-csound/tree/master/fx/tape-echo
> >
> > The test - contains the code to try out the delay.
> > Here you can find some audio examples:
> >
> > https://yadi.sk/d/hCi3xseM3Ty2P5
> >
> > The interesting part of this implementation is that it’s modular.
> > The are two main opcodes:
> >
> > tapeRead is like deltapi but emulates writing to magnetic tape buffer:
> > tapeRead aIn, kDelay, kRandomSpread
> >
> > tapeWrite is like delayw for tape:
> > tapeWrite aIn, aOut, kFbGain
> >
> > With these two functions we can create more involved algorithms:
> >
> > Here is the example of single head tape-delay:
> >
> > opcode TapeEcho, a, akkkkk
> >
> >   aIn, kDelay, kEchoGain, kFbGain, kTone, kRandomSpread xin
> >
> >   aDummy delayr 16
> >   aEcho tapeRead aIn, kDelay, kRandomSpread
> >   aOut  = aIn + kEchoGain * aEcho
> >
> >   aOut tone aOut, kTone
> >   tapeWrite aIn, aOut, kFbGain
> >   xout aOut
> >
> > endop
> > Also we can add heads using the same two basic opcodes.
> > You can find example with more heads in the repo.
> >
> > Cheers!
> > Anton
> >
> > Csound mailing list [hidden email]
> > 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
> [hidden email]
> 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
[hidden email]
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 [hidden email] 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 [hidden email] 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 [hidden email] 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