Vol.2016-MUS-112 No.13
2016/7/31

৘ใॲཧֶձ‫ڀݚ‬ใࠂ
IPSJ SIG Technical Reportλςઢේͱॳ৺ऀ޲͚ϐΞϊӡࢦͷ SMF ͔Βͷࣗಈੜ੒ࠤ౻ ཮1,†1தଜ ӫଠ2ᜊ౻ ߁೭1,a)Ѩํ ढ़3‫ेޒ‬ཛྷ ༏3ࠧեࢁ ໜथ4֓ཁɿ‫ࡏݱ‬ͷָේͷओྲྀ͸ɼϐΞϊʹ‫ݶ‬Βͣ‫ޒ‬ઢේͰ͋Δɽ‫ޒ‬ઢේ͸ଟ਺ͷָ‫ث‬ͷָේʹ࠾༻͞Ε͍ͯΔ΋ͷͰ͋Γɼ৘ใྔ΋ଟ͍ɽ͔͠͠ɼ‫ޒ‬ઢේʹ‫׳‬Ε͍ͯͳ͍ਓʹͱͬͯ͸ͦͷෳࡶ͞ʹΑͬͯಡΉ͜ͱ͕೉͍͠ɽҰํɼѨํʹΑͬͯߟҊ͞Εͨλςઢේ͸ɼϐΞϊԋ૗ॳ৺ऀ͕ಡේ͠қ͍৽ָ͍͠ේͰ͋Γɼ‫ޒ‬ઢේͱ͸ҟͳΓ؆ૉͰ௚‫ײ‬తͰ͋Δɽैདྷɼλςઢේ͸खಈͰ࡞੒͞Ε͍ͯΔ͕ɼຊ‫Ͱڀݚ‬͸͜ΕΛ SMF͔ΒϐΞϊӡࢦΛ‫ؚ‬Ίͯࣗಈੜ੒͢Δํ๏ʹ͍ͭͯ‫ݕ‬౼͢Δɽ͞ΒʹɼSMF ͷ಺༰ʹ߹Θͤͯදࣔ͢ΔԻ֊ͷ্‫ͱݶ‬Լ‫ݶ‬Λม͑ΒΕΔΑ͏ʹͨ͠ɽΩʔϫʔυɿλςઢේɼࣗಈӡࢦܾఆɼSMF

Automatic creation of score in vertical line notationand piano fingering for beginner player from SMF
Sato Riku1,†1

Nakamura Eita2

Saito Yasuyuki1,a) Agata Suguru3
Sagayama Shigeki4

Yuu IGARASHI3

Abstract: The current mainstream of music score employs staﬀ notation. Not limited within piano, staﬀ
notation is used for many types of instruments as it can contain a large amount of information. It is, however,often hard to read staﬀ notation for novice players who are not familiar with it because of its complexity. On
the other hand, Agata proposed vertical line notation (VLN) which is a new type of notation. It is simple,
intuitively designed and thus easy to understand. In this study, we examined a method of creating musicscores on VLN including piano fingering for beginner player automatically from standard MIDI files (SMF),
furthermore, a method of regulating upper and lower limits of displaying scale.
Keywords: Vertical line notation, Automatic piano fingering, SMF

1. ͸͡Ίʹཁ͕͋Δ͕ɼϐΞϊԋ૗ͷॳ৺ऀͷଟ͘͸௨ৗͷ‫ޒ‬ઢේΛಡΉ͜ͱ͸೉͍͠ɽ͜Ε͸ॳ৺ऀ͕ϐΞϊԋ૗ͷ࿅शΛ͢ࢠ‫ڙ‬ɼอҭ࢜Λ໨ࢦֶ͢ੜɼఆ೥Λܴ͑ͨํͳͲ͕ϐΞΔʹ͋ͨͬͯେ͖ͳো֐ͱͳΔɽλςઢේ͸ओʹ͜ͷΑ͏ϊԋ૗ͷ࿅शΛ࢝ΊΔ͜ͱ͕͋ΔɽͦͷࡍɼָේΛಡΉඞͳϐΞϊԋ૗ͷॳ৺ऀ͕࢖༻͢ΔͨΊʹѨํʹΑͬͯ 1985೥ʹߟҊ͞Εɼ2010 ೥͔Βত࿨ԻָେֶͰͦͷޮՌʹͭ

1234†1a)໦ߋ௡޻‫ߴۀ‬౳ઐ໳ֶߍ ৘ใ޻ֶՊNIT,Kisarazu College, Kisarazu, Chiba 2921–0041, Japan‫౎ژ‬େֶ େֶӃ৘ใֶ‫ڀݚ‬Պ ஌ೳ৘ใֶઐ߈Kyoto University, Sakyo-ku, Kyoto 606–8501, Japanত࿨Իָେֶ
Showa University of Music, Kawasaki, Kanagawa 215–8558,
Japan໌࣏େֶ ૯߹਺ཧֶ෦ ઌ୺ϝσΟΞαΠΤϯεֶՊ
Meiji University, Nakano-ku, Tokyo 164–8525, Japan‫ࡏݱ‬ɼ๛‫ٕڮ‬ज़Պֶେֶ
Presently with Toyohashi University of Technology
saito@j.kisarazu.ac.jp

c 2016 Information Processing Society of Japan⃝͍࣮ͯূ࣮‫ݧ‬ΛॏͶ͍ͯΔ [1], [2]ɽ‫ࡏݱ‬ɼλςઢේ͸ද‫ࢉܭ‬ιϑτ΢ΣΞͳͲΛ࢖༻ͯ͠खಈͰ࡞੒͞Ε͍ͯΔɽͦͷͨΊɼ࡞੒ʹ͔͔Δखؒͱ͕࣌ؒେ͖͍ɽ͜ΕΛվળ͢ΔͨΊɼຊ‫Ͱڀݚ‬͸ɼ‫ط‬ଘͷ SMFʢstandard MIDI fileʣ͔Βλςઢේ͓ΑͼϐΞϊॳ৺ऀ޲͚ͷӡࢦΛࣗಈతʹੜ੒͢Διϑτ΢ΣΞΛߏங͢Δɽ

