[Bluemusic-users] Status Update - Always-On Instrument Code
Brought to you by:
kunstmusik
From: Steven Yi <ste...@gm...> - 2010-09-25 01:10:31
|
Hi All! Sorry I've been a bit absent for a while, but I got a bit sidetracked with work and other non-music things for a while. I'm happy to say though I'm starting to get back into both working on and with blue. Yesterday, I added a capability to have always-on instrument code for BlueSynthBuilder instruments (may add to other instrument types, but will just leave it on BSB for now). There was some hint to heading in this direction from my last Csound Journal Article (http://www.csounds.com/journal/issue13/emulatingMidiBasedStudios.html). The analysis that lead to this feature is that MIDI and acoustic instruments often break down into sound generation qualities that are per-note as well as per-instrument. Having always-on code that can be encapsulated with the instrument allows modelling things like body filters as well as adding effects like chorus/echo/reverb to the instrument itself. While one can always add always-on effects to a mixer channel, having the capability to add these features to an instrument matches what I see in MIDI software synthesizers. I think it can be an important part of the sound designing process to have the ability to work with always-on sound processing code that is encapsulated with the instrument. To facilitate this feature, I have added a new blue pseudo-opcode, blueMixerIn. If this is used in the always-on code, blueMixerOut will not mix but rather replace the output. This makes sense as we're now modifying the signal from all notes and are replacing it with the affect signal. To note, BSB widget values work perfectly fine when used within the always-on code. I am also currently working on a V2 of my Alpha instrument. It includes selection of filter types, VCF envelope w/depth, and will be including LFO possibilities. (This has been great working with it the past couple of days, being able to select different csound filter types and modifying values in realtime while using blue's MIDI input to play the synthesizer). I will also be adding chorus/delay/reverb to the instrument as well (which of course you could turn on or off). One other feature I will be working on this weekend adding panning to mixer channels (I probably won't need them for sub-channels I believe). The system will work such that if panning is enabled on the mixer channel, only the first signal from a blueMixerOut will be used and pan2 will control panning amount. So, one can create a mono signal instrument, use blueMixerOut with a single output variable, then control panning on the mixer. The feature will be made to be enabled/disabled on a channel by channel on the mixer. If enabled, a panning knob will appear at the top of the channel strip and will be applied before processing of the rest of the effects. (I believe this is the right thing to do before the pre/post-fader effects bins, but let me know if you think it should be applied at a different place). Otherwise, I will be going through the feature request/bug trackers and reviewing my notes to see where things are and will be continuing on with development. Thanks! steven |