Finally did some tests with per-fragment panning!
At the moment I am not entirely sure how effective this is sound-wise. The panning movements within the individual fragments can get easily lost when many voices are playing at once or when the fragments are short etc…My initial hunch that the static pan positions per fragment are enough for HourGlass might be right.
The additional CPU load might not be too much though and the per-fragment panning can also be turned off. For now this is just doing a simple linear interpolation (straight line) between 2 pan coordinates. Allowing more complicated paths might be more interesting sonically, or not…
Making a suitable GUI for this may be quite involved. The solution which seems obvious at first, just letting the user draw a pan path is not really enough. Each fragment should be able to have its own panning path. But the user can’t really be expected to draw hundreds of paths etc…Now, there are solutions to this like the user drawing a few paths which are then assigned to the voices in a round robin fashion or randomly etc. But I need to think this further before making anything too complicated since it’s not entirely clear if the per-fragment panning paths even sound that interesting at the moment.
Oops, a few weeks already slipped by without any news.
I am still working on the surround/multichannel stuff in HourGlass. Still not quite ready for release. Lots of details to worry about and there probably still are plain buggy behaviors in some parts because they assume mono or stereo processing.
Still working on it! Hopefully a public release isn’t too far off.
I’ve added routing matrices to multiple places in the signal path, so monitoring and processing with various audio interface and effect/plugin configurations should now be possible.
-The audio file preview has separate routing matrices for files of 1 to 8 channels.
-Each mixer channel has a routing matrix at the output
-Each effect/plugin in the mixer has a routing matrix for both the input and output
Still working on the multichannel stuff in HourGlass.
Plugins/effects in the mixer now work to the extent that things won’t crash or sound corrupted when more than 2 channels are in use. This however was implemented rather crudely at this point, the effects are simply made to process the first 2 channels and pass the rest of the channels unprocessed. I can probably make most of the HourGlass built-in effects support multichannel processing but 3rd party VST plugins are trickier. (Many of them don’t support processing more than 2 channels.) A system would need to be implemented that instantiates several copies of the plugins and gangs the parameters etc…That will be somewhat involved to do and probably won’t make it into the initial HourGlass 1.5 release.
Some things still need to be added. Previewing the loaded sounds probably doesn’t at the moment work for multichannel files or outputs. A channel routing system should be added to the master channel. A multichannel panner DSP effect/module would be nice to have too…
HourGlass can now import and play back up to 4 channel sound files, with output panning of each of the input channels. Adding support for up to some sane number of input file channels isn’t too hard…4 was just a convenient amount to test with, that is different from 2 and isn’t something odd like 3. (The colors of the dots in the Spatialization window indicate which input channel is panned to what location in the output.)
Did a very crude freehand drawing thing for the surround pan positions…It should be clear at least my own mouse freehand drawing skills are not great ;) So I guess I need to add a way to draw straight lines, curves or something to this…(For Tom : This still is about the static pan positions of the grains/fragments. Making the grains have an internal panning envelope is still something I am considering, but not started implementing yet.)
Added some Eel scripting support and visualization of the voice pan positions.
This won’t completely depend on the user being able to write scripts. I will include some presets and probably also think of some kind of a visual designer for the pan movements…