1

Vol.2016-MUS-112 No.13
2016/7/31

৘ใॲཧֶձ‫ڀݚ‬ใࠂ
IPSJ SIG Technical Report

3

時間の流れ

2

節

3枝4高音

低音
ਤ 143λςઢේͷ‫ࣜܗ‬

252

1

3

4
5

1

Test 1
ਤ 4

ਤ 24&4 œ
3& œ& œŒ

œœœ

œ

œ

544֤ࢦʹׂΓ౰ͯΒΕΔӡࢦ൪߸œਤ 3œŒœœœœœœœœœλςઢේʹΑΔʮνϡʔϦοϓʯʢखಈ࡞੒൛ʣ

Œ

F#

ਤ 5

F

F#F

F#(C)

(D)

C#ྟ࣌‫߸ه‬Λ‫ؚ‬Ή‫ޒ‬ઢේʢԻ໊ͷ‫͖ॻހׅ‬͸ҟ໊ಉԻʣɽŒŒ〜‫ޒ‬ઢේʹΑΔʮνϡʔϦοϓʯ

2. λςઢේ
λςઢේ͸ɼओʹϐΞϊԋ૗ͷॳ৺ऀ͕ಡΉͨΊʹߟҊ͞Εͨɽਤ 1 ʹλςઢේͷ‫ࣜܗ‬Λࣔ͢ɽॎํ޲͕࣌ؒͷਐߦΛɼԣํ޲͕Իͷߴ͞Λࣔ͢ɽλςઢේʹ͸Ի֊Λද͢ʮઅʯͱɼԻͷ௕͞Λද͢ʮࢬʯͷ 2 ͭͷཁૉ͕ԻූΛද

1

ਤ 6

ਤ 5 ͱ౳Ձͳλςઢේʢࠇ‫ʹݤ‬ରԠ͢Δઅ͸ࠇ஍Ͱද‫ݱ‬ʣ͍ͯ͠Δɽ·ͨɼઅͷ಺෦ʹ͸ӡࢦ൪߸ʢਤ 2 ࢀরʣ͕ࣔ͋ΔԻූͱͦͷ࣍ͷԻූͷؒʹ‫·ڬ͕ූٳ‬Ε͍ͯͳ͍৔͞Ε͍ͯΔɽͦͷͨΊɼઅͷҐஔͷ‫ݤ‬Λӡࢦ൪߸ͷ௨Γʹ߹͸ɼͦͷԻූͷࢬͱ࣍ͷԻූͷઅ͕ͭͳ͕ΔɽϐΞϊͷଧ‫ͱ͍ͯ͘͠ݤ‬ɼਖ਼͍͠ӡࢦͰϐΞϊΛԋ૗Ͱ͖Δɽྫͱ‫ݤ‬൫͕‫͞ࡌه‬Ε͓ͯΓɼԻූͷԻͷߴ͞ͱϐΞϊͷ‫ݤ‬൫ͷͯ͠ɼਤ 3 ʹʮνϡʔϦοϓʯͷ‫ޒ‬ઢේΛɼਤ 4 ʹλςઢҐஔ͸Ұக͍ͯ͠Δɽ·ͨɼҹ࡮࣌ʹ֦େɼॖখΛௐ੔͢ේʹΑΔ΋ͷΛࣔ͢ɽΔ͜ͱͰλςઢේ্ͷ‫ݤ‬൫ͷ෯ͱϐΞϊͷ‫ݤ‬൫ͷ෯͕Ұகͨͱ͑͹ɼਤ 5 ͷΑ͏ͳ‫ޒ‬ઢේ͸ɼͻͱͭͷখઅʢָේ͢ΔͷͰɼͦͷΑ͏ͳλςઢේΛϐΞϊͷ‫ݤ‬൫ͷԞʹ഑ஔΛ۠੾Δ୯Ґʣ͋ͨΓͷ৘ใྔ͕ଟ͘ɼԻූͷ‫߸ه‬΋௚‫؍‬͢Ε͹ɼઅͷਅԼʹଧ‫ݤ͖΂͢ݤ‬Λ഑ஔͰ͖ΔͷͰɼ͞ΒతͰͳ͘ɼಡΈํΛ஌Βͳ͍ਓ͕ಡΉͷ͸೉͍͠ɽҰํɼʹԋ૗͠΍͘͢ͳΔɽ͜ͷ͜ͱʹΑΓɼϐΞϊԋ૗͓Αͼ

ਤ 6 Ͱ͸ɼઅ͸࣮ࡍͷԻߴʹҐஔ͍ͯ͠ΔͨΊɼಡΈؒҧָේΛಡΉॳ৺ऀͰ΋ɼָේΛ‫͕ͳݟ‬Βԋ૗Ͱ͖ɼָේ্͏͜ͱ͸গͳ͍ʢͨͱ͑͹ɼC ͱ F Λؒҧ͏৔߹͕͋Δʹ೉͍͠‫͕߸ه‬ແ͍ͨΊɼඞཁͱͳΔ஌ࣝ΋গͳͯ͘ࡁΉɽ͕ɼ͜Εʹ͍ͭͯ͸ 7 ষͰ‫͢ٴݴ‬Δʣɽ

c 2016 Information Processing Society of Japan⃝2TitleVol.2016-MUS-112 No.13
2016/7/31

