Monthly Archives: April 2020

Using Spitfire Orchestra with Reaper (part 2) – Expression control

The Spitfire Orchestra instruments incorporate several control parameters that allow the instrument to be realistically modelled. The parameter changes with respect to time can be recorded alongside the actual played notes. There are three main parameters that can be controlled by the mod wheel and slider controllers. These are :

  • Expression – the control of instrument volume.
  • Dynamic – the control of instrument timbre.
  • Vibrato – the control of instrument pitch modulation.

The parameter changes are stored as MIDI CC (controller change) events intermingled with the note on and off MIDI events. I have designated the CC messages 05, 06 and 07 specifically for Vibrato, Dynamic and Expression respectively. These control messages are re-mapped by Reaper JS plugins before input to the Spitfire instruments to the parameter codes that Spitfire understands, namely 21(vib), 1(dyn), 11(expr).

When an instrument track is recorded, it is possible to control the sliders at the same time and record traces for the three above parameters. The track trace can be shown in the bottom panel of the Reaper MIDI editor window.

The trace may be edited using the mouse to redraw sections by holding down the CTL key and pressing the mouse right button to draw points freehand. This can be a bit messy however.

I have written a custom action and linked it to the “S” key on my MIDI controller. This basically redraws the trace with only eight points per bar and links the points using Bezier curves. This results in a nice smooth reproduction of the original recording. It is then much easier to adjust the curve by drag-and-dropping an existing point or by creating a new point by double clicking.

Sometimes it is better to record the notes without any expression control and then re-record the expression control afterwards. Sometimes it is easier just to manually create the expression trace by double clicking points onto the editor grid.

In order to re-record the expression only, you need to put the record mode into Overdub. Reaper normally records a new take each time. Using Overdub means that the original notes are preserved and new controller events are added. This means that the original controller trace has to be cleared before starting. I have written another custom action and linked it to the “R” key on my MIDI controller. This selects the appropriate controller trace and deletes all the existing points.

The custom actions are described below for the Reaper internal MIDI editor. Note: display the MIDI editor and click on the “Actions” main menu item for MIDI editor specific actions.


Above shows all the custom actions. Also the assignment to the MIDI controller buttons

Above is common action to select the CC events and convert to a smooth trace.


Above is common action to delete all events in the lane.


Above is the action to select the “Expression/Volume” trace.


Above is the action to select the “Expression/Volume” trace and delete existing events ready for re-recording

Guide to creating score writing video exercises with Reaper and Audacity

It is quite difficult to obtain good video clips for the purposes of practicing to write film music. It is necessary to have a video file with only dialog and sound effects of length of about 1 to 4 minutes. Of course it is possible to film your own video on a mobile phone or create a video sequence from video stock clips, and I have done this successfully. I have managed to find a few free clips in the public domain on the Internet. These are pretty bad quality and also comprise of student films which can be a bit rough around the edges. However as an exercise they are ok.

Getting the video clip onto your PC

There is a wealth of film on YouTube. I have devised a workflow to get a clip from YouTube and process it to remove existing music but leave the dialogue in tact.

There are many websites that enable you to extract YouTube clips and MP3s, but they are clunky and can overwhelm you with adverts. There are also some restrictions in place. I found the best way to get a YouTube clip (either video or Audio) is to use a free browser add-on. My example is for Firefox, but I am sure there are others available for other browsers.

The add-on is “Easy YouTube Video Downloader”. It is a great little tool. Whenever you are on the YouTube website and have the video window up, it is always present with a download button as shown….

You simply press the download button and choose the video resolution required. It then downloads the video to the download folder as mp4 or mp3 format.

Getting the video into REAPER

Using video in Reaper is a large subject in itself, but it is very easy to add a video clip to reaper in preparation for film scoring. Simply drag and drop the video file onto the tracks window. You can then split off the start rubbish and tailing rubbish and have a clean video clip.

The video track has the combined video and audio. My first task is to split off the audio from the video as a separate track. I haven’t yet found a one button way of doing this so I do the following :-

1) Duplicate the video track entirely by right clicking on the left hand track window.

2) Render the video track into an audio only track by right clicking on the second video track item…..

3) This produces two takes for the second track. Crop to the latest take by right clicking on the second track item….

