Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Staves and voices not played to MIDI output correctly #18382

Open
lgvr123 opened this issue Jul 4, 2023 · 10 comments
Open

Staves and voices not played to MIDI output correctly #18382

lgvr123 opened this issue Jul 4, 2023 · 10 comments
Assignees
Labels
MIDI Issues related to MIDI input/export, or MIDI devices needs design Design is needed playback General playback issue regression_ms3 Regression from MS3 (3.6.2)

Comments

@lgvr123
Copy link

lgvr123 commented Jul 4, 2023

Issue type

General playback bug

Bug description

Since MU4, it is no longer possible to select to which MIDI channel an instrument must be played. And MU4's internal configuration is therefore not configurable by the user.

Two issues results from that :
1/ One can at least expect that all the voices of a same staff being played to the same channel. This is not the case.
E.g. the voice 2 is not played on the same channel as the voice 1, leading that voice not being heard on the MIDI receiver.

2/ All the instruments are played on the same channel, where one could expect that every staff being sent to a separated channel.

Steps to reproduce

For Issue (1)

  1. Create a score with 1 staff
  2. Add a few note on the voice 1, add a few notes on voice 2
  3. Connect a MIDI receiver and configure MU4's midi output to that receiver
  4. Configure your MIDI receiver's input to only channel 1
  5. Play the score in MU4

Expected :
All the notes are heard whether on voice 1 or voice 2

Actual:
Only the notes on voice 1 are heard not the ones on voice 2

For Issue (2)

  1. Create a score with 2 staves
  2. Add a few note on the staff 1, add a few notes on the staff 2
  3. Connect a MIDI receiver and configure MU4's midi output to that receiver
  4. Configure your MIDI receiver's input to only channel 1
  5. Play the score in MU4

Expected :
Only the staff 1 is heard not the staff 2

Actual:
Both staves are heard.

Screenshots/Screen recordings

No response

MuseScore Version

4.02

Regression

Yes, this used to work in MuseScore 3.x and now is broken

Operating system

Windows 10

Additional context

OS: Windows 10 Version 2009, Arch.: x86_64, MuseScore version (64-bit): 4.0.2-230651553, revision: github-musescore-musescore-dbe7c6d

@muse-bot muse-bot added playback General playback issue regression_ms3 Regression from MS3 (3.6.2) labels Jul 4, 2023
@lgvr123
Copy link
Author

lgvr123 commented Jul 4, 2023

@bkunda bkunda added the needs info More information is required before action can be taken label Jul 7, 2023
@zacjansheski
Copy link
Contributor

Hello!

This isn't a use case we encounter very often.
Could you please provide more information about your MIDI receiver and your workflow? (what is the desired outcome and the reasoning behind the workflow)

@lgvr123
Copy link
Author

lgvr123 commented Jul 7, 2023

I connect a Roland ep-09 to a Windows 10 PC through a USB/MIDI adaptor CME U2 MIDI Pro.

The workflow is the following: I work with a headphone and enter, check, test new ideas on my keyboard while playing what I have already written on my score. So I need all the sounds (both what I have already written (and playing with MU) and what I'm playing on my keyboard) to come from a single source: my keyboard.,
So I connect my headphone on my keyboard and and configure MU to output all the sounds to my keyboard through MIDI.
When I'm ready with a new idea/passage, I switch in Input mode and enter through my keyboard that new passage.

In MU3 one can configure which staff goes to which channel. In MU4 this is no longer possible.
Si it's not possible to configure which staff must be sent to my keyboard and which must not.

Further more, the different voices are not sent to the same channel. E.g. In the attached score, the first part of the score (which is on the voice 1) is sent to the channel 1. While the second part of the score (which is on the voice 2) is not sent to the channel. (I couldn't manage to use MIDI-OX to identify to which channel those notes were sent).

@CoffeeCoder1
Copy link

CoffeeCoder1 commented Aug 18, 2023

I also need this feature added back for MuseScore to work properly in my workflow. I am arranging a piece for organ and piano, and to be able to play back the organ part I have MuseScore's MIDI output connected through a MIDI loopback device into GrandOrgue, and I need to be able to output each staff to a different channel so notes will play through the correct divisions. I would also like to be able to output the piano part to a Disklavier system, which is on a different MIDI device.

@CoffeeCoder1
Copy link

I think a way to both fix this, fix part of #15606, and add some more flexibility with MIDI output could be to have another option in the Sound drop-down menu in the Mixer for output to MIDI devices. Once MIDI output is selected, a window would open that would allow for a MIDI device to be selected and settings such as channel and transposition to be set for each voice, allowing for any voice to output on any channel depending on what is needed.

@oktophonie oktophonie added the MIDI Issues related to MIDI input/export, or MIDI devices label Aug 22, 2023
@zacjansheski zacjansheski removed the needs info More information is required before action can be taken label Sep 27, 2023
@glenn-slayden
Copy link

It seems like the MIDI Out support in MuseScore 4 is hard-coded to send everything to channel 1 on one single MIDI-out port at all times. Besides causing all instruments from all staves/parts to be irreconcilably conflated, there is apparently also no way to stop the mixer from still generating wave audio for them anyway.

In addition to selecting from the internally generated sampled sound libraries, shouldn't the mixer have a notion of allowing a "MIDI channel/device" output pair for rendering the instrument instead? And as noted, In my opinion, the internal digital audio pathway should be disabled for such MIDI-out assignments.

Finally, it would also be nice to be able to select "none" as a target from that same populated list, to configure that the respective instrument should not be rendered at all (neither MIDI nor wave audio).

@cbjeukendrup
Copy link
Contributor

Currently, MIDI output is enabled if and only if a SoundFont is selected. Ideally, we should be able to select for each instrument individually to which MIDI device it should send signals, and on which channel; and separately from MS Basic.

The current behaviour w.r.t. choosing channels is the way it is because it is optimised for correct SoundFont playback and not for MIDI output: each voice has its own channel, and additionally each playing technique (e.g. arco,pizz) has its own channel. For MIDI output, that should be different of course.

Some UI design is needed for how the user would choose MIDI outputs.

@cbjeukendrup cbjeukendrup added the needs design Design is needed label Dec 29, 2023
@nathan-stewart
Copy link

I've about reached the conclusion that none of the musescore developers uses external MIDI. It just doesn't seem to be a priority, the happy path is definitely musescore internal sounds.

@cbjeukendrup
Copy link
Contributor

Personally I consider MIDI output as basically "not implemented". It was implemented in a rush, in an attempt to match MS3 in the most minimal way possible, but even that isn't quite achieved.
At some point, we should make a proper design and a proper implementation. It's just another of the hundreds of things-we-should-actually-do-properly-at-some-point-but-we-don't-know-when-because-we're-always-busy (well, that is how I see it at least).

@tilusnet
Copy link

MIDI channel assignment / control is a vital feature for MIDIs played back on any modern digital keyboard. The channel selection buttons on a digital keyboard become useless if the MIDI file lumps all notes into one channel!

If I may ask, please put the MIDI channel selection feature back into Musescore 4 at the earliest opportunity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MIDI Issues related to MIDI input/export, or MIDI devices needs design Design is needed playback General playback issue regression_ms3 Regression from MS3 (3.6.2)
Projects
None yet
Development

No branches or pull requests