৘ใॲཧֶձ‫ڀݚ‬ใࠂComposerIPSJ SIG Technical Report44ਤ 7ീ෼ԻූΛ‫ؚ‬Μָͩේͷྫ

h1h2
ਤ 9અͷ৽ͨͳ഑ஔํ๏ɽ

͜͜ͰɼD × 4 ͸ 1 খઅͷ௕͞ʹ౳͍͠ɽখઅͷ࢝·Γ͔ΒͷԻූͷҐஔ P ͸ɼࣜ (2) Ͱ‫·ٻ‬Γɼখઅ൪߸ M ͸ࣜ (3) Ͱ‫·ٻ‬Δɽ

h1h2
ਤ 8

P = S mod (D × 4)

(2)

M = [S / (D × 4)] + 1(3)͜͜Ͱɼ“mod” ͸৒༨‫ࢉܭ‬Λද͠ɼ“[ ]” ͸চؔ਺Λද͢ɽਤ 7 ͷλςઢේද‫ه‬ʢखಈ࡞੒൛ʣɽ

ਤ 10 ʹ l, P , M Λࣔ͢ɽ͜ΕΒͷύϥϝʔλ͸ɼλςઢේͰͷઅͷதԝͷ y ࠲ඪ ynode ͷࢉग़ʹ༻͍ΒΕΔɽ

3. અͷҐஔynode = hm + hp + hb M + hnιϑτ΢ΣΞʹΑͬͯࣗಈͰઅΛ഑ஔ͢Δ৔߹ɼਤ 4 ͷΑ͏ͳઅͷ഑ஔํ๏ʹ͸໰୊͕͋Δɽਤ 4 ͷ഑ஔํ๏͸ɼઅ͕খઅ۠੾ΓઢͱॏͳΒͳ͍Α͏ʹɼখઅ۠੾Γઢͱͦ(4)͜͜Ͱɼhm , hp , hb ͸λςઢේͷ্༨നɼϐΞϊྖҬɼখઅͷߴ͞Λࣔ͠ɼhn ͸খઅઢ͔Βઅ·Ͱͷ‫཭ڑ‬Λࣔ͠ɼͷ࣍ͷখઅ۠੾Γઢͷؒͷ಺ଆʹઅΛ഑ஔ͍ͯ͠Δɽ͜ͷhn = h b PΑ͏ͳઅͷ഑ஔํ๏Ͱ͸ɼখઅ಺ͷ࠷‫ޙ‬ͷࢬ͸ຊདྷͷ௕͞(5)ΑΓ΋୹͘ͳΔɽָේͷྫΛਤ 7 ʹɼਤ 7 ͷָේΛैདྷͷͰ‫·ٻ‬Δʢਤ 11ʣ
ɽͳ͓ɼP ͸෼਺Ͱ͋Δɽhl ͸λςઢේλςઢේͰද‫ͨ͠ه‬΋ͷΛਤ 8 ʹࣔ͢ɽਤ 7 ͷָේͰͷ্ͰͷԻූ௕Λද͠ɼࣜ (6) Ͱ‫·ٻ‬Δɽ8 ෼Իූ͸ɼैདྷͷλςઢේͰද‫͢ه‬Δͱ h1 ͱ h2 ͷ௕͞hl = l h b .

͕ҟͳ͍ͬͯΔɽ͜ͷ໰୊Λղܾ͢ΔͨΊɼઅͷ৽ͨͳ഑ஔํ๏ΛఏҊ͢Δɽ
ਤ 7 ͷָේΛɼઅͷ৽ͨͳ഑ஔํ๏Λ࢖༻ͨ͠λςઢේͰද‫ͨ͠ه‬΋ͷΛਤ 9 ʹࣔ͢ɽਤ 9 ͷ഑ஔํ๏Ͱ͸ɼখઅ۠੾ΓઢʹઅΛॏͶΔ΋ͷͱ͠ɼ͋Δখઅ۠੾Γઢ͔Βͦͷ࣍ͷখઅ۠੾Γઢ·ͰΛͪΐ͏Ͳ 1 খઅͷඳըൣғͱͨ͠ɽ͜ͷํ๏Ͱ͋Ε͹ɼখઅ࠷‫ޙ‬ͷԻූͷࢬͷ௕͕͞௨ৗΑΓҟͳΔͱ͍͏໰୊ΛղܾͰ͖Δɽ

SMF ͸ԻූͷԻߴ৘ใͦͷ΋ͷΛ‫ؚ‬ΜͰ͍ΔͷͰɼઅͷԣํ޲ͷ࠲ඪ͸༰қʹ‫·ٻ‬Δɽnlowest Λλςઢේ্Ͱͷ࠷௿ԻͷԻߴͱ͢Δͱɼͦͷϊʔτ൪߸ vlowest ͸ද 1ͷ࠷௿ԻʹରԠ͢Δɽઅͷதԝͷ x ࠲ඪ xnode ͸ɼnnodeΛઅͷϊʔτ൪߸ͱ͢Δͱɼࣜ (7) Ͱ‫·ٻ‬Δɽxnode = wm +SMF Ͱ͸ɼϊʔτΦϯͱϊʔτΦϑͷ࣌ࠁ৘ใ͕‫·ؚ‬(6)

wkeywkey+ (nnode − nlowest )22(7)Ε͍ͯΔ͕ɼখઅ΍ഥͷ৘ใ͸௚઀తʹ͸‫·ؚ‬Ε͍ͯͳ͍ɽ