4) Finally turn down the fader for the first (video) track. All the audio is on the second track and this can be processed without affecting the video. The two tracks are also in sync.

Using Audacity with Reaper

Audacity is a free tool specifically for editing and processing audio files (Wav, MP3, OGG etc). It is a very useful tool and easy to use. Its worth learning a few of the basic edit operations. I use it a lot for extracting audio clips from band practice and gig recordings. I also use it to edit effect recordings from my ZOOM 1 mini recorder.

Reaper can easily integrate Audacity as an external editor. In Reaper, go to the preferences dialog and select “external editors”….

You add “wav” for the editor type and browse to the location of the installed Audacity application.

Once you have done this, you can right click an audio item in Reaper and choose Audacity to edit it…


Removing original film score

Audacity has the ability to silence parts of the audio. Simply select and highlight a section of the audio trace and press Ctrl + L. So it is possible to manually remove the music. This is quite tedious and Audacity has a plugin that can do this automatically. Note that to do this successfully the audio must be true stereo with the dialog panned centre stage. I could not do this automatically with the above cartoon example as it is a mono recording.

I downloaded a trailer clip for “Capone” and performed the above steps ……

I then selected the entire track and click on the “Effects” menu. I then selected¬† the “Vocal reduction and isolation” option.

I selected “Isolate Vocals” and played around with the other parameters to get the best effect…

I then normalised the track after the vocal isolation. (also part of the effects menu).

Audacity is a bit clunky in the way it saves the edited audio track. I went to the FILE main menu and selected the appropriate file export option ….


I exported the file to overwrite the original. Reaper allows you to do this. You need to browse to where Reaper is storing the WAV files and this can depend on the way you use it. The following shows how I saved the edit….

Final Tweaks

I then quit Audacity and went back to Reaper. The orignal WAV track was altered with just the vocal dialog and much of the existing music was filtered out.

Some of the music breaks through at a much reduced volume. I added the ReaGate effect to the audio track and adjusted the gate threshold to filter the track further. I was left with a very good music reduction.

It is possible to bounce the audio again to another track and tweak it further manually.

At this point the entire video can be rendered as a single video file, or you can start scoring within the same project.

Using Spitfire Orchestra with Reaper (part 1)

I recently purchased the Spitfire Audio Studio Orchestra for a huge amount of money. It is a sampled small studio orchestra of excellent quality. I bought the package with Studio Strings, Studio Brass and Studio Wind. These are the main elements of the orchestra. I am still using other sampled libraries for Keyboards and Percussion. I decided to go for this rather than the popular (cheaper!!) Albion product which has ready made ensembles because it is more suitable for orchestral part writing. Albion is probably more suited to fast orchestral sketching. I prefer to actually write instrument parts separately and using the musical notation editor where possible so that I can learn orchestration and publish for a real orchestra one day.

The Spitfire virtual instruments are HUGE and take up a lot of computer RAM when loaded up. e.g. a violin patch takes about 80 Mbytes. There are some other orchestral libraries that are even BIGGER. I do not have unlimited resources. (Guy Michelmore has 128GBytes of memory and 4 auxiliary PCs for his film scoring set up !!)  My PC has a SSD drive and 8 GBytes of memory. The memory is pretty much used up to load the basic orchestra and a few solo instrument patches. I will talk about some workarounds later.

Kontakt and Spitfire

Spitfire use the free Kontakt player to implement the virtual instruments. This is a popular product for hosting all kinds of virtual instruments. Kontakt player is a VST plugin that is compatible with Reaper. The Spitfire virtual instruments are not VST plugins themselves as is the case with a lot of virtual intrument plug ins. Kontakt provides a kind of wrapper around the Spitfire instruments (which are .NKI files) and has its own UI for controlling them. I do not like the UI at all. It is very cramped with small fonts. The Spitfire colour schemes detract from the operation as well.

On Reaper you add Kontakt player to the effects chain for a MIDI track, you then select the instrument library within Kontakt and add an instrument patch e.g. First Violins. There is then a control panel for the instrument which is pretty similar for all the instruments selected. Each instrument has several articulations e.g.  Legato, Spiccato, Pizzicato. There are buttons to select the required articulation. You can alternatively use some of the very low keyboard keys to switch between articulations.


