# Helm with Sonic Pi -- audio and midi communication

**URL:** <https://in-thread.sonic-pi.net/t/helm-with-sonic-pi-audio-and-midi-communication/5275>\
**Category:** Support, Help & Resources\
**Created:** [March 18, 2021, 1:24pm UTC](https://in-thread.sonic-pi.net/t/helm-with-sonic-pi-audio-and-midi-communication/5275 "2021-03-18T13:24:41Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![nlb](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/nlb/32/997_2.png) [@nlb](https://in-thread.sonic-pi.net/u/nlb)\
**Post date:** [March 18, 2021, 1:24pm UTC](https://in-thread.sonic-pi.net/t/helm-with-sonic-pi-audio-and-midi-communication/5275/1 "2021-03-18T13:24:41Z")

</div>

Hi,

Have fun today with sonic pi and helm to extend the sound capacity.

Operating System used : Microsoft Windows 10

## Goals :

- send midi to Helm ([Helm by Matt Tytel](https://tytel.org/helm/)) via loop midi ([loopMIDI | Tobias Erichsen](https://www.tobias-erichsen.de/software/loopmidi.html))
- get back the audio from helm via VB Virtual Audio Cable ([VB-Audio Virtual Apps](https://vb-audio.com/Cable/))
- apply some effects into sonic pi on this audio

## install VBCable

See on [VB-Audio Virtual Apps](https://vb-audio.com/Cable/). One virtual cable is enough for now.

## Audio windows settings

The windows 10 audio mixer is not as rotten as that 🙂 because it will memorize your settings for each software.

 ![image](https://europe1.discourse-cdn.com/flex017/uploads/sonic_pi/original/2X/8/8dee3cc65d8dd4e4d358fa1dbe2f32ee1a9c47b5.png)

## Helm settings

 ![image](https://europe1.discourse-cdn.com/flex017/uploads/sonic_pi/original/2X/0/0769625d3dbba6e7e3b0c94d76dc49edf6c8d4a4.png)

## loop-midi settings

 ![image](https://europe1.discourse-cdn.com/flex017/uploads/sonic_pi/original/2X/a/a661b303a6b35fb964cf9d5c7ec9adef3efd5e36.png)

## Script into sonici pi

```ruby
# How to send midi notes to the synth Helm then get back the audio ?
# Softwares used :
# - https://www.tobias-erichsen.de/software/loopmidi.html
# - https://tytel.org/helm/
# - VB The virtual audio Cable

use_bpm 60

live_loop :midiToHelm, delay: 8 do
  ##| stop
  midi (scale :c4, :ritusen).tick, port: "loopmidi-_1"
  sleep 0.25
end

live_loop :midiToHelmItou do
  ##| stop
  use_octave 0
  midi [:c3, :f3].tick, port: "loopmidi-_1", channel: "2"
  sleep 1
end

live_loop :bd do
  
  sample :drum_bass_hard, amp: 2
  sleep 1
 
  sample :drum_bass_hard, amp: 2
  sample :drum_snare_hard, amp: 2
  sleep 0.5
  
  sample :drum_bass_hard, amp: 2
  sleep 0.5
  
end

live_loop :hihats do
  sample :drum_cymbal_open, start: 0.5, rate: 2, amp: [3, 2, 4, 1.5].tick
  sleep 0.25
end

  with_fx :echo, mix: 0.1, phase: 1.5 do
    live_audio :audioFromVBcable, input: 1, stereo: true
  end

```

Just an example in this video to illustrate in real life.

[![](https://img.youtube.com/vi/1qf-DjDw0aU/maxresdefault.jpg "Sonic Pi with Helm synth. Audio and midi communications.") ](https://www.youtube.com/watch?v=1qf-DjDw0aU)

So now you can play helm with sonic pi.  
Hope it helps !

Edit : just to add that you can have fun with some audio coming from google chrome with the settings above, e.g. radio speech

ps : if you see some terrible errors in my english, please let me know 🙂

---

<div class="post-metadata">

**Author:** ![robin.newman](https://avatars.discourse-cdn.com/v4/letter/r/76d3ee/32.png) [@robin.newman](https://in-thread.sonic-pi.net/u/robin.newman)\
**Post date:** [March 18, 2021, 1:40pm UTC](https://in-thread.sonic-pi.net/t/helm-with-sonic-pi-audio-and-midi-communication/5275/2 "2021-03-18T13:40:42Z")

</div>

Great write up! Helm is a cool synth. Also worth saying that it works well with a Mac as well and you can even run it on a Raspberry Pi with Sonic Pi 3.3.1.  
I did [an article](https://rbnrpi.wordpress.com/sonic-pi-helm-synth-touchosc-combined/) using TouchOSC to select synths from Helm from Sonic Pi which you may like to read too.  
EDIT Helm’s successor Vital (from [vital.audio](https://vital.audio)) is also superb (works on Mac and Windows but not RPi).

---

<div class="post-metadata">

**Author:** ![nlb](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/nlb/32/997_2.png) [@nlb](https://in-thread.sonic-pi.net/u/nlb)\
**Post date:** [March 18, 2021, 1:42pm UTC](https://in-thread.sonic-pi.net/t/helm-with-sonic-pi-audio-and-midi-communication/5275/3 "2021-03-18T13:42:00Z")

</div>

> [@robin.newman](#):
>
> you may like to read too.

already read and appreciated Robin ! 🙂

---

<div class="post-metadata">

**Author:** ![nlb](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/nlb/32/997_2.png) [@nlb](https://in-thread.sonic-pi.net/u/nlb)\
**Post date:** [March 18, 2021, 1:42pm UTC](https://in-thread.sonic-pi.net/t/helm-with-sonic-pi-audio-and-midi-communication/5275/4 "2021-03-18T13:42:45Z")

</div>

> [@robin.newman](#):
>
> Great write up! Helm is a cool synth. Also worth saying that it works well with a Mac as well and you can even run it on a Raspberry Pi with Sonic Pi 3.3.1.

the idea was to set the good settings using vbcable too on windows 10.

---

<div class="post-metadata">

**Author:** ![ethancrawford](https://avatars.discourse-cdn.com/v4/letter/e/a88e4f/32.png) [@ethancrawford](https://in-thread.sonic-pi.net/u/ethancrawford)\
**Post date:** [March 18, 2021, 2:03pm UTC](https://in-thread.sonic-pi.net/t/helm-with-sonic-pi-audio-and-midi-communication/5275/5 "2021-03-18T14:03:05Z")

</div>

This looks like fun, definitely going to try it soon. Thanks @nlb 😄

---

<div class="post-metadata">

**Author:** ![din](https://avatars.discourse-cdn.com/v4/letter/d/ccd318/32.png) [@din](https://in-thread.sonic-pi.net/u/din)\
**Post date:** [June 11, 2021, 2:47am UTC](https://in-thread.sonic-pi.net/t/helm-with-sonic-pi-audio-and-midi-communication/5275/6 "2021-06-11T02:47:02Z")

</div>

yeah this is sick I set up it and it works. Only thing that is weird is that the audio for helm does not pipe through sonic pi. Meaning I can’t record it from helm.

---

<div class="post-metadata">

**Author:** ![robin.newman](https://avatars.discourse-cdn.com/v4/letter/r/76d3ee/32.png) [@robin.newman](https://in-thread.sonic-pi.net/u/robin.newman)\
**Post date:** [June 11, 2021, 8:00am UTC](https://in-thread.sonic-pi.net/t/helm-with-sonic-pi-audio-and-midi-communication/5275/7 "2021-06-11T08:00:23Z")

</div>

You need to use a loopback device like blackhole (free) or loopback (paid for) on a Mac or I believe there is similar software available on Windows.  
On Mac set blackhole as default input device (before rstarting Sonic Pi), and select blackhole as output device for vital (click the vital logo and select from output). You can then use  
`live_audio :vitalInput,stereo: true`  
in Sonic Pi to obtain the audio.

---

<div class="post-metadata">

**Author:** ![nlb](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/nlb/32/997_2.png) [@nlb](https://in-thread.sonic-pi.net/u/nlb)\
**Post date:** [June 11, 2021, 8:28am UTC](https://in-thread.sonic-pi.net/t/helm-with-sonic-pi-audio-and-midi-communication/5275/8 "2021-06-11T08:28:52Z")

</div>

Hi

Can you @din confirm you are on windows 10 ?  
Can you send a screenshot of your audio parameters ?

@robin.newman here the software is vbcable. I notice you try promote once again Vital 😆 but helm is better to start little then go to vital but it will need more work to master the beast.

Cheers

---

<div class="post-metadata">

**Author:** ![robin.newman](https://avatars.discourse-cdn.com/v4/letter/r/76d3ee/32.png) [@robin.newman](https://in-thread.sonic-pi.net/u/robin.newman)\
**Post date:** [June 11, 2021, 8:39am UTC](https://in-thread.sonic-pi.net/t/helm-with-sonic-pi-audio-and-midi-communication/5275/9 "2021-06-11T08:39:01Z")

</div>

@nlb I meant to put helm not vital. The procedure is the same.