͜͜Ͱɼwm ͸λςઢේͰͷࠨ༨നΛࣔ͠ɼwkey ͸λςͦͷͨΊɼSMF ͔ΒλςઢේΛ࡞੒͢Δʹ͸ɼͦΕΒͷ৘ઢේ্ͷ‫ݤ‬ͷ෯Λࣔ͢ɽͳ͓ɼxnode ͸൒Ի୯ҐͳͷͰɼใΛ‫ٻ‬ΊΔඞཁ͕͋Δɽָ‫ۂ‬͸ 44 ഥࢠͰɼऑ‫ى‬͸ͳ͍΋ͷ

wkey Λ 2 Ͱׂͬͨ஋Λ༻͍͍ͯΔɽ

ͱ͢Δɼ͜ΒΒͷ৚݅ʹ͓͍ͯɼS ΛϊʔτΦϯͷ࣌ࠁɼλςઢේ্Ͱͷ࠷ߴԻ͸ɼද 2 ͔Β‫ٻ‬ΊΔɽͨͱ͑͹ɼE ΛϊʔτΦϑͷ࣌ࠁͱ͠ɼD ΛλΠϜϕʔεͱ͢Δͱɼ

ਤ 11 ͷ৔߹ɼ࠷௿Իͷ C4 ͕ vlowest ʹରԠ෇͚ΒΕΔɽԻූ௕ l ͸ࣜ (1) Ͱ‫·ٻ‬Δɽ͕ͨͬͯ͠ɼnlowest ʹ͸ C4 ͷϊʔτ൪߸ͷ 64 ͕୅ೖ͞ΕΔɽ·ͨɼ͜ͷָ‫಺ۂ‬ͷ࠷ߴԻ͸ɼ࠷௿Իͷ C4 ͔Β 1l = (E − S) / (D × 4)
c 2016 Information Processing Society of Japan⃝(1)ΦΫλʔϒҎ಺ͳͷͰɼvhighest ʹ͸ C5 ͕୅ೖ͞ΕΔɽ

3

Vol.2016-MUS-112 No.13
2016/7/31

৘ใॲཧֶձ‫ڀݚ‬ใࠂ
IPSJ SIG Technical ReportPMl
ਤ 1023 451

খઅ൪߸ M ɼԻූҐஔ P ɼԻූ௕ lhm

hp

ਤ 12hb

HMM ʹ‫͍ͨͮج‬ϐΞϊӡࢦϞσϧ

Δɽ͜͜Ͱɼn = 1, . . . , N ͰɼN ͸Իූͷ૯਺ʹ౳͍͠ɽͨͩ͠ɼ͜͜Ͱ͸ɼ௕͍ԻΛԋ૗͢Δͱ͖ͷࢦͷೖΕସ͑ʢଧ‫ʹޙͨ͠ݤ‬ɼผͷࢦͰͦΕΛԡ͑͞Δʣ͸ߟྀ͠ͳ͍ɽ
·ͣɼԻߴͷྻ p1:N = (pn )Nn=1 ͕༩͑ΒΕͨͱ͖ʹӡࢦ

wmhnhlͷॱং f1:N = (fn )Nn=1 ͱͳΔ֬཰Λ P (f1:N |p1:N ) ͱද͢͜ͱʹ͢ΔɽҎԼͰड़΂ΔΑ͏ʹɼӡࢦܾఆͷͨΊͷΞϧΰϦζϜ͸ɼ࠷໬ਪఆͷ໰୊ʹ‫ؼ‬ண͢Δɽfˆ1:N = argmax P (f1:N |p1:N )(8)

f1:Nwkey‫ݸ‬ʑͷԻූͷӡࢦ͸ɼָේ্ͰԕํͷԻූΑΓ΋ۙ๣ͷԻූʹӨ‫͞ڹ‬Εɼྡ઀͢ΔԻූؒͷґଘੑ͕࠷΋ॏཁͰ͋Δɽ͢ͳΘͪɼ͜ͷ࿮૊Έ͸ɼϚϧίϑϞσϧͱͯ͠ѻ͏͜ͱ͕Ͱ͖Δɽ͜Ε͸ɼ֬཰ͷ࠷େԽ͓ΑͼϞσϧύϥϝʔλ1ͷઃఆͷޮ཰ͷ໘Ͱ༏Ε͍ͯΔɽͳ͓ɼӡࢦͷ֬཰͸Իූਤ 11અͷ x ͓Αͼ y ࠲ඪΛ‫ٻ‬ΊΔ্Ͱ༻͍Δ֤छύϥϝʔλؒͷΦϯηοτִؒؒʢinter-onset intervalʣʹґଘ͠͏Δ͕ɼ͜͜Ͱ͸ͦͷґଘੑ͸ߟྀͤͣʹ໰୊Λ؆ུԽ͢Δɽද 1λςઢේ಺ͷ࠷௿Իɽָ‫಺ۂ‬ͷ࠷௿ԻͷԻ໊͕ plowest ͷͱ͖ɼλςઢේͷද‫͚͓ʹه‬Δ࠷௿Իͷ‫ ʹݤ‬vlowest ׂ͕Γ౰ͯΒΕΔɽ

plowestvlowestC, D, EC

F, G, A, HFָේͷԻූͷԻ͸ɼࢦͷҠಈͱଧ‫ʹݤ‬Αͬͯੜ੒͞ΕΔͱԾఆ͢ΔͱɼͦΕΒͷ֬཰͸ɼ͋Δࢦ fn−1 Λ༻͍ͨ‫ޙ‬ʹผͷࢦ fn ͕࢖ΘΕΔ֬཰ P (fn |fn−1 ) ͱɼͦΕΒ 2 ຊͷࢦʹΑͬͯ͋ΔԻߴ pn−1 ͓Αͼ pn ͕࿈ଓͯ͠ԋ૗͞

