Igevorse Otonnoleare

Assigning MIDI channels and Midi Machine Control features are implemented!

17 July 2015 | 01:04 am

Here're good news about MuseScore!

I finished implementation of two features:

This is a part of my work in Google Summer of Code 2015.

"Assigning MIDI channels to instruments" allows to assign any MIDI port/channel to an instrument in Mixer.

Animation of MIDI port/channel synchronization

New opportunities unlocked:

  • Assign each instrument to a different MIDI port and connect MuseScore to external synthesizers, effects processor and VST instruments via JACK with minimum additional software (JACK + MuseScore + QJackCtl/any patchbay).
  • Export MIDI mapping to MusicXML and MIDI files to make futher editing/processing simpler.
  • Better control of MuseScore output for research/related projects (MuseScoreSSMN, etc).

MIDI Machine Control (MMC) is a feature that helps to control playback of MuseScore via MIDI by sending special MIDI messages.

New opportunities unlocked:

  • Synchronize MuseScore with software that doesn't support JACK Transport.
  • Control playback of MuseScore even without JACK.

Supported events:

  1. System realtime messages:
    • Start (0xFA)
    • Stop (0XFC)
    • Continue (0xFB)
    • Song Position Pointer (SPP) (0xF2)
  2. System exclusive (SysEx) messages: (0xF0 0x7F [deviceID] 0x06 [command] 0xF7)
    • Stop (command: 1)
    • Pause (9)
    • Play (2)
    • Deferred play (3)
    • Rewind (5)
    • Goto/Locate (0xF0 0x7F [deviceID] 0x06 0x44 0x06 0x01 [hr] [mn] [sc] [fr] [ff] 0xF7)

These features are not merged, so welcome for testing!


I'll start to work on "MIDI Actions" feature in a few days.

With this feature we will be able to change parameters/settings of external VST's via MIDI, it will be possible to create scores with more dynamic sound: musicians will be able to change chorus and pan dynamically, add portamento, sostenuto effects, and also use special MIDI events for changing parameters of external synthesizers/VSTs on the fly!

You can find me on IRC #musescore as igevorse.

Feel free to write me about implementing some JACK-related features in MuseScore that you need and want.



« GSoC 2015: bend playback in… · Assigning MIDI channels and Midi Machine Control features are implemented!

  1. Comments (4):


  2. avatar
    Daeavelwyn · 26 October 2015 | 04:43 pm

    Hi Igevorse,

    I'm using your git repos midi-channels version for about 3 month (works great!) and I wonder if you have some improvement made in the midi-actions branch ? (seems no commit since july) ?

    regards,

  3. avatar
    igevorse · Site · 26 October 2015 | 08:04 pm
    Daeavelwyn wrote:
    Hi Igevorse,I'm using your git repos midi-channels version for about 3 month (works great!) and I wonder if you have some improvement made in the midi-actions branch ? (seems no commit since july) ?regards,

    Hello! I haven't made any improvements or bugfixes since there was no need. I glad it works well and I think this branch is ready to merge!

  4. avatar
    walter · 20 January 2016 | 07:36 pm

    donde descargo??? Yo tengo musescore 2.0.2. gracias!!

  5. avatar
    igevorse · Site · 20 January 2016 | 08:03 pm
    walter wrote:
    donde descargo??? Yo tengo musescore 2.0.2. gracias!!

    Hi, "Assigning MIDI channels" should work in nightly versions. You can download them here: https://musescore.org/en/download#Nightly-versions

    "Midi Machine Control" feature is implemented, but not merged. If you really want to use it, compile my "mmc" branch on GitHub: https://github.com/Igevorse/MuseScore/tree/mmc

Leave your response!






Style `onWall HashCode` by Lited & Sayori
Get your own blog immediately for free with Lited!