Note that load times can be improved by changing the Kontakt default global setting for memory pre-loadsize from 60 kByte to 6 kByte.



Instrument Articulations

Composers generally like to have each articulation on a seperate track rather than using key switches. I thought that this meant implementing the same instrument on different Reaper tracks and selecting a different articulation for each track used. However considering a violin instrument has 7 different articulations this would necessitate using 7 times the memory for one instrument, e.g. (7 x 80 Mbyte= 0.5 Gbytes). You can see how I quickly crucified my system when I was constructing a basic orchestra template.

There is a solution to this problem. Kontak player allows you to add mutliple instances of an instrument on a single Reaper MIDI track. The RAM usage is only for the first loaded instrument no matter how many instances. Each instance responds to its own MIDI channel and these are sequenced starting from channel 1. Now when I record from the keyboard, the MIDI channel is always 1. If I have mutiple recorded tracks each with MIDI channel 1, I need some way of re-routing channel 1 MIDI messages to have the channel number for the instrument instance I require.




This can be done rather neatly by having one Reaper track with the Kontakt player plus all the instrument instances. You then have several Reaper MIDI tracks for each instrument articulation. The instances are arranged as a sub-group to the main instrument channel and routed to the instrument channel. The neat trick is to add a JS MIDI plugin to each sub track that changes the MIDI channel 1 to the desired MIDI channel. Step forward “JS MIDI Router/Transpose” and take a bow.


I have spent some time in constructing a template that loads up all the orchestra instruments in REAPER ready to record and arrange. I have tracks for each section e.g. Woodwinds, Brass, String, Percussion. Each of these tracks group together instrument tracks, e.g. 1st Violin, 2nd Violin, Viola, Cello, Bass. The instrument track groups the instrument articulations, e.g. Legato, Slow, Pizz et.c etc.

So there is a three layer heirachy of Reaper tracks. One bug bear with reaper is that the UI representation of MIDI tracks is clunky. This need to be uncluttered with audio controls so that the mixer window and track window are not huge. I tried my best using the track layout customiser but it could be better.


Expression Control

Spitfire instruments have several means to control the “Expression” of the instrument. The basic controls for the string instruments are :-

Expression – This is basically the volume control

Dynamic – This is the frequency content or Timbre. e.g. hard or soft playing style

Vibrato – This is the amount of pitch modulation

There are other parameters for other instruments. Spitfire have reserved several MIDI CC code numbers for the controller messages to alter these parameters. Dynamic is always CC1 which is generally linked to the keyboard modulation wheel. So when I record a MIDI track I can simultaneously alter the instrument timbre by twiddling the modulation wheel. I can also redraw the modulation curves using the MIDI editor after recording.

I have a nanoKontrol MIDI controller with 8 slider controls and I wanted to use this to control the Spitfire parameters during recording. The sliders default to MIDI controller messages CC0 to CC7. It is possible to re-program these to other code numbers using the nanoKontrol software. It is also possible to “learn” the slider from the Spitfire instrument by right clicking on the parameter field and twiddling the slider. This not a good idea as the setting is not global and is lost if the instrument is changed.

I wanted a solution that required no messing around with the nanoKontrol controller and no messing around with the standard Spitfire codes. So step forward “JS MIDI CC mapper” plug in and take a bow.



This reaper plugin simply identifies a unique CC code in a controller messages and changes it to a different code. I added three instances of this plugin to each MIDI recording/playback track to take the standard controller CC code and re-map it to the Spitfire code. So the last three sliders on my controller will control Vibrato, Dynamic and Volume.

Orchestral Template

I have developed a basic template for orchestration. This has a good selection of winds, brass and strings. It also has a variety of keyboards, percussion, synths, sound effects. All the tracks are routed to a single reverb track. The sections are colour coded.

The sections can be individually mixed. REAPER also has a neat feature to render a section as a STEM, i.e. convert every thing to an audio track and mute the instrument tracks. This handy when the instrument CPU processing load starts getting too high.

I have stored this as a track template rather than a project template so it can be easily added to existing projects.( I want to update some old projects to use Spitfire) I have lots of track templates for specific tasks and situations.