Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10

An experiment to use YM2608(OPNA) FM-synth chip on OpenBSD/luna88k, a short talk at NBUG meeting 2015-10.

  • Be the first to comment

Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10

  1. 1. NBUG 2015年10⽉例会 FM音源の調べ on LUNA Nagoya *BSD Users' Group Kenji Aoyama / ⻘⼭ 健治 Twitter: @ao_kenji 夏休み自由研究
  2. 2. 2 きっかけはカーネル/VM探検隊@名古屋
  3. 3. 3 LUNAと音源 • LUNA(68K無印)にはSSG(YM2149)が 載っている – ユーザランドからどうやって使えたのだろう か? • 88K2に装着した86音源ボードにもFM音 源チップが載ってます
  4. 4. 4 FM音源とは?(ざっくり) • ’80〜’90年代のパソコンで流⾏ – その後、いわゆるガラケーでも使われていた • FM(Frequency Modulation)を応用した 音色合成方式 • 少ないパラメータで色々な音が出せる – マシンパワー・メモリが少なくても良い • 今でも愛好者あり?
  5. 5. 5 YM2608(OPNA)とは? • 86音源ボードに搭載されているFM音源 チップ • FM音源部 – 4オペレータ – 同時発音数6音 ステレオ • SSG – 3音モノラル • ADPCM • リズム音源 画像出典: Wikipedia
  6. 6. 6 OPNAのいじり方 • アドレスレジスタと データレジスタによ る間接アクセス方式 • 例によってC-bus専用 mmapすれば、とり あえずいじれる • 音色を設定して、 Key-On/Offしてやる と一応音がでた! 出展:「YM2608 OPNA アプリケーションマニュアル」ヤマハ株式会社
  7. 7. 7 さて、演奏は? • せっかくなので何か曲を演奏させよう • コンピュータで演奏と言えば、 MML(Music Macro Language)でしょ • parserを自分で作らないといけない? • と思って色々⾒ていたら…
  8. 8. 8 いいもの発⾒: A tiny MML parser http://www.cubeatsystems.com/firmware/tinymml/
  9. 9. 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/
  10. 10. 10 A tiny MML parser: API http://www.cubeatsystems.com/firmware/tinymml/api.html
  11. 11. 11 演奏プログラムを作ってみる https://github.com/ao-kenji/opnaplay/ • ‘A tiny MML parser’ でparseし、OPNA のレジスタを叩いて演奏
  12. 12. 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ピアノ 「さくらさくら」
  13. 13. 13 To be continued ? • 単音では寂しいので和音にするには? • 過去の資産(作品)が演奏できないか? – PC-9801用の音源ドライバ(FMP, PMD)が有 名なようだが、ソースはなさそう – OPNAのレジスタ出⼒ダンプのような「S98 フォーマット」があるようなので研究中

×