skyscapeparadise
New Member
Hey VI Control,
This is my first post here in this community and I'm really excited to start creating virtual instruments from scratch. As part of my studies as an audio and music student at The Evergreen State College in Olympia, WA, I decided to try and create some virtual instruments based on some of the priceless hardware analog synthesizers we have here. I'm starting with a basic Buchla Music Easel sample set. I'm really proud of how this first attempt sounds.
I recorded three sound sources for the instrument:
My plan for how to make this work was to use simple if statements and variables, and to create a custom modulation envelope in the group editor for each sample group, called FREQBOXMIX and MURFMIX respectively. The one for the dry signal is turned all the way on at default with the "Invert" button selected, and the custom modulation envelopes on the two pedal groups are turned all the way off at default without the "Invert" button selected. I have it set so that when one of the toggles is down, it mutes the other pedal group using the primary envelope for that group (not the custom one).
But right now, the signal doesn't sound right and the knob doesn't do anything so I must have messed up somewhere.
Any insight into what might be wrong would be appreciated a lot! Once I have the code for this project down, I'm planning on creating instruments from a ton of the synthesizers here and submitting them to Christian Henson's Pianobook project for anyone in the world to download for free. Thank you so much for any help you can provide to my efforts.
Kady
This is my first post here in this community and I'm really excited to start creating virtual instruments from scratch. As part of my studies as an audio and music student at The Evergreen State College in Olympia, WA, I decided to try and create some virtual instruments based on some of the priceless hardware analog synthesizers we have here. I'm starting with a basic Buchla Music Easel sample set. I'm really proud of how this first attempt sounds.
I recorded three sound sources for the instrument:
- The dry signal from the synthesizer
- The dry signal passed through the Moogerfooger FreqBox
- The dry signal passed through the Moogerfooger MuRF
My plan for how to make this work was to use simple if statements and variables, and to create a custom modulation envelope in the group editor for each sample group, called FREQBOXMIX and MURFMIX respectively. The one for the dry signal is turned all the way on at default with the "Invert" button selected, and the custom modulation envelopes on the two pedal groups are turned all the way off at default without the "Invert" button selected. I have it set so that when one of the toggles is down, it mutes the other pedal group using the primary envelope for that group (not the custom one).
But right now, the signal doesn't sound right and the knob doesn't do anything so I must have messed up somewhere.
Code:
on init
make_perfview
set_ui_height_px(452)
set_ui_width_px(720)
set_control_par_str ($INST_WALLPAPER_ID, $CONTROL_PAR_PICTURE, "background")
declare ui_slider $dial(0, 1000000)
make_persistent($dial)
declare $dialId
$dialId := get_ui_id($dial)
declare ui_switch $freqbox
make_persistent($freqbox)
declare ui_switch $murf
declare $freqboxId
$freqboxId := get_ui_id($freqbox)
declare $murfId
$murfId := get_ui_id($murf)
declare $drymix
$drymix := find_mod(0, "DRYMIX")
declare $freqboxmix
$freqboxmix := find_mod(1, "FREQBOXMIX")
declare $murfmix
$murfmix := find_mod(2, "MURFMIX")
declare $freqboxmute
declare $murfmute
set_control_par_str($dialId, $CONTROL_PAR_PICTURE, "dial")
set_control_par($dialId, $CONTROL_PAR_POS_X, 280)
set_control_par($dialId, $CONTROL_PAR_POS_Y, 79)
set_control_par($dialId, $CONTROL_PAR_MOUSE_BEHAVIOUR, -750)
set_control_par_str($freqboxId, $CONTROL_PAR_PICTURE, "button")
set_control_par($freqboxId, $CONTROL_PAR_POS_X, 514)
set_control_par($freqboxId, $CONTROL_PAR_POS_Y, 224)
set_control_par_str($murfId, $CONTROL_PAR_PICTURE, "button")
set_control_par($murfId, $CONTROL_PAR_POS_X, 514)
set_control_par($murfId, $CONTROL_PAR_POS_Y, 250)
$freqbox := 1
$murf := 0
$freqboxmute := get_engine_par($ENGINE_PAR_VOLUME, 1, -1, -1)
$murfmute := get_engine_par($ENGINE_PAR_VOLUME, 2, -1, -1)
end on
on ui_control($freqbox)
if ($freqbox=1)
$murf := 0
set_engine_par($ENGINE_PAR_VOLUME, $freqboxmute, 1, -1, -1)
set_engine_par($ENGINE_PAR_VOLUME, 0, 2, -1, -1)
end if
if ($freqbox=0)
$murf := 1
set_engine_par($ENGINE_PAR_VOLUME, $murfmute, 2, -1, -1)
set_engine_par($ENGINE_PAR_VOLUME, 0, 1, -1, -1)
end if
end on
on ui_control($murf)
if ($murf=1)
$freqbox := 0
set_engine_par($ENGINE_PAR_VOLUME, $murfmute, 2, -1, -1)
set_engine_par($ENGINE_PAR_VOLUME, 0, 1, -1, -1)
end if
if ($murf=0)
$freqbox := 1
set_engine_par($ENGINE_PAR_VOLUME, $freqboxmute, 1, -1, -1)
set_engine_par($ENGINE_PAR_VOLUME, 0, 2, -1, -1)
end if
end on
on ui_control($dial)
set_engine_par($drymix, $dial, 0, 1, 0)
set_engine_par($freqboxmix, $dial, 1, 1, 0)
set_engine_par($murfmix, $dial, 2, 1, 0)
end on
Any insight into what might be wrong would be appreciated a lot! Once I have the code for this project down, I'm planning on creating instruments from a ton of the synthesizers here and submitting them to Christian Henson's Pianobook project for anyone in the world to download for free. Thank you so much for any help you can provide to my efforts.
Kady