Csound Csound-dev Csound-tekno Search About

[Csnd] Emulation of magnetic tape delay and echo effect

Date2018-04-01 16:50
FromAnton Kholomiov
Subject[Csnd] Emulation of magnetic tape delay and echo effect

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

Date2018-04-01 17:22
FromRichard
SubjectRe: [Csnd] Emulation of magnetic tape delay and echo effect

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


Date2018-04-01 19:43
FromAnders Genell
SubjectRe: [Csnd] Emulation of magnetic tape delay and echo effect
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 <anton.kholomiov@GMAIL.COM>:

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

Date2018-04-01 19:52
FromTarmo Johannes
SubjectRe: [Csnd] Emulation of magnetic tape delay and echo effect
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 :
> > 
> > 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 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

Date2018-04-01 21:02
FromAnton Kholomiov
SubjectRe: [Csnd] Emulation of magnetic tape delay and echo effect
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 <trmjhnns@gmail.com>:
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 <anton.kholomiov@GMAIL.COM>:
> >
> > 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 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

Date2018-04-02 09:22
FromRichard
SubjectRe: [Csnd] Emulation of magnetic tape delay and echo effect
AttachmentsTapeDelayGUI.csd  

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 <trmjhnns@gmail.com>:
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 <anton.kholomiov@GMAIL.COM>:
> >
> > 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 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


Date2018-04-02 11:25
FromAnton Kholomiov
SubjectRe: [Csnd] Emulation of magnetic tape delay and echo effect
Maybe you can try out feedback and echo-gain parameters.

2018-04-02 11:22 GMT+03:00 Richard <zappfinger@gmail.com>:

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 <trmjhnns@gmail.com>:
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 <anton.kholomiov@GMAIL.COM>:
> >
> > 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 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

Date2018-04-02 11:41
FromRichard
SubjectRe: [Csnd] Emulation of magnetic tape delay and echo effect

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 <zappfinger@gmail.com>:

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 <trmjhnns@gmail.com>:
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 <anton.kholomiov@GMAIL.COM>:
> >
> > 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 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


Date2018-04-02 11:47
FromAnton Kholomiov
SubjectRe: [Csnd] Emulation of magnetic tape delay and echo effect
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 <zappfinger@gmail.com>:

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 <zappfinger@gmail.com>:

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 <trmjhnns@gmail.com>:
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 <anton.kholomiov@GMAIL.COM>:
> >
> > 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 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

Date2018-04-02 12:38
FromRory Walsh
SubjectRe: [Csnd] Emulation of magnetic tape delay and echo effect
I'll try this out when I get a chance. 

On Mon 2 Apr 2018, 10:22 Richard, <zappfinger@gmail.com> 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 <trmjhnns@gmail.com>:
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 <anton.kholomiov@GMAIL.COM>:
> >
> > 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 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