Looks good. You can submit it to google website.

lasconic


2013/4/23 andrey.m.tokarev <[email protected]>

>
> Hi, here is a proposal draft.
> Is it correct in general? Any wishes?
>
>
> Title: Improved MIDI import for MuseScore notation program
>
>
> === Name ===
>
> Andrey M. Tokarev
>
>
> === Location ===
>
> Russia, Moscow, UTC+4
>
>
> === Contacts ===
>
> Email: [email protected]
> IRC: trig-ger
>
>
> === Synopsis ===
>
> The project goal is to improve MIDI import in MuseScore by implementing
> several different features
> that will be useful for conversion MIDI to music notation. There is no
> one-to-one conversion
> from MIDI to music notation in general but the conversion process can be
> made more accurate
> and lose minimum information.
>
>
> === Benefits to MuseScore ===
>
> MuseScore users will be able to import MIDI files
> and convert them to music sheets more conveniently, with less hand-work
> and hopefully more precisely.
>
> For example, even partial automatic splitting of imported piano track into
> two (left/right hand) tracks will simplify the whole editing process.
>
> Currently MuseScore doesn't do MIDI recording in real time from a MIDI
> device
> so it is important to import MIDI files recorded with other software.
>
>
> === Deliverables ===
>
> Improved MIDI files conversion into music notation, such as:
> - clearer music notation, for example, use dots instead of ties where
> possible
> - better left/right hand separation for piano music in the case of a single
> input track
> - triplet recognition and possibly other tuplets
> - swing style recognition: notate it as straight notes, but still play
> swing
>
> And, if it will be enough time, some other ideas like voice separation:
> complex but interesting task -
> make MuseScore to do it automatically.
>
>
> === Project Details ===
>
> The proposed import MIDI functionality is about recognition MIDI timeline
> to
> musical notation.
>
> Left/right hand MIDI piano track separation can be performed not simply
> with
> a "split point",
> eg, everything above middle - in treble clef, everything below - in bass
> clef.
> Fingering can be taken into account, natural width of hand (octave + 2-3
> seconds max).
> And some simplification of the result notation can be carried out, for
> example,
> several tied notes with the same pitch can be replaced in some cases with
> one long note.
> Also we can choose treble or bass clefs dynamically in dependence on the
> middle point of chord for each hand.
> I think it is useful to take a look at some commercial conversion software,
> such as Notation Musician,
> which output is very good - the source of inspiration.
>
> As for tempo and notes duration, consider beat duration is equal to 1.0.
> Notes with the 1.5 duration can be represented in the sheet as 1.0 note +
> 0.5 note connected with a tie
> or 1.0 note + dot. 1.75 duration = double dotted note and so on.
>
> There is also an idea to fix import of triplets and - tuplets, in general.
> Triplet is a group of three notes that last for two beats. So the
> recognition process is based on this fact.
> Also triplet can be a pause plus two notes - here we have two notes with
> 6/4
> of beat duration.
> Other tuplets are expected to be treated in a similar way.
>
> Swing notation has a good description on Wikipedia:
> http://en.wikipedia.org/wiki/Swing_(jazz_performance_style)#Swung_note
> and can have different rhythmic approximations. Swing has shuffle rhythm.
> General MIDI drums - channel 10.
>
>
> === Project Schedule ===
>
> May 28 - June 16 (3 weeks)
>     Get to know better mentor and the community.
>     Discuss MIDI import tasks, get familiar with MuseScore code, try some
> ideas.
>     Read more about MIDI format (Wikipedia, different articles, ...)
>         and MIDI convertion to music sheets, program examples,
>         for example "Converting MIDI to traditional music score" -
>         A comparison of music notation software -
> http://www.skytopia.com/project/articles/notation.html
>     Read resources about tuplets, swing rhythm, and drums in connection
> with
> MIDI files.
>
> June 17 - July 28 (6 weeks)
>     Week 1. More proper implementation of LH/RH piano track separation,
> read
> some user discussions
>             for example, "Split Midi track to double staff" -
> http://musescore.org/en/node/3195
>             "How do I import midi files into a piano score setting" -
> http://musescore.org/en/node/16070
>             "How To Divide 1 Chord to 2" -
> http://musescore.org/en/node/13474
>     Week 2. Testing track separation.
>     Week 3. Implementation of import MIDI with dot notes instead of ties
>             + use import MIDI code of previous stable MuseScore versions.
>     Week 4. Triplet recognition (3 notes during 2 beats), also read user
> notes,
>             for example "Can't open a MIDI file with triplets" -
> http://musescore.org/en/node/17592
>     Week 5. Other tuplet recognition if possible.
>     Week 6. Testing written code and preparation for evaluation.
>
> July 29 - August 2
>     Mid-term evaluation time
>
> August 3 - August 6
>     Small vacation
>
> August 7 - September 15 (6 weeks)
>     Week 1. Drums import, repeat drum marking in MIDI file.
>     Week 2. Swing import, repeat some articles on this topic.
>     Week 3. Testing.
>     Week 4-5. Possible time for additional ideas: voice separation and
> others.
>     Week 6. Testing written code and preparation for evaluation.
>
> September 16 - September 22 (1 week)
>     Final testing and bug-fixing.
>
> September 23 - September 27
>     Final evaluation time.
>
> September 27 - September 30
>     Submittion of code samples to Google.
>
>
> I plan to do some coding before June
> and I'm going to work on this project 3/4 time during June and full-time
> during the rest of the GSoC period.
>
>
> === Bio ===
>
> I graduated from Mendeleyev University of Chemical Technology of Russia and
> now
> I'm a postgraduate student there.
> For my thesis during the past two years I developed simulation program
> (C++,
> Qt)
> for investigation of aggregation kinetics of colloidal particles
> by Langevin dynamics simulations.
> In this program I implemented algorithms for
> different particle distributions, collision detection and collision
> handling,
> for particle pairwise-interaction calculation and some others.
> I have several paper works on calculations performed by this program.
>
> I like programming and reading computer literature.
> Recently I finished "Algorithms" course by Robert Sedgewick and Kevin Wayne
> on Coursera.
>
> When I have free time I enjoy playing the piano, and computer helps me to
> edit and print music scores.
> Some time before on Windows I used Finale and SmartScore for editing piano
> sheets.
> Now I'm working on Linux and MuseScore is my main notation program.
>
> And about open source, I used several open-source libraries in simulation
> program
> and I'm interested in open-source software in general.
>
> I have some experience in contribution to open-source projects.
> I contributed to Qt Creator, modern C++ IDE, one of the commits merged with
> master branch:
> http://qt.gitorious.org/qt-creator/qt-creator/commit/72e0ded
>
> And my recent contribution to MuseScore - prototype for LH/RH MIDI track
> separation:
> https://github.com/musescore/MuseScore/pull/309
>
> I always wanted to improve software that me and other people use.
> Now I have an additional chance to do so.
> I have a great interest to implement mentioned and some other musical
> features
> in MuseScore program and improve MIDI import.
> And I'm going to complete this proposed project.
>
>
> --
>
> Andrey M. Tokarev
>
> [email protected]
> IRC: trig-ger
>
> http://github.com/trig-ger
> http://gitorious.org/~trig-ger
>
>
>
>
> --
> View this message in context:
> http://dev-list.musescore.org/GSoC-MIDI-proposal-draft-tp7578046.html
> Sent from the MuseScore Developer mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
> _______________________________________________
> Mscore-developer mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Mscore-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mscore-developer

Reply via email to