Musescore 3 internal audio structure

Updated 2 years ago

Hierarchy

  • Score(Full or excerpts(aka File>Parts))
    • Parts
      • Instruments
        • Channels

Example 3 parts score

Horn in F parts[0] .longName
+Horn in F p.instruments[0] .longName
++open p.i.channel[0] .name, .mute, .volume etc
++mute p.i.channel[1]
Piano parts[1]
+Piano p.instruments[0]
++normal p.i.channel[0]
Violin parts[2]
+Violin p.instruments[0]
++Vln. arco p.i.channel[0]
++Vln. pizzicato p.i.channel[1]
++Vln. tremolo p.i.channel[2]

ways to get Part

element(eg Note/Chord/Segment) .staff.part
curScore.parts
score.excerpts[].parts see this post

part.midichannel vesus instrument.channel

To mute an instrument without affecting others, use the instrument.channel.mute
TLDR
Musescore 3 use one IAC port in MIDI Output. Not to be confused with the Port in Mixer, that Port works internally. See this post
part.midichannel refers to one of 16 MIDI Output channels, these channels are not exclusive to one sound patch, different MIDI patches may be used in same channel using MIDI BANK SELECT internally when using >16 sounds. if you know src plz add link
instrument.channel refers to internal channel and one sound, same as defined in instruments.xml, eg buildin violin has 3 channels: arco, pizz, tremolo.

most properties of Part and Instrument are read only eg cannot set longName

if you know how to set longName or why disabled plz add