How to make a shepard/risset tone with the sine bank module?

Michael O'Hagan
Michael O'Hagan Member Posts: 101 Helper
edited November 23 in Building With Reaktor

I am trying to create a shepard/risset tone generator using the sine bank module, I have tried several different methods and none of them have provided useful results.

I want to have a saw/square wave consisting of 16 harmonic partials rising or falling over time.

Ideally there would be 8 layers to make this sound smooth and clean, so 256 harmonic partials in total.

I need to have 8 groups of 16 rising in ratio and fading in and out of volume over time.

Getting the 16 partials to rise in ratio and fade in volume as groups is proving to be a bit tricky.

Does anyone have any ideas about how to do this?

Thanks

Comments

  • colB
    colB Member Posts: 988 Guru

    Are you trying to generate something that sounds like a clean Saw or Square wave that just keeps rising in pitch? or is it ok to have the unison style phasing and beating effects that naturally occur when multiple complex waves modulate at different frequencies?

  • Michael O'Hagan
    Michael O'Hagan Member Posts: 101 Helper

    Pulsing and beating would be fine.

    I'd preferably like to be able to do both and have a button to switch modes, but getting something working as a starting point is where I am at now, so I'll kinda take what I can get to get things going.

  • colB
    colB Member Posts: 988 Guru

    One tricky bit with the sine bank is that the base pitch is a 'pitch' whereas the individual partials have a ratio derived from that pitch.

    however it is not the ratio P/PBase !!!

    (where P is whatever pitch you need that partial to be, and PBase is the base pitch at the other input… no way, that would be too simple ;))

    Instead, as described in the tool tip, it is the ratio of the two frequencies… so first you need to convert both pitches to frequencies, then divide F by FBase, and finally, you have the correct value for the ratio input.

    For some sine bank stuff, working with frequency ratios makes total sense (hence why it's set up like that), but for a shepard tone, we want to work in pitch, not in frequency, and it's easy to forget to make the conversions.

  • colB
    colB Member Posts: 988 Guru

    So I had some free time and I haven't really tried to use the sine bank before, so I hacked my old shepard implementation to work with the sine bank.

    One interesting thing I realised:

    If you have the different voices at arbitrary intervals, it's a nice gnarly sound, but it doesn't sound like saw or square, just a thick rising atonal sound. However, remebering how complex waves are constructed from sines, it makes sense that if the rising voices are spaced the same as partials of a saw or sine, then the sound is much cleaner. You can hear that there is more than one sound, but it works well. So for saw I used 8 voices (you were absolutely right, 8 is plenty) spaced in octaves, and for square, 4 voices spaced in double octaves (square is odd harmonics only, so two octave jumps between partials)

    It's a pretty simple structure, but if you have any questions about exactly ****** is going on in there, just ask.

  • Michael O'Hagan
    Michael O'Hagan Member Posts: 101 Helper

    Thank you, was a little busy over thanksgiving, I'll give this a look and see if I can implement its technique into my existing build, thanks, and happy holidays.

Back To Top