Way back, we developed this synthesis method called AdFM, some of you may know about it. The basic idea is that you can apply FM to any arbitrary carrier signal. We used a pitch tracker to set c:m ratios and calibrate the index of modulation. In my head, the pitch tracker part was never ideal.
Later on I had the idea to use MIDI data for that instead and get rid of pitch tracking. I did some examples for my classes and I thought it worked OK.
Today I was completing the installation of a new interface in my rig and it had DIN midi input (which I did not have before). To test it, I got a keyboard connected to the input and ran my AdFM code (using a tonewheel source sound). I thought it sounded good, so I recorded a demonstration.
Yes, great sounds! I hope that work can still continue on the pitch tracking approach. That was the missing element in the original Sliding DFT examples (fm applied per sample to each sinusoid of a pvs fft frame) that I did way back in 2007 or so. The examples I used in the ICMC presentation that year are still available on the Bath Uni “dream” site:
I had not “got around” to adding the pitch tracking, maybe partly because I thought the examples ware already interesting, and much cleaner than I had expected, so the results are more like a fancy form of ring modulation. So FTT-based ptich tracking aded to the CUDA-based version of the pvs opcodes should complete the story nicely. My thought was that the latency overall would be low enough that live (real-time) FM applied to an incoming sound (from any voice or instrument) would be practical. Needs a CUDA-supported machine of course, which I never had.
Pitch tracking can still be used, and for pvs, we have a pvs pitch tracker already. The reason I am not too keen on the pitch tracking is
because it can limit certain things and for live performance it is a bit “sketchy” (as my son would say). With less than ideal mic’ing
and room environment it can be difficult.
Taking the cps from a stable, polyphonic, control source seems more flexible to me.
This sounds very nice and usable as a technique in melodic undertakings.
Could you share some code again? A downloadable version would be great.
Unfortunately I couldn't access the webversion you shared of the ring
mod piece.
Ah yes, shows just how long ago I last looked at the opcode list.
Point taken “sketchy”-wise, but there are options nevertheless, from the domain of electric instruments where room acoustics do not impinge at all, or barely. I even still have the Barkus Berry pickup for my flute (replaces the headjoint cork). But I like slides, whether slide guitar, electric violin, or the “shruti veena” I am in the process of making - in effect a 100cm quasi-Pythagorean monochord played with slides, but requiring a guitar-style pickup. And I also have some history with improvisation, which I suspect no amount of MIDI can accurately track! - unless, etc... I inherited a couple of AKG clip-on mics (designed for drums, but more widely applicable), which can effectively exclude a lot of room acoustic. So for anyone with suitable hardware, I still think there are some opportunities worth exploring.
I note, with respect to your piece.csd, that putting -odac into CsOptions, alters the entire rendition (pitch-wise). Also, that this phenomenon is independent of sr or ksmps. Why is that?
(I am on Windows10 and on the console.)
Art H.
Csound mailing list Send bugs reports to Discussions of bugs and features can be posted here