ΕΔ֬཰ P (pn |pn−1 , fn−1 , fn ) ʹΑͬͯ‫·ٻ‬Δʢਤ 12ʣɽલऀ͸ঢ়ଶભҠ֬཰ɼ‫ऀޙ‬͸ग़ྗ֬཰ͱ‫ݺ‬͹ΕΔɽ͜ΕΒද 2λςઢේ಺ͷ࠷ߴԻɽָ‫಺ۂ‬ͷ࠷௿Իͱ࠷ߴԻͷ͕ࠩ prangeͷ֬཰ͷ‫ݟ‬஍͔ΒɼԻූͱࢦͷ֬཰͸ɼࣜ (9) Ͱද͞ΕΔɽͷͱ͖ɼλςઢේͷද‫͚͓ʹه‬Δ࠷ߴԻͷ‫ ʹݤ‬vhighest ׂ͕Γ౰ͯΒΕΔɽ

prangevhighest

1 ΦΫλʔϒҎ಺ָ‫಺ۂ‬ͷ࠷௿Իͷ 1 ΦΫλʔϒ্ͷԻߴ

1 ΦΫλʔϒ௒ָ‫಺ۂ‬ͷ࠷ߴԻ

4. ϐΞϊॳ৺ऀͷͨΊͷࣗಈӡࢦܾఆํ๏લষʹࣔͨ͠Α͏ʹɼλςઢේ͸ SMF ͔Βࣗಈతʹੜ੒Ͱ͖Δ͕ɼ֤અʹϐΞϊӡࢦ൪߸Λ෇༩͢Δඞཁ͕͋Δɽӡࢦ൪߸͸ϐΞϊԋ૗ऀʹͱͬͯॏཁͰ͋Δ͕ɼͦͷܾఆ͸༰қͰ͸ͳ͍ɽຊষͰ͸ɼࣗಈϐΞϊӡࢦܾఆʹ͍ͭͯड़΂ΔɽࣗಈϐΞϊӡࢦܾఆʹऔΓ૊ΜͰ͍Δઌߦ‫ڀݚ‬ʢͨͱ͑͹ɼจ‫[ ݙ‬3], [4], [5], [6]ʣ͕͋Δ͕ɼզʑ͸ hidden MarkovmodelʢHMMʣʹ‫ํ͍ͨͮج‬๏Λ‫ݕ‬౼͍ͯ͠Δ [7]ɽָේ্ͷ n ‫ݸ‬໨ͷԻූ pn ʹӡࢦ൪߸ΛৼΔ͜ͱΛߟ͑c 2016 Information Processing Society of Japan⃝P (p1:N , f1:N ) =N!

n=1

P (pn |pn−1 , fn−1 , fn )P (fn |fn−1 )͜ ͜ Ͱ ɼॳ ‫ ཰ ֬ ظ‬͸ P (f1 |f0 )(9)≡P (f1 ) ͓ Α ͼ

P (p1 |p0 , f0 , f1 ) ≡ P (p1 |f1 ) ͱ ද ͞ Ε ɼͦ Ε ʹ Ԡ ͡ ͯ
P (f1:N |p1:N ) ͕༩͑ΒΕΔɽޮ཰Α͘ϞσϧΛߏங͢ΔͨΊɼύϥϝʔλʹઃఆʹࡍ͍͔ͯͭ͘͠ͷ੍໿Λઃ͚Δ͜ͱʹ͢Δɽ·ͣɼ֬཰͸ɼ‫ݤ‬൫Λ 2 ࣍‫ͯ͠ͱࢠ֨ݩ‬ද‫ʹ͖ͱͨ͠ݱ‬ɼଧ‫͞ݤ‬ΕΔ‫ݤ‬ͷ‫ز‬ԿֶతҐஔͷΈʹґଘ͢ΔͱԾఆ͢Δɽ·ͨɼx ํ޲ʹ͓͚Δฒਐରশੑͱɼग़ྗ֬཰ͷ࣌ؒ൓సରশੑ΋Ծఆ͢Δɽ‫ݤ‬൫্ͷ࠲ඪΛ ℓ(p) = (ℓx (p), ℓy (p)) Ͱද͢ͱ͢Δͱɼલड़ͷԾఆΑΓɼग़ྗ֬཰͸P (p′ |p, f, f ′ ) = F (ℓx (p′ ) − ℓx (p), ℓy (p′ ) − ℓy (p); f, f ′ )(10)4

Vol.2016-MUS-112 No.13
2016/7/31

