Kernel word recovery crack, Mobile themes website for samsung wave 525, Dekha ek khwab sony tv title song, Song zombies on your lawn, Bloody mary nerve endings mp3, Digittrade tv jukebox, Padosan songs mp3, Gold cup series 70 manual, Nieuwste versie van mozilla firefox en, Cant install spotify on mac, Web brute force password cracker, Belkin g peek driver windows 7

Roland FP-4 Manager

January 21st, 2013 by stilgar Leave a reply »

I’ve been the proud player of a [Roland FP-4][fp4] digital keyboard for about 5 years now, and I have only recently discovered that it contains a quite amazing multi-effects unit. The problem is that only one of the effect parameters at the time is directly adjustable from the keyboard. Fortunately Roland provides a very helpful [MIDI implementation reference][fp4-midi], prompting me to write the application described here.

As I play in several smalls bands and are a regular at some local jam sessions that can be quite experimental, my objective was to write a tool flexible enough to adjust sounds in a live setting, using a laptop or an external MIDI controller, and that would also be able to sequence sounds in a performance setting. Of course, it should also be robust enough to handle power failures and an accidently disconnected USB cable during a live performance. Finally it should be able to handle additional keyboards and have split and layer functionality beyond the built-in one.

This project runs on Linux and uses the [Qt library][qt] for its ease of use, clean programming style and GUI system, and [Alsa][alsa] for MIDI I/O. It is currently in a alpha development phase, which means that alhough it is quite usable, there are still some UI aspects I would like to change, some features I would like to add, and some code that I would like to reorganize to have a better base for future extensibility. I plan to release this application as open source after that is done. Currently, the application only targets the Roland FP-4 and FP-7 keyboards, but it would be easy to support other keyboards that are organized in a similar fashion.

## Main screen

When you start the application with a connected keyboard, you are greeted by the following screen.

This is the master screen. Here you can choose the instrument for the first channel, ie. the instrument you hear if the splits are set to default. This is also the place to choose the current sound effect (only one can be used at the time), the reverb and chorus settings, as well as some other settings that affect the sound as a whole.

### Instrument Selection

The instrument selection part at the top displays buttons that match pseudo-GM2 groups by default, but can be changed to match the instrument buttons on the keyboard by pressing the FP4 button top right. Instruments can be marked as favourite for quick access by checking the box next to the Favourites button on the right.

### Sound effects & MIDI Learning

The first dropdown box in the effects part of the screen selects the current effect. When effects are switched using that dropdown, the last settings in use are restored. The preset dropdown allows to load other settings. It always includes a default preset that loads useable parameters for each effect. Every parameter can individually be reset to its default value by clicking the left arrow button next to the effect name, and can be bound to a MIDI controller, including the pedals and pan button of the FP-4. Pressing the chain icon next to the previous button shows a MIDI learn dialog.

When this dialog is displayed, rotate or press any controller to bind it to that parameter. MIDI learning is not limited to the effect parameters, nearly every slider, checkbox and combobox can be be controlled as indicated by the chain icon.

### Other global parameters

The other 3 tabs in the main window allow to set the reverb and chorus styles, as well as the master volume and key shift. Reverb and Chorus can either be set to FP-4 built-in macros, or manually adjusted. They apply globally, but the amount of effect can be adjusted for each channel.

## The Channels Window

This is a channel mixer. Here you can select an instrument for each channel, select it’s relative volume, select if the global sound effect applies, and whether it is polyphonic or monophonic. The *C* button gives access to channel controllers like vibrato and resonance, pedals, filters and send levels (to reverb and chorus). The *G* button gives access to generators that produce controller or note events according to what is played on that channel. For quick navigation, keyboard shortcuts are provided for all functionality.

### Channel Parameters

This is were you can adjust controller values, pitch and send levels for a channel. The interesting thing here is that every parameter can be controlled by an external controller. This means that you can adjust the amount of vibrato or the filter frequency with the pan button on the Roland hardware for instance. Note that for the portamento settings to work, the monophonic checkbox needs to be checked in the channels window.

The *Defaults* button resets every value to its default and should be a good base to start tweaking sounds. The *Send All* button resends every controller value to the connected keyboard. *Notes Off* and *Sounds Off* cut every note resp. every sound and can be used as per channel “panic” buttons.

### Generators

These is a somewhat experimental feature that generates controller values and notes based on what is played on a channel. The generated controller values can be used to control any other parameter just like external MIDI controllers.

The channel pressure generator creates a virtual controller whose value varies according to the strength (velocity value) at which notes are played. When average is used, the values evolves gradually. *Up Speed* and *Down Speed* indicate how quickly the values changes to a higher resp. lower value. If *Decay* is set to a non-zero value, the controller value will gradually go to zero when no notes are played. This generator can be used to add more vibrato or distortion (or both!) if notes are played louder for instance.

The controller keys generator makes a range of keys produce controller values. The leftmost key will be assigned to the first controller, the second one to the first controller + 1, and so on. If *Key Lock* is checked, The leftmost key needs to be pressed in combination with the chosen controller, to prevent accidents. If *Continuous* is checked the generated value will be equal to the note velocity. If the note is released the generated value will be set to 0, unless *ignore release* is checked. If *Continuous* is not checked, the generated values will be 127 (maximum) when a key is pressed or 0 when it is released. This generator could be used for many purposes, such as controlling the volume of a channel with pads, using a keyboard range to navigate between sound presets in performance mode, pressing a key to make the leslie effect “brake”, etc.

The key time generator generates a value that changes with the time since the last note has been pressed. The *Transition Time* parameter makes it change more rapidly or slowly. This can be used to progressively add more vibrato or mix in another channel if a note or a chord is held. Very cool for old-fashioned 80’s style sounds.

