Sorry, there was a bug with comments. Now it's fixed.

Thank you for the detailed description of difficulties!

Note: I do not propose realtime midi input as replacement for another input
methods! I do not insist that people should use this feature for creating
complex scores, it could be used for recording very simple melodies
when_user_does_really_need_it. 

About single-note instruments: while writing post I thought only about
keyboard or midi-guitar.

By your items:
1. As I understand, midi can describe only accurate pitch, so it's a problem
of emitter of midi-message (wind instrument?). About playing exactly to beat
- it depends on the skills of player. Also, I already mentioned about
precise note playing: I think user should select the minimal note duration
(like in midi import) or some "Note latency", so that algorithm will align
notes to beats. But yes, if we use notes with durations from 1/32 to 1, it
would be a hard problem (see possible solution below - a killer feature).

2. Exact length can be compensated by changing some settings (choosing the
minimal note length again?).

3. What do you mean by note spelling? Drawing D# or E flat? I didn't write
(or I wrote?) in my post that before recording user should prepare an empty
track (staff) with time signatures and tempos. So, adding tonality
(accidentals) could be a solution. So, we could determine right spelling
using tonality. But, again, there could arise some problems (for example,
while using a phrygian, lydian, etc. mode. Also could be fixed by adding ALL
possible tonalities and modes in settings.)

4. See "Note" above.

About multiple-note instruments and pedal. We can record note duration "as
is" and record PEDAL_ON/PEDAL_OFF messages. MuseScore would play this file
as you need - because synth, having information about pedal, would make note
duration larger. Or, the second way is to compute note length manually,
knowing that pedal is pressed.
I think the first way is better.

About other options - I have two possible solutions.

1. Make a lot of checkboxes in settings like "Use slight arpeggio, not a 
block chord", "Be ready for the shortened note length", and so on like
settings in midi import. With this settings you can adjust algorithm's
behaviour to your playing style.

2. My killer-feature: give user a choice! :)
Cases that you described have common property - information about note can
be processed differently.
Idea: allow user to choose one of variants of drawing notes. If algorithm
detected some strange situations which can be processed differently, it
gives a choice to user.

Example: [0]
This gives an ability to make changes just in two clicks. Also, there are
could be 3, 4 or more local variants of part.


Also, lasconic mentioned that maybe it's better to record midi messages to
midi file and open it via midi import.
If I use this way and play dirty (not accurate, shortened durations, etc.),
I would get an exact copy of what I've played - a mess!
But if I use some realtime algorithms that can analyse notes, I could get a
better output (well aligned notes, right note durations, etc.).

Did I miss something?

[0] https://lut.im/Z2ALUvBq/4wjJ23I2



--
View this message in context: 
http://dev-list.musescore.org/Improving-JACK-MIDI-Out-tp7578792p7578857.html
Sent from the MuseScore Developer mailing list archive at Nabble.com.

------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Mscore-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mscore-developer

Reply via email to