Re: [Csnd] How to implemement octave divider?
Date | 2020-01-30 09:33 |
From | Mikoláš Štrajt |
Subject | Re: [Csnd] How to implemement octave divider? |
For anyone not familiar with the concept, an "octave diviider" it was used (mainly) because frequency divider was cheaper that another oscillator. Sub oscillator or organ harmonics was implemented this way. I can't think of any way to do that in Csound, though. Maybe This is why I am looking for it. I had a similar concern in the Hammond simulator I wrote, this looks exactly like something I am looking for. How did you implemented that sync? Could you provided more hints (opcode names) or example code? I found some example of hadsync using syncphasor - see https://github.com/rorywalsh/cabbage/blob/master/Examples/Instruments/Synths/HardSyncSynth.csd Is this something similar to what you used? Maybe something like that would suffice here? |
Date | 2020-01-30 12:07 |
From | 00000008a49663bc-dmarc-request@LISTSERV.HEANET.IE |
Subject | Re: [Csnd] How to implemement octave divider? |
To fake octave fuzz pedals method I use abs opcode and dcblock (a crude full wave rectifier), works with guitar, maybe can be useful.
Bye
Stefano
|
Date | 2020-01-30 19:27 |
From | Pete Goodeve |
Subject | Re: [Csnd] How to implemement octave divider? |
Attachments | None |
Date | 2020-01-30 20:04 |
From | Victor Lazzarini |
Subject | Re: [Csnd] [EXTERNAL] Re: [Csnd] How to implemement octave divider? |
My approach implementing tonewheels was to have all 96 tone wheels as constant running oscs synced to each other and when a note was played, it just tapped whatever tonewheels it required according to freq and drawbars. Prof. Victor Lazzarini Maynooth University Ireland > On 30 Jan 2020, at 19:28, Pete Goodeve |
Date | 2020-01-30 20:30 |
From | Pete Goodeve |
Subject | Re: [Csnd] [EXTERNAL] Re: [Csnd] How to implemement octave divider? |
Attachments | None |
Date | 2020-01-30 21:03 |
From | mskala@ANSUZ.SOOKE.BC.CA |
Subject | Re: [Csnd] [EXTERNAL] Re: [Csnd] How to implemement octave divider? |
On Thu, 30 Jan 2020, Pete Goodeve wrote: > On Thu, Jan 30, 2020 at 08:04:53PM +0000, Victor Lazzarini wrote: > > My approach implementing tonewheels was to have all 96 tone wheels as constant running oscs synced to each other and when a note was played, it just tapped whatever tonewheels it required according to freq and drawbars. > > > I was worried that running 91 oscillators continuously would be > a heavy load (my machine was quite a bit slower back then!) > Might be a simpler approach now. In the actual organ, the tonewheels are all on the same shaft, right? So I wonder if it would make sense to just have one global oscillator representing the position of the shaft, and feed it through one lookup table per tonewheel, doing the lookup only for the tonewheels you're actually using. -- Matthew Skala mskala@ansuz.sooke.bc.ca People before tribes. https://ansuz.sooke.bc.ca/ 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 |
Date | 2020-01-30 21:17 |
From | Victor Lazzarini |
Subject | Re: [Csnd] [EXTERNAL] Re: [Csnd] How to implemement octave divider? |
yep, something like that is what I have used I think. If not, that’s the right approach, 1 phasor at the lowest freq and then table readers scaling these by the correct amounts. ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 30 Jan 2020, at 21:03, mskala@ansuz.sooke.bc.ca wrote: > > On Thu, 30 Jan 2020, Pete Goodeve wrote: >> On Thu, Jan 30, 2020 at 08:04:53PM +0000, Victor Lazzarini wrote: >>> My approach implementing tonewheels was to have all 96 tone wheels as constant running oscs synced to each other and when a note was played, it just tapped whatever tonewheels it required according to freq and drawbars. >>> >> I was worried that running 91 oscillators continuously would be >> a heavy load (my machine was quite a bit slower back then!) >> Might be a simpler approach now. > > In the actual organ, the tonewheels are all on the same shaft, right? So > I wonder if it would make sense to just have one global oscillator > representing the position of the shaft, and feed it through one lookup > table per tonewheel, doing the lookup only for the tonewheels you're > actually using. > > -- > Matthew Skala > mskala@ansuz.sooke.bc.ca People before tribes. > https://ansuz.sooke.bc.ca/ > > 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 |
Date | 2020-01-30 21:18 |
From | Jana Hübenthal |
Subject | Re: [Csnd] [EXTERNAL] Re: [Csnd] How to implemement octave divider? |
That approach sounds exactly right! Am 30.01.20 um 22:03 schrieb mskala@ANSUZ.SOOKE.BC.CA: > On Thu, 30 Jan 2020, Pete Goodeve wrote: >> On Thu, Jan 30, 2020 at 08:04:53PM +0000, Victor Lazzarini wrote: >>> My approach implementing tonewheels was to have all 96 tone wheels as constant running oscs synced to each other and when a note was played, it just tapped whatever tonewheels it required according to freq and drawbars. >>> >> I was worried that running 91 oscillators continuously would be >> a heavy load (my machine was quite a bit slower back then!) >> Might be a simpler approach now. > In the actual organ, the tonewheels are all on the same shaft, right? So > I wonder if it would make sense to just have one global oscillator > representing the position of the shaft, and feed it through one lookup > table per tonewheel, doing the lookup only for the tonewheels you're > actually using. > 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 |
Date | 2020-01-30 21:20 |
From | Victor Lazzarini |
Subject | Re: [Csnd] [EXTERNAL] Re: [Csnd] How to implemement octave divider? |
I know someone who used a similar approach to do a tonewheel in an arduino (but not the base model, a better one), and he managed to fit all oscillators within the compute budget. I think modern computers should be able to handle 90 odd oscillators in Csound with no problems, but have not tested it widely ;) ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 30 Jan 2020, at 20:30, Pete Goodeve |
Date | 2020-01-30 21:30 |
From | Pete Goodeve |
Subject | Re: [Csnd] [EXTERNAL] Re: [Csnd] How to implemement octave divider? |
Attachments | None |
Date | 2020-01-30 21:46 |
From | mskala@ANSUZ.SOOKE.BC.CA |
Subject | Re: [Csnd] [EXTERNAL] Re: [Csnd] How to implemement octave divider? |
On Thu, 30 Jan 2020, Pete Goodeve wrote: > > > In the actual organ, the tonewheels are all on the same shaft, right? So > > > I wonder if it would make sense to just have one global oscillator > I'm not sure that's actually possible! The wheels may all be driven > by the same motor, but they're not on the same shaft, There are It could still be done with one oscillator per gear ratio - there still are fewer of them than there are tonewheels - or by making the master oscillator really slow. But that does make things more complicated. -- Matthew Skala mskala@ansuz.sooke.bc.ca People before tribes. https://ansuz.sooke.bc.ca/ 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 |
Date | 2020-01-30 21:55 |
From | Victor Lazzarini |
Subject | Re: [Csnd] [EXTERNAL] Re: [Csnd] How to implemement octave divider? |
It can be done alright. A phasor at a low frequency, and then each table lookup is scaled to the correct frequency. Everything is locked in phase then. Prof. Victor Lazzarini Maynooth University Ireland > On 30 Jan 2020, at 21:46, mskala@ANSUZ.SOOKE.BC.CA |
Date | 2020-01-30 22:23 |
From | Pete Goodeve |
Subject | Re: [Csnd] [EXTERNAL] Re: [Csnd] How to implemement octave divider? |
Attachments | None |
Date | 2020-01-30 22:28 |
From | Pete Goodeve |
Subject | Re: [Csnd] [EXTERNAL] Re: [Csnd] How to implemement octave divider? |
Attachments | None |
Date | 2020-01-31 07:48 |
From | Pete Goodeve |
Subject | Re: [Csnd] How to implemement octave divider? |
Attachments | None |
Date | 2020-01-31 10:06 |
From | Victor Lazzarini |
Subject | Re: [Csnd] [EXTERNAL] [Csnd] How to implemement octave divider? |
Maybe I wasn’t speaking clearly, 12 phasors at the fundamentals a1 phasor ifr as tablei a1*iscale,-1,1,0,1 iscale being the harmonic associated with a drawbar. best ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 31 Jan 2020, at 07:48, Pete Goodeve |
Date | 2020-01-31 19:04 |
From | Pete Goodeve |
Subject | Re: [Csnd] [EXTERNAL] [Csnd] How to implemement octave divider? |
Attachments | None |