৘ใॲཧֶձ‫ڀݚ‬ใࠂ
IPSJ SIG Technical ReportͰ͋Γɼ͜Ε͸Λ༻͍ͨɽ·ͨɼBoost [11] Λಋೖ͠ɼԻූ௕ͱɼখઅ಺ͰͷԻූͷҐஔͷද‫ͨ͠༻࢖ʹݱ‬ɽͨͱ͑͹ɼԻූͷ௕͕͞F (ℓx (p′ ) − ℓx (p), ℓy (p′ ) − ℓy (p); f, f ′ ) =′′′F (ℓx (p) − ℓx (p ), ℓy (p) − ℓy (p ); f , f )(11)′′Fη (ℓx (p ) − ℓx (p), ℓy (p ) − ℓy (p); f, f )ͷιʔεπϦʔ͚ͩͰ WindowsɼOS XɼLinuxɼAndroid(12)ͱද͞ΕΔɽ͜͜Ͱɼη ͸ࠨӈͷखʢL ·ͨ͸ RʣΛࣔ͢ɽ͞Βʹɼ͜ΕΒͷ֬཰͕ x ํ޲ʹ͍ͭͯରশͷؔ܎ʹ͋ΔͱԾఆ͢Ε͹ɼ′λςઢේͷඳը͓Αͼ PDF ग़ྗʹ͸ Qt [12] Λ༻͍ͨɽQt ͸ GUI Λ࡞੒͢ΔͨΊͷϑϨʔϜϫʔΫͰ͋Γɼ1 ͭΛຬͨ͢ɽ͜ΕΑΓɼखͷ֤ʑͷϞσϧ͸ɼ′4 ෼ԻූͳΒ͹෼਺ͷ 14 ɼશԻූͳΒ͹ 1 Ͱද‫͖Ͱݱ‬ΔɽͳͲʹରԠͨ͠ΞϓϦέʔγϣϯΛ࡞੒Ͱ͖Δɽຊ‫Ͱڀݚ‬͸ɼQt ͷ‫ػ‬ೳͷ 1 ͭͰ͋Δ QGraphicsScene ΫϥεΛ༻͍ͯඳըͨ͠ɽ·ͨɼQPrinter ΫϥεΛ࢖༻ͯ͠ QGraph-icsScene ʹඳըͨ͠ਤ‫ܗ‬σʔλΛ PDF ʹग़ྗͰ͖Δɽͳ͓ɼࢦ൪߸Λ‫͢ه‬ϑΝΠϧͷϑΥʔϚοτ͸ɼࢦ൪߸Λ‫ه‬′͢͝ͱʹվߦ͢Δ΋ͷͱͨ͠ɽ′FL (ℓx (p ) − ℓx (p), ℓy (p ) − ℓy (p); f, f ) =FR (ℓx (p′ ) − ℓx (p), ℓy (p′ ) − ℓy (p); f, f ′ )(13)͕ಘΒΕΔɽ‫ݱ‬ঢ়ͷϞσϧ͸ɼ࿨ԻΛΞϧϖδΦͷΑ͏ʹѻ͍ɼ͢ͳΘͪɼଟ੠ͷύοηʔδΛ୯ટ཯ʹม‫͢׵‬Δ͜

6. ࣮‫݁ݧ‬Ռ࡞੒ͨ͠ιϑτ΢ΣΞ͸ɼSMF ͓Αͼӡࢦ൪߸ͷ৘ใΛಡΈࠐΜͰɼλςઢේΛੜ੒Ͱ͖Δ͜ͱΛ֬ೝͨ͠ɽͱͰɼ࿨ԻΛ‫ؚ‬ΉύοηʔδʹదԠ͢ΔΑ͏ʹ֦ு͞Εͯ·ͨɼ໦ߋ௡ߴઐͷϐΞϊॳ৺ऀͷֶੜ 10 ໊Λର৅ͱ

͍Δ [5]. ͜ͷͱ͖ɼ࿨ԻͷԻූ͸௿͍Իߴ͔Βߴ͍Իߴͷ͠ɼλςઢේΛ༻͍࣮ͯ‫ݧ‬Λߦͬͨɽ·ͣɼਤ 4 ͷʮνϡʔॱʹฒ΂ΒΕΔɽϦοϓʯΛ࿅श͠ɼλςઢේͷಡΈํͱϐΞϊԋ૗ʹ‫׳‬Ε͜ͷϞσϧΛ༻͍ͯ༩͑ΒΕͨϐΞϊේʹର͢Δ࠷దͳͯ΋Βͬͨɽ࣍ʹɼνϟΠίϑεΩʔ࡞‫ۂ‬ʮ͘ΔΈׂΓਓӡࢦΛಘΔͨΊʹ͸ɼP (f1:N |p1:N ) Λ࠷େԽ͢Δඞཁ͕͋‫ܗ‬ʯΑΓʮߦਐ‫ۂ‬ʯͷ๯಄ͷ 2 খઅʢਤ 13ʣͷλςઢේΔɽ͜ͷ໰୊͸ɼಈత‫ܭ‬ը๏ͷҰछͰ͋ΔϏλϏΞϧΰϦΛ࡞੒͠ɼॳ৺ऀ޲͚ͷӡࢦʢਤ 14ʣͱ্‫͚޲ऀڃ‬ͷӡζϜʹΑͬͯޮ཰Α͘ղ͚Δ [8]. ·ͨɼ্‫ه‬ͷϞσϧͷ྆ࢦʢਤ 15ʣΛ༻͍ͯɼ͜ͷ 2 খઅΛ࠷ॳ͔Β࠷‫Ͱ·ޙ‬ӡࢦख΁ͷ֦ு͸ɼจ‫[ ݙ‬9] Ͱ‫ݕ‬౼͞Ε͓ΓɼSMF ಺ͷࠨӈͷΛ‫ؚ‬Ίͯؒҧ͑ͣʹԋ૗Ͱ͖Δ·Ͱɼ൓෮ԋ૗ͯ͠΋ΒͬखͷύʔτΛ໌ࣔతʹ෼ִ͚ͯΔ͜ͱͳ͠ʹɼ࠷దͳӡࢦͨɽͦͷΞϯέʔτ݁ՌΛද 3 ʹࣔ͢ɽ͍ͣΕͷඃ‫ऀݧ‬΋Λࠨӈͷखͷ֤ʑʹ͍ͭͯಉ࣌ʹਪఆͰ͖Δɽ‫ޒ‬ઢේ͕ಡΊͣɼϐΞϊͷຊ֨తͳϨοεϯ͸ड͚͍ͯͳঢ়ଶભҠ֬཰ͱग़ྗ֬཰ͷύϥϝʔλ஋͸ઌߦ‫[ ڀݚ‬9]͍͕ɼλςઢේ͸͢Β͢Βɼͳ͍͠ɼԿͱ͔ಡΊͨͱ͍͏ͰಘΒΕ͍ͯΔ΋ͷͷɼͦͷσʔληοτ͸ϐΞϊ্‫ऀڃ‬ճ౴Λಘͨɽ·ͨɼॳ৺ऀ޲͚ͷӡࢦͷλςઢේ͸ɼ্‫ڃ‬޲͚ͷࢦ࢖͍Ͱ͋Γɼඞͣ͠΋ॳ৺ऀ޲͚Ͱ͸ͳ͍ɽͨͱऀ޲͚ͷ΋ͷΑΓ΋༰қʹԋ૗Ͱ͖͍ͯΔɽ͑͹ɼಉԻ࿈ଧʹ͓͍ͯɼϐΞϊ্‫ऀڃ‬͸ԁ‫ʹ׈‬ԋ૗ͨ͠Γ‫͖ڹ‬Λྑͨ͘͠Γ͢ΔͨΊʹࢦΛม͑ͯଧ‫͢ݤ‬Δ͕ɼͦ

