FLS10 – External MIDI Device Recording and Playback

External MIDI Device Recording and Playback

OK, I am going to apologise in advance to some not-so-techie folk – this Post will be boring, but it is necessary if I am ever going to actually write some music in FLS 10.  This was the hardest article I’ve written yet, as it took ages to get everything working…hope you appreciate that..?

It is just so God Damn clever and complex though…! You could do a degree in this software! (Seriously! Counting the Sound Engineering theory alone for a start, if you wanted to use its full potential).

So, let’s get bored reading the Manual…(my eyes feel like two boiled eggs lately! 2am nights on a laptop – Get A Life!)

First set up your external device MIDI physical connections – in my case, the DJX to a cheap Chinese USB MIDI cable from Ebay, to the laptop. Note this is a different setup from the one in the Quick MIDI setup Post, as the Audiophile, which is connected to my other PC is not involved.

I am using a laptop for this Post partly as a latency comparison if I can get it to work at all!?

You really HAVE to read the FL Manual as a beginner on this, even if you know MIDI well, as there are lots of things that need enabling and checking in FLS, and some in your external device.

Overall Goal:

I want the DJX to be able to record its MIDI data, played on its keys, to be recorded in the Piano Roll window, and then have it played back to the DJX to play its onboard sounds through its own speakers. Simple Request…ya think…?

I need to know how FLS routes MIDI data in/out and enable it…read Manual time…this section:

MIDI Output

These options are used to select a MIDI Output interface, so FL Studio can send MIDI signals to outboard gear (Synthesizer, Drum Machine, Sampler, etc). Click on the MIDI output interface to be used, once an interface is selected it will become highlighted. For each interface selected you can make independent ‘Send master sync’ and ‘Port number’ settings. While only one MIDI Output interface can be used with FL Studio at a time, you can daisy-chain multiple MIDI devices to the Output interface, see the note below.

To map an output MIDI device –

  • Port number – This is a unique channel over which MIDI data is communicated between MIDI devices inside the computer (255 Ports are available). The option assigns a Port number to your MIDI interface (Port numbers don’t apply to external MIDI hardware attached to your MIDI interface). Make sure the
    MIDI Out
    plugin/s you use to control external MIDI hardware are set to the same MIDI Port number as selected here. The Port number chosen is not important. Selecting ‘‘ will free the MIDI interface for use by other MIDI software.

    NOTE: Make sure Enable MIDI output is selected in the Options menu, ‘MIDI output’ will be disabled otherwise.

  • Send master sync – Master sync tells connected MIDI devices to follow FL Studio’s start/stop/play commands, etc. FL Studio will send a ‘Master sync’ signal only if the button is selected (orange).

    NOTE: Make sure Enable MIDI master sync is selected in the Options menu, ‘Send master sync’ will be disabled otherwise.

  • Synchronization type – Sets the synchronization type. This is the time/code format used for syncing MIDI devices to play/start/stop commands, etc. MIDI clock is normally used. See the manual associated with your external MIDI device/s for details.

NOTE: MIDI allows you to daisy-chain a number of external MIDI devices. Connect the PC to the MIDI Output interface, then connect the first external MIDI device to the MIDI OUT and or MIDI IN of the Output interface. Then connect subsequent MIDI devices to the OUT or THRU ports of the device preceding them in the chain. Make sure to set each MIDI device in the chain to send MIDI data OUT or THRU its own MIDI ports, as this may not be on by default (see the manual/s that came with the device/s).

MIDI Out

The MIDI Out plugin does not make any sound on its own, it acts as a MIDI controller, sending standard MIDI messages to internal (plugins) or external MIDI hardware.

Up to eight pages X nine controllers are freely assignable on the MIDI Out plugin to parameters on the target MIDI device.
Fruity LSD is your friend: The MIDI Out plugin is a great companion to the Fruity LSD (effect) plugin. Once MIDI Out has been set to the same Port number as the Fruity LSD plugin you can play sounds direct from your Soundcard internal sampler/synth through the FL Studio mixer.

Using external synthesizers, drum machines & other MIDI devices

