Ok. Getting closer
The audio output on one side (right) is because you have written the audio output from instr 14 like:
outch 2, aconv
This explicitly defines audio output on channel 2 (stereo right channel), and nothing on channel 1.
**
You will want to use two instances of liveconv, one for each stereo channel. I think you had this in an earlier example). Also, you want to use a different IR for each of these two instances. Like:
a1 inch 1
a2 inch 2
kupdate chnget âconv_updateâ
aconv1 liveconv a1, giIR_record1, 32768, kupdate, 0
aconv2 liveconv a1, giIR_record2, 32768, kupdate, 0
outs aconv1, aconv2
Also allocate two record tables, lik:
giIR_record1 ftgen 0, 0, 131072, 2, 0
giIR_record2 ftgen 0, 0, 131072, 2, 0
You want to split the IR switch control from the instrument that reads audio and out it in the record table.
So in instr 1
if chnget:k(âswitcherâ)==1 then
event âiâ, 0, 13, -1
endif
and in instr 13 you do almost what you have done now, skipping the chnget switcher,
and also take care to write these two signals each to their own record table giIR_record1 and giIR_record2. Do note that these represent the convolution IR for the left and right channel (not two different impulse responses). So, in order to switch IR you need to make instr 13 read from another audio source, depending on the setting of the switch.
To do this, then in instr 1 you could do it like:
if changed(chnget:k(âswitcherâ))==1 then
event âiâ, 0, 13, -1, chnget:k(âswitcherâ)
endif
and in instr 13:
if p4 == 1 then
a1 diskin2 âD://Cabbage/firstIR_left.wavâ, 1 ;, iskip
a2 diskin2 âD://Cabbage/firstIR_right.wavâ, 1 ;, iskip
endif
if p4 == 2 then
a1 diskin2 âD://Cabbage/secondIR_left.wavâ, 1 ;, iskip
a2 diskin2 âD://Cabbage/secondIR_right.wavâ, 1 ;, iskip
endif
(This can be done more elegantly, but it should work like this)
All of this done without testing, so please excuse any typos or other errors I might have made