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
84
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
43
CPS & CTO
thermes
0
240
FM synthesis
thermes
0
33
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
AIツールでどこまでデザインを忠実に実装できるのか
oikon48
6
3.5k
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
330
ニッポンの人に知ってもらいたいGISスポット
sakaik
0
150
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
480
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
1.7k
ソースを読むプロセスの例
sat
PRO
14
8k
WEBサービスを成り立たせるAWSサービス
takano0131
1
170
ガバメントクラウドの概要と自治体事例(名古屋市)
techniczna
3
240
「改善」ってこれでいいんだっけ?
ukigmo_hiro
0
210
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing Hiroshima 2025 Edition
tomzoh
0
140
【Kaigi on Rails 事後勉強会LT】MeはどうしてGirlsに? 私とRubyを繋いだRail(s)
joyfrommasara
0
270
プレーリーカードを活用しよう❗❗デジタル名刺交換からはじまるイベント会場交流のススメ
tsukaman
0
170
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.8k
GraphQLとの向き合い方2022年版
quramy
49
14k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
What's in a price? How to price your products and services
michaelherold
246
12k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Being A Developer After 40
akosma
91
590k
The Invisible Side of Design
smashingmag
302
51k
Bash Introduction
62gerente
615
210k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
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 ͷมͰ͖Δ༧ײɻ • ςʔϚ͔Βܹ͘͠ઢͨ͠ɻ • ͱ͍͑ͱָͯ͠ΊͨͷͰେຬɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