If you want to incorporate the sounds from external MIDI hardware, so it is exported along with the rest of your internal plugins in the final render, you will need to:

  1. Set the Port numbers – Select your MIDI interface Output in the MIDI Settings and make sure the Port number matches the Port number on MIDI Out.
  2. Send master sync – In the MIDI Settings, select your MIDI interface and turn ON ‘Send master sync‘. This is transport control information (start, stop, tempo, etc). Ensure your external MIDI device is set to receive (slave to) MIDI sync data AND is set to the same ‘Synchronization type‘, (MIDI clock, MTC 24, etc), as per the manufacturers instructions.
  3. Make MIDI connections – Make a MIDI connection from your MIDI interface (MIDI OUT) to your MIDI device (MIDI IN) as per the manufacturers instructions.
  4. Set the MIDI Channels – Set your external MIDI device to the same MIDI Channel as the MIDI Out plugin. There are 16 Channels that allow you to control different MIDI devices on each channel. Set your outboard gear to Omni mode and it will respond to all MIDI Channels.
  5. Connect the audio – Make audio connections from your MIDI device’s audio outputs to your soundcard audio inputs. This will usually be a line-level input, not a microphone input.
  6. Sequence your MIDI device – Enter or record your score data in the Piano roll or Step Sequencer associated with the MIDI Out channel controlling the external hardware.
  7. Make a live recordingRecord the device back into FL Studio, as it is played by the MIDI Out channel.
  8. Audio clips – Place the recorded Audio Clip in the Playlist and render the final track.

NOTE: MIDI is not an audio connection, see the Wizard section ‘How do I connect my keyboard/controller/synth to my PC‘ for advice and further links on setting up external MIDI hardware to be recorded in FL Studio.

————————————————————————————————————————-

OK, I don’t need all of the above info, just the bits that relate to MIDI, not the Audio routing.

First, the DJX needs to follow FLS sequencer start/stop commands from Playback, so “Send master sync” needs to be enabled, and the generic Controller type:

Choose a keyboard playable Pattern from the Browser e.g. Analog Dreamz and open it in the sequencer, click it to open the Channel Settings window, check you can play it with the mouse on the keys, then press F7 to open the Piano Roll window:

If all is well you should also be able to play the sample on your external keyboard. The external to FLS MIDI path is working because Enable MIDI remote control is set in the menu:

If Typing keyboard to piano is set, you can use QWERTY to step enter notes to the Piano Roll, when Step Edit is on also.

Halfway there…

If you see the orange MIDI info light under the Menu bar (by Help), when you press a DJX/other keyboard key, and the virtual keyboard keys depress, as below, but you hear no sound then check your Audio and speaker setup as per the previous Posts:

You should also be able to click in the Piano Roll window with the Paint or Draw tool and hear a sound as you step enter a note event and play back with Spacebar.

You can use the Select tool to choose multiple notes, or Ctrl-A to Select All, then Delete them etc. Hover the Tool bar while viewing the Tool description under the main Menu as usual.

The exact note placement and length (duration) with Draw/Paint will depend on your Snap to line or 1/4 beat resolution settings etc.

OK so far – I can play notes on the laptop speakers from the software or the DJX, but can I get the software to play the DJX eternally?

A great feature is the Debug log window when doing technical setups like this, as it gives midi note information when the DJX keys send to FLS:

OK, I have re-read over all the above Manual steps (and loads of other MIDI stuff!) for settings required in FLS, but I still need to add the Plugin mentioned above for controlling external devices, and to enable MIDI out:

It took me ages to find the MIDI plugin as it doesn’t seem to mention in the manual where it is.

It was in the Browser/Plugin Database/Generators/MIDI – Duh…

Open it in a channel as above.

I then just have to check the DJX MIDI OMNI/Local/Slave settings are correct, maybe reading ITS manual now…Boring…!

OK – I think the important DJX/External device bits are:

—————————————————————————————————–

DJX Function Parameters

No. Parameter Name Display Name Range/Settings

This determines how the DJX is controlled by a “remote” (external) MIDI keyboard.

81 Remote Channel RemoteCh off, 01 – 16

Set this to one of the 16 channels (01 – 16) for using an external keyboard to remotely control the DJX

functions over the selected channel. (The remaining 15 channels can be used for multi-timbral

operation.)

