Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Inside mml2wav.rb
Search
HORINOUCHI Masato
February 16, 2016
Technology
0
83
Inside mml2wav.rb
社内LT大会 0x64物語 #05 Number 資料
HORINOUCHI Masato
February 16, 2016
Tweet
Share
More Decks by HORINOUCHI Masato
See All by HORINOUCHI Masato
balenaCloud
thermes
0
67
Church Numerals
thermes
0
40
CPS & CTO
thermes
0
240
FM synthesis
thermes
0
32
A440
thermes
0
58
Scheme Interpreter in Ruby
thermes
0
68
Clock / Timer
thermes
0
150
Hash Tree
thermes
0
73
POSIX Threads
thermes
0
53
Other Decks in Technology
See All in Technology
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.8k
エラーとアクセシビリティ
schktjm
1
1.2k
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
3.2k
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
440
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
170
roppongirb_20250911
igaiga
1
220
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
170
2025年になってもまだMySQLが好き
yoku0825
8
4.7k
S3アクセス制御の設計ポイント
tommy0124
3
200
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
9.9k
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
570
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
Featured
See All Featured
KATA
mclloyd
32
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Invisible Side of Design
smashingmag
301
51k
The World Runs on Bad Software
bkeepers
PRO
70
11k
The Cult of Friendly URLs
andyhume
79
6.6k
Code Review Best Practice
trishagee
70
19k
Gamification - CAS2011
davidbonilla
81
5.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
112
20k
What's in a price? How to price your products and services
michaelherold
246
12k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
How to Ace a Technical Interview
jacobian
279
23k
Designing Experiences People Love
moore
142
24k
Transcript
Inside mml2wav.rb 2016/02/16 0x64 Tales #05 Number Livesense Inc. HORINOUCHI
Masato
σϞ • εϖϥϯΧʔ ϝΠϯςʔϚ ΄͛ • spelunker.wav • h0p:/ /lifecycle.s165.xrea.com/mml1.html
͔ΒҾ༻ • FF4 ௨ৗઓಆۂ • ff4_bu0le.wav • h0p:/ /www.geociDes.jp/Dfa_adiru/57ff4 ͔ΒҾ༻
MML ઌఔͷԻσϞͷ MML 1. T120 V15 O4 L4 R CDEF
GAB>C< R C1& C1 F1& F1 G1& G1 2. T120 V15 O4 L4 R C1& C1& R R4E2.& E1 R4A2.& A1 R4B2.& B1 3. T120 V15 O4 L4 R R1 R1 R R2G2& G1 R2>C2& C1 R2D2& D1 track 1ʙ3 Ͱಉ࣌ൃԻ 3 ͱͳΔ ← ޡ༻͚ͩͲ͍ΘΏΔ 3Իɻ
ػೳ (1) • ྔࢠԽϏοτ: 8bit / 16bit • αϯϓϦϯάप: 8kHz
/ 44.1kHz / 48kHz (ҙมߋՄ) • ܗ: ਖ਼ݭ / ϊίΪϦ / ۣܗ
ػೳ (2) • ղೳ(ppq): 48 / 96 / 480 (ҙมߋՄ)
• τϥοΫ: ແݶ (ੑೳґଘ) • εςοϓ: ແݶ (ੑೳґଘ) • Իߴ: A440 / A442 / A444 (ҙมߋՄ) • Ի: 12ฏۉ / ७ਖ਼
Ͱ͖ͳ͍͜ͱ • εςϨΦग़ྗ • ࡾ֯ • Τϯϕϩʔϓ • ϊΠζग़ྗ •
σϡʔςΟʔൺมߋ
ରԠίϚϯυ • MML ͷओͳίϚϯυ΄ͱΜͲରԠɻ • O > < • C
D E F G A B + - • R • [0-9]+ (ࣈ) . (dot) • T L V Q &
ॲཧϑϩʔ 1. MML → ؆қ MIDI γʔέϯεσʔλʹม • note number
/ step5me / gate5me / velocity 2. γʔέϯεσʔλ → -1.0 ʙ 1.0 ͷܗσʔλʹม 3. τϥοΫຖͷܗσʔλΛ߹ 4. ߹ޙͷܗσʔλΛ WAV ʹΤϯίʔυ
·ͱΊ • MML ͷύʔε؆୯ɻ • ֤ॲཧΛநԽ͢ΔͱɺػೳΛޙ͚͍͢͠ɻ • ͦͷͨΊ࠷దԽ͕͞Ε͓ͯΒͣॲཧ͕Ͱॏ͍ɻ • ΑΓਖ਼֬ʹγʔέϯεԽ͢Δͱ
.mid ͷมͰ͖Δ༧ײɻ • ςʔϚ͔Βܹ͘͠ઢͨ͠ɻ • ͱ͍͑ͱָͯ͠ΊͨͷͰେຬɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