So many thoughts. So little time.

Category Archives: Music Creating Tech

Remote Piano Lessons via Skype or (preferably) Hangouts-On-Air in “Studio” mode Tutorial

Here is a somewhat advanced tutorial on how to give remote piano lessons (or any instrument, really) using a virtual instrument (VSTi) ASIO host. I use Cantabile 3 in this video as the  VSTi host, Voicemeeter Pro “Banana” as a virtual mixing board, and I show both how to use Skype and Hangouts-On-Air. A zip file with the Voicemeeter settings is at the bottom of this post.

Hangouts-On-Air have a far better option for the audio for sharing musical content. Its “Studio” mode is far, far superior to either an HOA’s “Voice” mode or Skype’s compressor for audio, so though it takes up the last half of this video, I felt it was important to show how to set that up also.

You could use the exact same setup to teach someone how to use any audio-producing program that uses ASIO where you need to interface with either video-conferencing software or recording/streaming software (like OBS) that only accepts WDM style inputs. Give lessons on using DAWs, Cantabile, standalone instruments and VST plugins, etc.

Here is the link to the Voicemeeter setup file mentioned in the video:

Thanks to Lee Rouse for getting this conversation started, which led to the making of this video.

For Hangouts-On-Air – CHECKLIST

1) Set up a YouTube channel if you haven’t already

2) Click your user icon at the top right and select “Creator Studio”

3) Click at the left into “Live Streaming” and click on Events

4) Click on the far-right on “Create new event”

5) Select “Quick (Using Google Hangouts On air)” from the radio buttons toward the right near the bottom – that sets up a Hangout-On-Air as the format

6) Set it from “Public” to “Private” or “Unpublished”.

7) Start the hangout by clicking “Go Live Now” — that does not mean you need to start calling now, it just lets you get the viewing links and set up the audio and video in advance. (You can also schedule events to happen in the future in advance… even after this step!)

8) At the lower right, click the “Links” button to get the link to the YouTube video to share, and also an embed code for putting it on your blog page (which can be a private page, of course, only visible to your student), and then DEFINITELY copy the link from the top address bar that leads back to this HOA, which you can email to yourself and to the other person(s) so they can join it. When you return to it, just hit the “Join” button and you are in. Up to 10 people can participate in a normal hangout. (Up to 25 if you have a “G-Suite Basic or Business” account.)

9) Click the gear at the top and set your microphone to Voicemeeter Output and your speaker to Voicemeeter Input. I advise changing the audio from “Voice” to “Studio” and keeping your levels at or below -12dB. Click “Save”.

10) This HOA is now set up – clicking the “Start Broadcast” button will begin the recording. You can continue without recording by just leaving this open and not hitting the “Start Broadcast” button. When finished Recording (that is, “Broadcasting”), hit “Stop Broadcast” FIRST and then hit the red-phone button at the top to hang up. If you do not hit “Stop Broadcast” before hanging up, it will continue recording for four hours then disconnect itself.

11) Once all this is set up, hit the Red Phone to hang up and shut the hangout window if you are not making the call right away. This all stays available as long as you don’t use it (so retain that link from the address bar you got – makes it a pseudo “Skype” for you and your student to use, with better audio!). This now also appears in the list of your scheduled events at at the bottom, where you can change the time so it is scheduled for a specific date by editing the “Basic Info” page, or you can alternatively start the hangout from there on your end, and get the address bar link and other links to share if you had forgotten to earlier. It will stay there until you use it, so if you don’t ever broadcast and stop-broadcast, it stays around to use again and again. You can get rid of unused ones by checking the box to its left and going to the top under “Actions” and selecting “Delete”.

12) Extra: You actually can view the live stream from the tab to the right of the “Basic” one which now shows a “Live Control Room” link. View the stream from the “Preview” section by hitting the play button in the middle of the video there. The “Public” view will not be active until you show up to start the broadcast.

That’s it! Seems like a lot the first time, but it is really quite simple. This checklist will always be handy, though!

When ready, click the link you saved to enter the hangout, hit “Join” and optionally start the broadcast (begin recording) when you are ready. Or just re-use this as a hi-fidelity version of Skype by having students join at the proper time with their link.

Here are useful links:
Voicemeeter setup file:

Voicemeeter Pro “Banana”

Cantabile 3 (Demo download includes free “Lite” version)

Samplitude Hardware Controller Mapping – Pro X2 & Pro X3

I am about to make a video showing how I set up my Akai MPK249 and Alesis QX49 controllers, as well as the knobs on my Kawai K5000 additive synth and the sliders and buttons on my Peavey PC1600x controller box to control various settings in both the mixer and within plugins.


Before I do, here are my notes – the outline thus far. I would appreciate any suggestions for improvements to these before I commit this all to a video format! biggrin.png


Samplitude Hardware Controller Mapping

First, hit “Y” to get to the settings, then click “Hardware Controllers” and once there on the Basic Settings page, add the controller as a new controller by clicking “Add New”, choosing “New” from the list (or perhaps a preset if you have an included controller), select its input (and output if it can react to messages sent to it) and use Save As to give it a name. All done here.


On the Options page, set things up as follows:



Protocol = Generic MIDI
Internal Mode = Default Set
Tracks = 8
(for most controllers, equals number of sliders. Arturia Keylab series would use 9.)
Bank Switch Count = 8
(for most controllers, equals number of sliders in each bank. Arturia Keylab series would use 9.)
Output to Disable
Display Mode, Time Display Mode, Peak Meter Mode all to OFF
Check Ignore Sysex Input Data
Check Do not send Sysex Data
Un-Check Use Assignment Display
Un-Check Use Knob LEDs



