Hey folks, I'm trying to create a melda version of the Panharmonium eurorack module. It's a hardware resynthesizer that (from what I can tell) detects the first (up to) 33 harmonics of a sound and uses the detected frequencies and amplitudes to set values of 33 oscillators, thereby recreating the sound. It's like a pitch tracking oscillator but with 33 of them instead of 1.
I can't think of a way to do this in MXXX as you can't separate harmonics using the crossovers in order to do the pitch detection. What may be necessary is a new crossover type that separates a sound into it's highest to lowest harmonics or something similar. Then you could add a pitch tracker to each output.
I was considering using the 'spectral' crossover mode, but it's not 'smart' enough to separate harmonics so you'd end up with bands containing multiple harmonics and therefore pitch tracking wouldn't work correctly (i.e. it would just track the most dominant).
Anyone have any ideas on how to do this?
Here's info on the Panharmonium
http://www.rossum-electro.com/products/panharmonium/
The interesting part comes from how you mess with the resynthesized oscillators after it's been set up, e.g. changing the pitch tracking, etc. It's a pretty awesome effect and I'm not aware of a software equivalent.
Thanks!
Resynthesizer?
- KVRian
- 1094 posts since 23 Sep, 2006
- KVRist
- 34 posts since 19 Jan, 2017
If I remember well, Camel Audio Alchemy (now part of Logic) had that functionality, and it was very good...
Anto
MeldaProduction
MeldaProduction
-
- KVRist
- 115 posts since 30 Dec, 2019
I've been exploring similar concepts over the last month, although approaching it from a slightly different angle in MSoundFactory and using the Additive Synthesis Generator as it can analyse samples offline, rather than the realtime resynthesis angle in MXXX
I think in your case the key may be to use at least one Modulator set in Pitch mode, and then latch on to that base fundamental frquency, and offset everything else from there. You could then control the frequency paramters of each of the oscilators. You might need to duplicate more Modulators and use the Shift panel to offset each one to their respective harmonic. Finding the relationship between each of them and setting them would be a manual process for each new source signal, so not enormously useful, but maybe there's a way to integrate the analysis from Structure tab in the Additive Synthesis Generator in MSoundFactory, in to MXXX as a preset?
Also, you get 16 Modulators in MXXX, but I'd think about embedding instances of MXXX inside the parent MXXX (MXXX inception time lol) this would mean you can potentially have as many bands as you want (depending on your CPU) using the modulators in each of the sub-MXXX for analysis in that respective module, and leave the parent free to play with for other things keeping things cleaner and more manageable.
But yeah, I can't think of how to do the whole signal processing flow in realtime, thnk there's going to have to be a sacrifice somewhere in terms of initial configuration if you want to have something that resynthesizes an incoming signal in realtime at the end.
I think in your case the key may be to use at least one Modulator set in Pitch mode, and then latch on to that base fundamental frquency, and offset everything else from there. You could then control the frequency paramters of each of the oscilators. You might need to duplicate more Modulators and use the Shift panel to offset each one to their respective harmonic. Finding the relationship between each of them and setting them would be a manual process for each new source signal, so not enormously useful, but maybe there's a way to integrate the analysis from Structure tab in the Additive Synthesis Generator in MSoundFactory, in to MXXX as a preset?
Also, you get 16 Modulators in MXXX, but I'd think about embedding instances of MXXX inside the parent MXXX (MXXX inception time lol) this would mean you can potentially have as many bands as you want (depending on your CPU) using the modulators in each of the sub-MXXX for analysis in that respective module, and leave the parent free to play with for other things keeping things cleaner and more manageable.
But yeah, I can't think of how to do the whole signal processing flow in realtime, thnk there's going to have to be a sacrifice somewhere in terms of initial configuration if you want to have something that resynthesizes an incoming signal in realtime at the end.
- KVRian
- Topic Starter
- 1094 posts since 23 Sep, 2006
Yeah, that's a good idea, but you're right, it without be static resynthesis of an offline sound. Still interesting but very different!
