Midi NRPs

Pedro T
  • Pedro T

    Pedro T - 2007-03-11


    For starters, I am a big Bristol fan, great work!
    I read that the 0.9.6-13 version comes with some features regarding controlling some previously gui-only parametrs through MIDI parameters.
    Can you tell me which parameters they are?

    One thing I find hard using bristol on performances is that you have to use the GUI for changing settings. It would help if some params could be set via MIDI.

    Thanks in advance,

    -Pedro Teixeira

    • Nick Copeland

      Nick Copeland - 2007-03-11

      The current releases will allow you to move any GUI devie from a MIDI control surface, save the settings you like and have them reloaded the next time you start any synth - the GUI will then track the MIDI controller graphically and naturally the engine parameters will change concurrently. Release -89 had the first MIDI control to GUI parameters however the GUI then had to pass these parameter changes to the engine. Release -113 allows you to link NRP directly into the engine rather than through the GUI. I don't see any major advantage in either method, it was implemented due to being easy to do once the RP settings were integrated for gain/pitchwheel depth controls (these were required for the ongoing GM2 compatability).

      To activate any GUI controls you need to do the following:

      # aconnect <MIDI Surface ID> <bristol GUI>

      <Middle_Mouse_Button><Move controller on surface>

      The first step links your MIDI control surface into the GUI. You can do the same with whatever ASLA control interface you like - bristol registers two links, one for the engine and one for the GUI, here you need both connections. I may change the future name to be 'bristol' and 'brighton' to remove the ambiguity.

      When you have made changes then when you save a memory the settings will be saved in the following directory:

      0.9.6-89 $BRISTOL/memory/profiles/<synth>
      0.9.6-113 $HOME/.bristol/memory/profiles/<synth>

      The -113 and later code releases gave each user their own profiles and memories and since then the $BRISTOL settings can be seen as 'presets' that you can override but which will not go away. It also removed issues with ownership when trying to save existing memories.

      The NRP controls to the engine cannot be mapped or remapped either from the profile or from the GUI. Each GUI device has a related index in the engine, and sending an NRP value for that index to the engine will change the value being used to create the sounds. The only 'documentation' that denotes which NRP affect which parameters of each synth is, unfortunately, the source code, and this is unlikely to change unless the feature gets widely used. I don't know if that will happen with GUI controller mappings giving the same feature set graphically.

      The profiles are text files, you can edit them manually if you feel that the graphical definition is klunky. Speeking of klunky interfaces, the next release will support the use of your 'qwerty' keyboard to play the synths rather than having to connect a MIDI interface or play notes one by one. Azerty remappings, etc, are also configured in the profiles (manually only). This will be uploaded presently.

      I should also be working on a GM-2 profile for each emulation such that the GM defined continuous controllers for things like 'attack/decay', frequency and resonance, etc, are default preset values for each emulation, which each user can then override. Now if somebody wanted to do this and contribute the profiles that might happen faster.



    • Pedro T

      Pedro T - 2007-03-11

      Hi Nick,

      Thanks for the quick reply.
      Sorry, but I am an newbie regarding sound in linux.
      I was using midi through OSS. If I understood it correctly, I need to switch to ALSA.
      I probed the ALSA device using

      amidi -l

      And got:

      Device    Name
      hw:1,0,0  UMX 49 MIDI 1

      I started Bristol with:

      ./startBristol -midi alsa -mididev hw:1,0,0 -mini

      Next, I tried to list all connected ports in alsa, by using

      aconnect -i -o, and got the following error:

      ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
      can't open sequencer

      I don't understand what might be wrong. I tried looking into other forums regarding alsa configuration, but without luck.

      Any help is appreciated.


      -Pedro Teixeira

    • Nick Copeland

      Nick Copeland - 2007-03-11

      Hm, I think you must have ALSA installed if you can see data from the 'amidi' command. What do you get from the following (without bristol running, although with bristol would also be interesting):

      # cat /proc/asound/version
      # aconnect -i
      # aconnect -o

      Also, what happens if you just start bristol with something like:

      # startBristol -logo -prophet

      This should default to just the ALSA audio and MIDI interfaces. These are probably the most likely to work, not because they might be better than the OSS interface, just that most of the development work takes place with this interface now. If this starts the 'prophet' synth then the output from the two 'aconnect' commands above should now also list bristol twice, once each for the GUI and engine respectively. If you get error messages here then we would have to take a closer look at your Linux installation since error messages would indicate the problem is underneath bristol.

      Kind regards,



Log in to post a comment.