using fm-synth chip on luna-88k2, at nbug meeting 2015-10
TRANSCRIPT
![Page 1: Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10](https://reader036.vdocuments.mx/reader036/viewer/2022082722/58ce9e161a28abb26e8b4a0f/html5/thumbnails/1.jpg)
NBUG 2015年10⽉例会
FM音源の調べ on LUNA
Nagoya *BSD Users' GroupKenji Aoyama / ⻘⼭ 健治
Twitter: @ao_kenji
夏休み自由研究
![Page 2: Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10](https://reader036.vdocuments.mx/reader036/viewer/2022082722/58ce9e161a28abb26e8b4a0f/html5/thumbnails/2.jpg)
2
きっかけはカーネル/VM探検隊@名古屋
![Page 3: Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10](https://reader036.vdocuments.mx/reader036/viewer/2022082722/58ce9e161a28abb26e8b4a0f/html5/thumbnails/3.jpg)
3
LUNAと音源
• LUNA(68K無印)にはSSG(YM2149)が載っている–ユーザランドからどうやって使えたのだろう
か?
• 88K2に装着した86音源ボードにもFM音源チップが載ってます
![Page 4: Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10](https://reader036.vdocuments.mx/reader036/viewer/2022082722/58ce9e161a28abb26e8b4a0f/html5/thumbnails/4.jpg)
4
FM音源とは?(ざっくり)
• ’80〜’90年代のパソコンで流⾏– その後、いわゆるガラケーでも使われていた
• FM(Frequency Modulation)を応用した音色合成方式
• 少ないパラメータで色々な音が出せる– マシンパワー・メモリが少なくても良い
• 今でも愛好者あり?
![Page 5: Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10](https://reader036.vdocuments.mx/reader036/viewer/2022082722/58ce9e161a28abb26e8b4a0f/html5/thumbnails/5.jpg)
5
YM2608(OPNA)とは?
• 86音源ボードに搭載されているFM音源チップ
• FM音源部– 4オペレータ– 同時発音数6音 ステレオ
• SSG– 3音モノラル
• ADPCM• リズム音源
画像出典: Wikipedia
![Page 6: Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10](https://reader036.vdocuments.mx/reader036/viewer/2022082722/58ce9e161a28abb26e8b4a0f/html5/thumbnails/6.jpg)
6
OPNAのいじり方
• アドレスレジスタとデータレジスタによる間接アクセス方式
• 例によってC-bus専用mmapすれば、とりあえずいじれる
• 音色を設定して、Key-On/Offしてやると一応音がでた!
出展:「YM2608 OPNA アプリケーションマニュアル」ヤマハ株式会社
![Page 7: Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10](https://reader036.vdocuments.mx/reader036/viewer/2022082722/58ce9e161a28abb26e8b4a0f/html5/thumbnails/7.jpg)
7
さて、演奏は?
• せっかくなので何か曲を演奏させよう• コンピュータで演奏と言えば、
MML(Music Macro Language)でしょ• parserを自分で作らないといけない?
• と思って色々⾒ていたら…
![Page 8: Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10](https://reader036.vdocuments.mx/reader036/viewer/2022082722/58ce9e161a28abb26e8b4a0f/html5/thumbnails/8.jpg)
8
いいもの発⾒: A tiny MML parser
http://www.cubeatsystems.com/firmware/tinymml/
![Page 9: Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10](https://reader036.vdocuments.mx/reader036/viewer/2022082722/58ce9e161a28abb26e8b4a0f/html5/thumbnails/9.jpg)
9
A tiny MML parser: Features
• Really simple.– The API has only three functions.– It consists of only four small modules.
• Highly portable.– Compatible with C89.– No dependencies. (even libc!)– No dynamic memory allocation. (no need
a operating system!)• …
http://www.cubeatsystems.com/firmware/tinymml/
![Page 10: Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10](https://reader036.vdocuments.mx/reader036/viewer/2022082722/58ce9e161a28abb26e8b4a0f/html5/thumbnails/10.jpg)
10
A tiny MML parser: API
http://www.cubeatsystems.com/firmware/tinymml/api.html
![Page 11: Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10](https://reader036.vdocuments.mx/reader036/viewer/2022082722/58ce9e161a28abb26e8b4a0f/html5/thumbnails/11.jpg)
11
演奏プログラムを作ってみる
https://github.com/ao-kenji/opnaplay/
• ‘A tiny MML parser’ でparseし、OPNAのレジスタを叩いて演奏
![Page 12: Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10](https://reader036.vdocuments.mx/reader036/viewer/2022082722/58ce9e161a28abb26e8b4a0f/html5/thumbnails/12.jpg)
12
演奏例
% ./opnaplay 't120 o4 l4 aab2 aab2 ab>c<b ab8a8f2 ecef ee8c8<b2> ab>c<b ab8a8f2 ecef ee8c8<b2> aab2 aab2 efb8a8f e1'
※FM音源の音色パラメータは、VALSOUND FM-Library / (C)Takeshi Abo.http://www.valsound.com/のものを許可を得て使用しています。
http://www.nk-home.net/~aoyama/tmp/sakura-2.mp3琴http://www.nk-home.net/~aoyama/tmp/sakura-1.mp3フルートhttp://www.nk-home.net/~aoyama/tmp/sakura-0.mp3ピアノ
「さくらさくら」
![Page 13: Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10](https://reader036.vdocuments.mx/reader036/viewer/2022082722/58ce9e161a28abb26e8b4a0f/html5/thumbnails/13.jpg)
13
To be continued ?
• 単音では寂しいので和音にするには?
• 過去の資産(作品)が演奏できないか?– PC-9801用の音源ドライバ(FMP, PMD)が有
名なようだが、ソースはなさそう– OPNAのレジスタ出⼒ダンプのような「S98
フォーマット」があるようなので研究中