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
66
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
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
210
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
140
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
390
Kiroと学ぶコンテキストエンジニアリング
oikon48
6
9.6k
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
2
280
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
1
220
Grafana Meetup Japan Vol. 6
kaedemalu
1
350
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
140
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
220
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
360
フィンテック養成勉強会#56
finengine
0
130
クラウドセキュリティを支える技術と運用の最前線 / Cutting-edge Technologies and Operations Supporting Cloud Security
yuj1osm
2
300
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Optimizing for Happiness
mojombo
379
70k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Writing Fast Ruby
sferik
628
62k
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 ͷมͰ͖Δ༧ײɻ • ςʔϚ͔Βܹ͘͠ઢͨ͠ɻ • ͱ͍͑ͱָͯ͠ΊͨͷͰେຬɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