7. ·ͱΊΕ͸ϐΞϊॳ৺ऀʹͱͬͯ͸༰қͰ͸ͳ͍ɽຊ‫Ͱڀݚ‬͸ɼैདྷͷλςઢේ͸ද‫ࢉܭ‬ιϑτΛ࢖༻ͯ͠खಈͰ࡞੒͜͞ͷ໰୊Λղܾ͢ΔͨΊɼࣗ‫ݾ‬ભҠ֬཰ΛߴΊʹઃఆ͢ΔΕ͍ͯΔ͕ɼຊ‫Ͱڀݚ‬͸ɼ͜ΕΛ༰қʹ࡞੒Ͱ͖ΔΑ͏ʹ͜ͱͰɼಉԻ࿈ଧʹ͓͍ͯಉ͡ࢦΛ༻͍ΔΑ͏ʹϞσϧύ͢Δ͜ͱΛ໨తʹɼλςઢේΛࣗಈͰੜ੒͢Διϑτ΢ΣϥϝʔλΛௐઅͨ͠ɽ

ΞΛ࡞੒ͨ͠ɽSMF ΛಡΈࠐΈɼϐΞϊॳ৺ऀ޲͚ͷӡࢦ

5. ιϑτ΢ΣΞͷ࢓༷ຊ‫Ͱڀݚ‬͸ɼ‫ࡏݱ‬ɼೖྗϑΝΠϧ͸ SMF ͷΈʹରԠ͠
͍ͯΔɽSMF ͸޿͘ී‫͓ͯ͠ٴ‬Γɼ·ͨɼSMF ΛฤूՄ൪߸Λࣗಈతʹܾఆ͠ɼλςઢේΛ‫ܗ‬੒Ͱ͖ɼ·ͨɼPDFͱͯ͠ग़ྗͰ͖ΔɽϐΞϊॳ৺ऀΛର৅ʹ࣮‫͜ͱͨ͠ݧ‬Ζɼॳ৺ऀ޲͚ͷӡࢦʹΑΔλςઢේ͸্‫͚޲ऀڃ‬ͷӡࢦʹൺ΂ͯ༰қʹԋ૗Ͱ͖Δ͜ͱ͕֬ೝͰ͖ͨɽೳͳιϑτ΢ΣΞ͕ଟ਺ଘࡏ͠ɼϓϩάϥϛϯά༻ͷϥΠࠓ‫ޙ‬͸ɼGUI ্ͰखಈʹΑΔӡࢦ൪߸ͷઃఆ΍ɼλςઢϒϥϦ΋ॆ࣮͍ͯ͠ΔɽSMF Λ࡞੒͢Διϑτ΢ΣΞʹේʹλΠτϧͷ෇ՃͳͲͷ‫ػ‬ೳΛ௥Ճ͢Δ͜ͱͷ΄͔ɼCΑͬͯ͸ɼԻූͱԻූͷؒʹඍখͳ‫·ڬ͕ූٳ‬Ε͍ͯΔ͜΍ F ͷ‫΁ݤ‬ͷҟͳΔ৭ͷ෇༩ɼԻූ௕ͷΑΓ໌֬ͳද‫ͳݱ‬ͱ͕͋Δɽ͜ͷ৔߹ɼࢬͱઅΛ‫͛ܨ‬Δ΂͖͔ͷ൑ఆͷ๦͛Ͳɼλςઢේͦͷ΋ͷͷվྑ΋‫ݕ‬౼͢Δɽ͞Βʹɼॳ৺ऀʹͳΔɽͦͷӨ‫ڹ‬Λͳͨ͘͢Ίɼ16 ෼ԻූҎԼͷඍখͳ޲͚ͷϐΞϊ࿅शࢧԉιϑτ΢ΣΞͱͯ͠ɼԋ૗࣌ͷӡࢦ‫ූٳ‬͸ແࢹ͢Δ͜ͱʹ͢Δɽᮢ஋Λ 16 ෼Իූͱͨ͠ͷ͸ɼͷਖ਼͠͞ΛࣗಈతʹධՁ͢ΔγεςϜ΍ٕྔʹԠͨ͡ӡࢦϐΞϊָේʢಛʹॳ৺ऀ޲͚ʣʹ 16 ෼ԻූΑΓ୹͍Իූͷੜ੒ʢͨͱ͑͹ʮࢦ͙͘Γʯͷ༗ແʣɼए೥૚޲͚ͷಋೖ͕‫ݱ‬ΕΔ͜ͱ͸΄ͱΜͲແ͍ͨΊͰ͋Δɽ‫ڭ‬ҭͱͯ͠ͷήʔϜΛߏங͢Δ༧ఆͰ͋Δɽ·ͨɼʮ୭ͰSMF ͷಡΈࠐΈʹ͸ C++ ༻ϥΠϒϥϦͷ Midifile [10]c 2016 Information Processing Society of Japan⃝΋ಡΊΔʯͱ͍͏λςઢේͷಛ௕Λ‫͔͠׆‬ɼϦϋϏϦςʔ5৘ใॲཧֶձ‫ڀݚ‬ใࠂ