When this is set to “off,” the DJX can be used as a full 16-channel multi-timbral sound source. The

default setting is “off.”

84 Local Control Local on, off

This determines whether the keyboard is “connected” to the internal Voices of the DJX.

When set to “on,” the Voices respond to notes played from the keyboard. When set to “off,” the Voices

respond only to incoming MIDI data (via MIDI IN). The default setting is “on.” If you are routing the MIDI

OUT on the DJX to a sequencer and back to the MIDI IN, you may want to set this to “off” to avoid MIDI

“feedback.”

No. Parameter Name Display Name Range/Settings

85 External Clock ExtClock on, off

This determines whether the style and song playback functions are controlled by the DJX’s

internal clock (off) or by MIDI clock data from an external sequencer or computer (on).

This should be set to “on” when you want to have style or song playback follow the external device

(such as a rhythm machine or a sequencer). The default setting is “off.”

• When this is set to “on,” style playback CANNOT be controlled from the DJX panel controls.

• External Clock is automatically set to “off” when the Song mode is selected.

I set the DJX MIDI channel to OFF (= OMNI) so it should respond to any/all channels, and set MIDI Local to OFF to prevent a MIDI feedback loop.

Still not working….Go back and check it all again for what I missed….Tedious!

Finally! I found the missing step. I had not noticed the MIDI default device had changed back to MS MIDI instead of USB device in the Audio box when I restarted FLS at one point. DOH!!!!

So I don’t have to do this discovery from scratch in future…

Check List for future MIDI setup:

  1. Set the Port numbers – Select your MIDI interface Output in the MIDI Settings and make sure the Port number matches the Port number on MIDI Out.

    Port 1 set above in MIDI Out section of Plugin.

    Press F10 for System conf.

  2. Send master sync – In the MIDI Settings, select your MIDI interface and turn ON ‘Send master sync‘. This is transport control information (start, stop, tempo, etc).

    Ensure your external MIDI device is set to receive (slave to) MIDI sync data AND is set to the same ‘Synchronization type‘, (MIDI clock, MTC 24, etc), as per the manufacturers instructions.

Port 1 set for USB MIDI interface

Send Master sync enabled

MIDI clock set

Controller type set

  1. Make MIDI connections – Make a MIDI connection from your MIDI interface (MIDI OUT) to your MIDI device (MIDI IN) as per the manufacturers instructions.

    Cables to DJX connected.

  2. Set the MIDI Channels – Set your external MIDI device to the same MIDI Channel as the MIDI Out plugin. There are 16 Channels that allow you to control different MIDI devices on each channel. Set your outboard gear to Omni mode and it will respond to all MIDI Channels.

    Remote Channel MIDI CHANNEL (not port) on DJX set to off (OMNI)

    MIDI Local set off to prevent MIDI feedback

  3. Set the MIDI Standard sound Patch you want to hear the Piano Roll events play on the external device, using the Patch dropdown menu in the Plugin e.g. Ocarina.

    This will be the sound played on the DJX/External device:

    Finished!

    SUMMARY

To be honest, this was a bloody nightmare! It took ages to get the last step done – the playing back of Piano Roll event data to play the onboard sounds of the DJX.

I missed the MIDI port numbers not being set in BOTH the Audio/MIDI System box of FLS AND the Plugin, combined with not noticing the default MIDI controller had reverted back to MS Midi Mapper after a restart. Idiot…

There is SO MUCH to learn in this package and I haven’t even breathed on the surface, let alone scratched it…

This sort of thing happens to senile old gits like me these days, when trying to wade through loads of info in the Manual, and write up the process, whilst getting side-tracked with new discoveries.

“Too Much Information – My Brain Is Melting”

That’s why I like Tick Lists.

Hope it proves useful to more folks out there.

———————————————————————————————————————

Additional Reading/Viewing:

For more information on MIDI clocks and clock tick divisions per quarter note etc, read this:

http://home.roadrunner.com/~jgglatt/tutr/seqtime.htm

If you want to get a grip on the Piano Roll window, and tons of other FLS Tips, this guy, NFXBeats is great!

http://www.youtube.com/watch?v=Kl5C-Bd8jV8