The voicing generator is pretty much work in progress, and is bound to change somewhat in future versions. It creates a chord based on the note that is played. A chord and a reference scale can be chosen so the chord can be transposed intelligently. Choosing the chromatic scale disables that behaviour. Note that the generators can be enabled and disabled by a controller, so the controller keys generator can be used to engage and disengage harmonizing using a key on the FP-4.

## Splits and Layers

This is pretty straight-forward. Select the incoming MIDI channel on the right. Every horizontal slider represents and output channel. Drag the handles to select the range in which the incoming notes on the input channel are output to that channel. The sliders can be double-clicked to enable the mapping. You can then choose an octave shift to adjust the output notes’ pitch.

A few more experimental features are available in the *Channel Mode* dropdown. *Forward* mode selects basic split / layer behaviour. The *Monophonic* modes ignore key releases and allow one note at the time, sending note-off events to for each note that is playing when a key is pressed. The *Monophonic / Retrigger* mode sends a note-off event followed by a note-on event when the last note is repeated. The *Monophonic / Toggle* mode only send a note-off event when the last note is repeated. The modes can be useful to create bass drone, freeing the left hand for other uses. The *Smart* mode detects chords and keeps them playing, ignoring note-off events like the monophonic modes, When a new chord or note is played, all currently playing notes are shut off. This is very useful to sound chords of pads or strings keeping two hands free for melody and bass for instance. *Portamento* mode insert portamento-start MIDI messages after every note. (Only useful when the monophonic option is set for that channel in the channel mixer).

## Performances

In this window, settings can be sequenced for a live performance. The dropdown box at the top selects a show. The top-left pane shows a settings browser. The top-right pane shows a color-coded list of songs that can be reordered by drag and drop
. The pane at the bottom displays a timeline of settings for each song. Settings can be dragged from the top-left pane to the songs in the timeline. The buttons at the top of the timeline pane jump between timeline frames and load the appropriate settings if *Activate Show Mode* is checked. They can be bound to keys any external MIDI controller or to keys on the FP-4 keyboard using the *Controller Keys Generator* from the channel mixer.

Although it is functional, as you will notice, this is very much work in progress on the UI side. Options will be added to load only parts of settings, ie. loading only instruments and their controller settings without split and master settings.

## Configuration

### Bindings

This window, accessible from the configuration menu, displays all current controller bindings and allows you to edit and delete them. The range for every controller can be adjusted, and the values can be reversed (eg. decrease values as you press a pedal)

### External Devices

This configuration window lists MIDI devices other than the FP-4. This is especially useful to connect external controllers to this application so effects can be adjusted more easily. In autoreconnect mode these controllers will connect automatically when the application starts, and reconnect on the fly if they are disconnected.

### Conclusion

It’s been nearly a year since I started writing this post. I’m still using this application sometimes, especially to get nicely distorted organs and heavy electric pianos. As I started working on a new more generic sound (and video) tool, I don’t have much interest in updating this application except for myself. If you have any interest in the source code, feel free to ask.

[fp4]: “Roland FP-4 keyboard digital keyboard”

[fp4-midi]: “FP-4/FP-7 Midi implementation”

[qt]: “Nokia Qt Library”

[alsa]: “Advanced Linux Sound Architecture”



  1. John Caley says:

    This sounds very interesting. The FP4 is a great piano but the onboard controls are a little cryptic
    Does the manager also run in windows XP or 7?
    If so is it available to share

  2. Martijn says:

    [markup=]Hi, no sorry, this only works with linux. Code is available at github, but it wouldn’t be trivial to make cross-platform or to port it to Windows.

  3. Steve M says:

    Hi Martijn,
    Your application is great, unfortunately I use a tablet when playing live, so really want to port this to android. I have started writing the android app, however whilst I can communicate with the FP4, set a sound and play it via midi, the actual keyboard remains on the same patch from switch on. Would you be willing to share your debug information on controlling the keyboard? a the very least a debug output of the raw commands sent from your app would be very useful.



  4. Martijn says:


    I just noticed your comment. The trick is to put the keyboard in local off mode, and send incoming notes back. It seems that it’s impossible to do program changes on the ”live” channel. Hope it helps after all this time ;)

  5. BEGUE says:

    I have recently bought Cubase 7.5 (win7 64 ) and I have a XML File for sounds management in the soft, so I can use the FP-4F as a 16 midi channels expander, with Pg Chg and other channel parameters simple management…
    About 30 years ago I used to make small (personal) editors sounds and banks for DX9 Yam, K5 Kawai and EX800 Korg, with my Atari 1040 and GFA Basic. Does anynody know a coding programm for PC that would manage easily Midi In & Out and Channel or Exclusive Midi messages, bulks and so on…?
    Thanks Martijn, your soft seems nice !
    Louis (french)

  6. Martijn says:

    [markup=]Désolé Louis, pas d’idées en ce qui concerne ta question !

  7. BEGUE says:

    Merci de ta rapide réponse.
    Je vais essayer de voir ton code…mais je ne suis qu’un humble utilisateur de Basic, aussi je crains de ne pas parvenir à grand chose. Au niveau job je développe des bases de données avec Access. Je dois cela à la musique, ayant débuté le ’codage’ sur ordi CX5M Yamaha (MSX Music Computer) et surtout l’ATARI…dans les années 80 !
    Merci en tout cas. Cordialement

  8. Case says:


    A question to Beque:
    I will be very pleased to get the XML file (device setup) of the fp-4f for cubase.
    Could you send it to me???
    Maybe Martijn can exchange our emailadresses.


    Case (Dutch)

Leave a Reply

Authorized tags:
[b]bold[/b] [u]underline[/u] [i]italic[/i] [url=http://link.url]link[/url] more