Vol.2016-MUS-112 No.13
2016/7/31

Title

IPSJ SIG Technical Report

Composer1443

ਤ 13νϟΠίϑεΩʔ࡞‫ۂ‬ʮ͘ΔΈׂΓਓ‫ܗ‬ʯΑΓʮߦਐ‫ۂ‬ʯͷ321๯಄ͷ‫ޒ‬ઢේ

12111

1
32122

3
121

ਤ 15 ʮߦਐ‫ۂ‬ʯͷ্‫͚޲ऀڃ‬ͷλςઢේද 3λςઢේΛ༻͍ͨԋ૗ͷΞϯέʔτ݁ՌʢA: excellent, B:good, C: poorʣɽTɼMbgn ɼMadv ͸ɼνϡʔϦοϓɼߦਐ‫ۂ‬ʢॳ৺ऀ޲͚ʣ
ɼߦਐ‫ۂ‬ʢ্‫͚޲ऀڃ‬ʣΛࣔ͢ɽ֤ඃ‫ͱऀݧ‬΋ຊ֨తͳϐΞϊϨοεϯ͸ड͚͓ͯΒͣɼ‫ޒ‬ઢේΛಡΊͳ͍ɽ
ඃ‫ऀݧ‬
λςઢේ
λςઢේΛ༻͍ͨԋ૗

1

ਤ 14 ʮߦਐ‫ۂ‬ʯͷॳ৺ऀ޲͚ͷλςઢේ

൪߸

ͷಡේ

Tγϣϯ΍Իָྍ๏Ͱͷద༻͕‫ظ‬଴͞ΕɼҰ෦͢ͰʹऔΓ૊

Mbgn

Madv1BBBCΜͰ͍Δ͕ [13]ɼ͜ΕΛ͞Βʹൃలɾ֦ு͍ͯ͘͠ɽ

2BAAB

3BABB

4B

B

AB

5B

B

B

C

6B

B

CC

7B

B

B

C

8A

A

AC

9AAAC10B

BACँࣙ ຊ‫ڀݚ‬ͷҰ෦͸ɼ೔ຊֶज़ৼ‫ڵ‬ձͷՊֶ‫ॿิڀݚ‬ۚ 26240025ɼ15K16054ɼ16K00501 ʹΑΔɽࢀߟจ‫ݙ‬
[1]

[2]

[3]

[4][5][6][7]

Ѩํ ढ़ɼ༑Ӭ ࿨ዳɿλςઢේʹΑΔ‫ݤ‬൫ָ‫ث‬ಋೖ ʕฏ੒Իָେֶ͜Ͳ΋ֶՊͰͷࢼΈʕɼ೔ຊిࢠΩʔϘʔυԻֶָձ ୈ 10 ճશࠃେձ ཁ߲ɼp.17 (2014).
Ѩํ ढ़, ‫ेޒ‬ཛྷ ༏ɿM.L. ‫ࣨڭ‬Λར༻ͨ͠λςઢේʹΑΔ‫ݤ‬൫ָ‫ث‬ಋೖ ʕγχΞର৅ͷ࣮ફΛ௨ͯ͠ʕɼిࢠΩʔϘʔυԻָ‫ڀݚ‬ɼVol.9, p.89 (2014).
Parncutt, R., Sloboda, J.A., Clarke, E.F., Raekallio, M.
and Desain, P.: An ergonomic model of keyboard fingering for melodic fragments, Music Perception, Vol.14,No.4, pp.341–382 (1997).
Hart, M. and Tsai, E.: Finding optimal piano fingerings,
The UMAP Journal, Vol.21, No.1, pp.167–177 (2000).
Kasimi, A.A., Nichols, E. and Raphael, C.: A simple
algorithm for automatic generation of polyphonic piano
fingerings, Proc. ISMIR, pp.355–356 (2007).
Balliauw, M., Herremans, D., Cuervo, D.P. andSörensen, K.: Generating fingerings for polyphonic piano music with a tabu search algorithm, Proc. MCM,pp.149–160 (2015).
Yonebayashi, Y., Kameoka, H. and Sagayama, S.: Automatic decision of piano fingering based on hidden Markovc 2016 Information Processing Society of Japan
⃝

[8]

[9]

[10]
[11]
[12]
[13]

models, Proc. IJCAI, pp.2915–2921 (2007).
Rabiner, L.R.: A tutorial on hidden Markov models andselected applications in speech recognition, Proc. IEEE,
Vol.77, No.2, pp.257–286 (1989).
Nakamura, E., Ono, N. and Sagayama, S.: Mergedoutput HMM for piano fingering of both hands, Proc.
ISMIR, pp.531–536 (2014).
Midifile ެࣜϖʔδɼೖखઌ ⟨http://midifile.sapp.org/⟩
Boost ެࣜϖʔδɼೖखઌ ⟨http://www.boost.org/⟩
Qt ެࣜϖʔδɼೖखઌ ⟨http://www.qt.io/⟩Ѩํ ढ़ɼ‫ेޒ‬ཛྷ ༏ɼࠤ౻ ཮ɼதଜ ӫଠɼᜊ౻ ߁೭ɼࠧեࢁ ໜथɿλςઢේΛ༻͍ͨϐΞϊ‫ࣨڭ‬ͷޮՌͱελϯμʔυ MIDI ϑΝΠϧ͔Βͷλςઢේͷࣗಈੜ੒ɼ೔ຊ෱ࢱ޻ֶձ ୈ 19 ճֶज़ߨԋձɼ303, pp.31-32 (2015).

6