Now to the Customize Controllers page. We are going to use the “Hardware Controller Easy Learn” process to add our controllers. Note: The manual does not, at the time of this video, show the “MIDI Learn” checkbox. This is not needed for the “Hardware Controller Easy Learn” approach to add controls from the Mixer, but it MUST be checked to use the Hardware Controller Easy Learn from any plugins for that menu item to appear as “checked” and work at all. You can check that box now, and then close the Hardware Controllers dialog for the time being, as we will be first working with the Mixer.




The following image shows a Mixer menu with Hardware Controller Easy Learn enabled. Show this menu by either right-clicking the mixer menu bar or by left-clicking the system icon on the left of the mixer, or for plugins by clicking the word “Plugin”. This item will already be checked if you have “MIDI Learn” checked in the Customize Controllers page (required for plugins). You can still access it here in this menu to un-check Hardware Controller Easy Learn in order to terminate the selection and the controller adding process.




Again, you do NOT actually need MIDI Learn checked to assign the Mixer controls – that only applies to plugins. Also, you can simply add all of your controllers without assigning them to anything from within the Hardware Controller “Customize” dialog by checking the MIDI Learn box and just moving each controller. Then you can assign them later using the “Select Function” box or by using Easy Learn.


With Hardware Controllers Easy Learn checked, you move the screen item you want controlled first, then move the physical controller, and in a few seconds turning the knob or moving the slider will work to move the screen item. If it is not working with certain sliders or knobs, see “If you have some incorrectly sensed items” a little ways down below.


Now enter the Customize Controllers page and you will see in the Easy Learn column on the right all of the assignments that actually worked. Click the title “Easy Learn Function” to sort them, and shift-click to select all the ones having assignments, and then right-click on those and select “Adopt Easy Learn Function” to make it permanent.










Although you have now created some “permanent” assignments, you can use to same “Easy Learn” technique to assign temporary replacements of different items controlled with the same physical controllers, like a plugin, for instance. You can remove individual temporary “Easy Learn” assignments via a right-click (“Delete Easy Learn Function”), or go into the Options page and hit “Restore Modes” to clear them all in one swoop.




If you have some incorrectly sensed items, right-click in the offending control’s “Type” column and select the correct one from the list. Usually the mis-identified ones are sliders or knobs mis-identified as buttons. Simply assign “Fader” in most cases. There are also assignments for two kinds of knobs available, “Absolute” for knobs having a bottom and top position, and “Relative” for encoder-type infinite turn knobs.




My Akai’s buttons are mostly “toggle” style, meaning they send 127 when pressed the first time and zero when pressed the second time, which Samplitude calls a “State Button”. It also can be set to send a “momentary” button press, which sends a 127 when pressed and a zero when released, which Samplitude calls a “Button”. The third kind of button Samplitude can assign is called a “Push Button” – a button that sends a signal when pressed but nothing when released.


Of the knobs and sliders, make sure the knobs and sliders are set on your physical controller to “Controller” for output, and not to “Inc/Dec”.


Lastly for this video. most of your controls will want to be set to “Global track”.





“Active Track” will allow one set of controllers that will work on the selected track upon whichever control item is in that same “slot” or position.


Items like the Master Volume and Monitoring Volume will be of the “Master” type.


This part I am not entirely clear about:

If you use the “Controller Track” type shown above the others, you can change the assignments between “Mixer” and “Active Track” from the Options page.




Synchronize with Active Track: If the active track is changed, the controller area will be adjusted so that the active track is within the controller area.


Synchronize with Mixer: If a change is made to the controller area, the beginning of the mixer area will be adjusted according to the beginning of the controller area.


Also, I could not find any reference in either the Pro X2 or the Pro X3 manual as to what the “Absolute” checkbox shown in the image above actually does.


The biggest “gotcha” for me that was not clear in the manual was that you needed to check the “MIDI Learn” checkbox before the dropdown “Plugin” menu at the upper-left of any plugin would allow me to select the “Hardware Controller Easy Learn” item. (True in both Pro X2 and Pro X3.)


Also, the manual does not actually SHOW the “MIDI Learn” checkbox at all, nor is there any mention of it that I can find.  huh.png


The other major “gotcha” was the unexpected situation of the “Hardware Controller Easy Learn” mis-identifying only CERTAIN knobs and sliders as being buttons. One needs to fix that right away for them to be useful, of course, but at least this IS mentioned in the manuals. mellow.png

The Hardware Controller section of the manual begins on page 445 of the Pro X3 manual, but is on page 498 of the Pro X2 Suite manual, while it is on page 360 of the Pro X manual I downloaded. (Check the table of contents under “Hardware Controllers” for your version of Samplitude if not found on those pages…)

(I just discovered that this same approach is what is necessary to make the Transport buttons work on a Native Instruments (NI) S-Series Komplete Kontrol controller as well.

After setting it up as a General MIDI item (not as a Mackie Universal Control as NI would have you believe), just use MIDI Learn with each transport button and assign from the list as shown above.)

Here are the Word .docx and PDF formats of this article for you to use however you like:

(Right-click link to download) Hardware Controller Mapping.pdf Hardware Controller Mapping.docx