So I’ve noticed this is an issue that has come up a few times. I’m not 100% sure the setup I have now is the best but I’m hoping that documenting what worked for me will be helpful for others.
The setup I have right now does the following:
- Sonic Pi sends midi signals to vital synth
- Vital sends audio to Sonic Pi (and does not send any sound to computer speaker)
- Sonic Pi sends sound to computer speakers
What worked for me
- Install VoiceMeeter
- Restart computer
- Start VoiceMeeter
- Open ‘Sound mixer options’, which you can find by searching it in the start bar
- Set the default output to ‘Speakers / Headphones’ and default input as ‘VoiceMeeter Output’
- Open Vital and Sonic Pi
- Set the audio output in Vital to ‘VoiceMeeter Input’ (you can find the settings by clicking the Vital logo)
- Send midi and receive audio in sonic pi (note: I used loopMIDI for midi routing)
live_loop :vital do
midi :c, sustain: 0.5, port: "vital"
sleep 1
midi :e, sustain: 0.75, port: "vital"
sleep 1
end
live_audio :vital, input: 1
Note that VoiceMeeter only has on virtual input/output as far as I can tell, but it seems that the same company have other programs that have more than one input if that is something you need.
What didn’t work for me
- Leaving the output & input as default in the Windows mixer. With the output as default sonic pi’s audio went through VoiceMeeter. With the input left as default I couldn’t find the right input channel in Sonic Pi.
- Jack. I tried for ages to get it to work yesterday, including installing ASIO4ALL and Synchronous Audio Router. Technically the jack program was running, with both default windows sound and ASIO4ALL, but I couldn’t manage to do any routing.