狠狠撸
Submit Search
驰惭2151で贵惭音源演奏
5 likes
9,156 views
Tomona Nanase
サークル内での活動報告発表資料 YM2151を使ったFM音源の鳴動と演奏について、 FM音源の原理の簡単な説明や制御マイコン、回路図など。
Devices & Hardware
Read more
1 of 34
Download now
Downloaded 34 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Most read
19
20
21
22
23
24
Most read
25
26
27
28
Most read
29
30
31
32
33
34
More Related Content
What's hot
(20)
PPTX
Nmap 9つの真実
abend_cve_9999_0001
?
PPTX
鲍贰贵滨による贰尝贵バイナリの起动
uchan_nos
?
PDF
贵笔骋础?リコンフィギャラブルシステム研究の最新动向
Shinya Takamaeda-Y
?
PDF
年の瀬リアルタイム通信サーハ?勉强会
モノビット エンジン
?
PDF
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
zgock
?
PDF
僕のIntel nucか?起動しないわけか?ない
Takuya ASADA
?
PDF
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
?
PPTX
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
?
PDF
fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也
Preferred Networks
?
PPTX
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
VirtualTech Japan Inc.
?
PDF
无料で仮想闯耻苍辞蝉环境を手元に作ろう
akira6592
?
PDF
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
?
PDF
第1回 配信講義 計算科学技術特論A (2021)
RCCSRENKEI
?
PDF
BitVisor Summit 8「2. BitVisor 2019年の主な変更点」
BitVisor
?
PPTX
惭5厂迟补肠办を搁耻蝉迟で动かす
Kenta IDA
?
PDF
颈苍颈迟谤补尘蹿蝉について
Kazuhiro Nishiyama
?
PDF
GPU仮想化最前線 - KVMGTとvirtio-gpu -
zgock
?
PDF
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
Junya Suzuki
?
PPTX
ゼロから始める自作 CPU 入門
Hirotaka Kawata
?
PDF
BGP Unnumbered で遊んでみた
akira6592
?
Nmap 9つの真実
abend_cve_9999_0001
?
鲍贰贵滨による贰尝贵バイナリの起动
uchan_nos
?
贵笔骋础?リコンフィギャラブルシステム研究の最新动向
Shinya Takamaeda-Y
?
年の瀬リアルタイム通信サーハ?勉强会
モノビット エンジン
?
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
zgock
?
僕のIntel nucか?起動しないわけか?ない
Takuya ASADA
?
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
?
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
?
fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也
Preferred Networks
?
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
VirtualTech Japan Inc.
?
无料で仮想闯耻苍辞蝉环境を手元に作ろう
akira6592
?
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
?
第1回 配信講義 計算科学技術特論A (2021)
RCCSRENKEI
?
BitVisor Summit 8「2. BitVisor 2019年の主な変更点」
BitVisor
?
惭5厂迟补肠办を搁耻蝉迟で动かす
Kenta IDA
?
颈苍颈迟谤补尘蹿蝉について
Kazuhiro Nishiyama
?
GPU仮想化最前線 - KVMGTとvirtio-gpu -
zgock
?
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
Junya Suzuki
?
ゼロから始める自作 CPU 入門
Hirotaka Kawata
?
BGP Unnumbered で遊んでみた
akira6592
?
More from Tomona Nanase
(6)
PDF
大海原の小さなイルカ
Tomona Nanase
?
PPTX
僕と契约プログラミングしようよ
Tomona Nanase
?
PPTX
kstm LT (LT ことはじめ)
Tomona Nanase
?
PDF
自作プログラミング言語 Lury
Tomona Nanase
?
PPTX
それでも颁#使いたい
Tomona Nanase
?
PPTX
History of Xylph
Tomona Nanase
?
大海原の小さなイルカ
Tomona Nanase
?
僕と契约プログラミングしようよ
Tomona Nanase
?
kstm LT (LT ことはじめ)
Tomona Nanase
?
自作プログラミング言語 Lury
Tomona Nanase
?
それでも颁#使いたい
Tomona Nanase
?
History of Xylph
Tomona Nanase
?
Ad
驰惭2151で贵惭音源演奏
1.
驰惭2151で贵惭音源演奏 七瀬 (@nanasetomona) 2015/07/14
2.
@nanasetomona https://github.com/nanase
3.
きっかけ ? 「FM音源伝説」…FM音源LSIのガチャガチャ ? 秋葉原
東京ラジオデパート 1F ? 80年代にPCやゲーム機に内蔵の FM音源 および DAC ? 1月に YM2203C 入手
4.
YM2151 ? 6月にYM2151を入手 ? 専用DACのYM3012も同時入手 ?
YAMAHA 1983年製造、ステレオデジタル ? OPM(FM Operator type M)、8ch、4オペレータ ? 擬似ノイズ発生器、LFO搭載 ? クロック入力 3.58 [MHz] ? 動作電圧 5.0 [V]
5.
YM2151 ? 搭載実績 ? アーケードゲーム
(80年代中頃~90年代前半) ? MSXの周辺機器 ? X68000
6.
FM音源とは? ? FM変調を応用した波形発生法 ? 単純な正弦波の発生を考える ?(?)
= ? sin 2??? -1 0 1 ? ? ?
7.
FM音源とは? ? ? は振幅
(ここでは 1) ? 2?? は角速度(≒周波数)、2??? は位相 ? 位相に注目して考える ?(?) = ? sin 2??? -1 0 1 ? ? ?
8.
FM音源とは? ? 位相の歪み =
時計の針が速く、遅くなる ? 位相の変化を乱すような別の正弦波を加える ?(?) = ? sin(2??1 ? + ? sin 2??2 ?) -1 0 1 ? ? ? (? = 1)
9.
FM音源とは? ? ?1, ?2
はそれぞれ キャリア、モジュレータ周波数 ? ? は変調指数 = 歪みの強さ ? ? を大きくすると複雑な波形が発生 ?(?) = ? sin(2??1 ? + ? sin 2??2 ?) -1 0 1 ? ? ? (? = 2.5)
10.
FM音源とは? ? 複数(0個以上)のモジュレータ入力を持つ 正弦波発生器を オペレータ
と呼ぶ ? 通常は音量を調整するための乗算器も内蔵 ? 通常はオペレータを複数段重ねて使用する オペレータ オペレータ オペレータ オペレータ フィードバック モジュレーション モジュレーション モジュレーション 出力
11.
FM音源とは? ? オペレータの繋ぎ方を アルゴリズム
と呼ぶ ? 直列に近い形ほど複雑な音となる ? 並列に近い形ほど軽い音となる オペレータ オペレータ オペレータ オペレータ フィードバック モジュレーション モジュレーション モジュレーション 出力
12.
FM音源の利点 ? 複雑な波形を生成可能 ? 矩形波や三角波よりも多彩な音作りが可能 ?
パイプオルガン、エレピ、金属音 の再現が強い ? 少ないデータ量で生成可能 ? PCM音源は波形そのものを記録するためデータ多 ? FM音源はキャリア、モジュレータに関わるデータのみ ? 初期の携帯電話に搭載(着信音など)
13.
FM音源の欠点 ? データから生成される波形の予想がつきにくい ? 僅かな誤差で全く異なる波形となる場合もあり ?
理想波形を作るにはFM音源の知識が必要 ? ピアノ、パーカッションは苦手
14.
FM2151に必要なもの ? 5.0 [V]
電源 ? 4.0 [MHz] クロック ? DAC (YM3012) ? オペアンプ ? 制御マイコン ? シーケンサ ? 演奏データ
15.
電源 ? USB 給電により供給 ?
PC から給電するとノイズや電流不足の原因となる ? (YM2151単体でも 110 [mA] 程度の消費) ? 今回はモバイルブースターを使用
16.
オペアンプ ? LMC6484AIN を使用 ?
ナショナルセミコンダクタ製 ? CMOSタイプ、単電源 5.0 [V] のみで動作 ? DACの他、ボルテージフォロワとして使用
17.
余談: オペアンプは重要 LMC6484AIN (単価: 250円) LM324N (単価:
38円) 符号反転時に パルスが発生
18.
余談: オペアンプは重要 LMC6484AIN (単価: 250円) LM324N (単価:
38円) 符号反転時に パルスが発生
19.
制御マイコン ? NUCLEO-F401RE ? USB給電、プログラムライタ付き ?
mbedで開発 (webIDE、C++) ? Arduino互換ピン装備 ? フラッシュメモリ 512KB ? SRAM 96KB ? 最大 84 [MHz] 動作 ? 1,500円ほどで購入
20.
クロック ? F401REから 4.0
[MHz] を発振 ? プログラム上では 1.0 [MHz] が最大 ? プログラムライタ上のクリスタル 8.0 [MHz] を使用 (2分周) ? CPUの16 [MHz]も使用可 RC発振のため精度は悪い
21.
データ送信 ? PCから書き込みデータをシリアル通信 ? 通信速度は
115,200 bps (14.4 kB/s) ? これより高速だと頻繁に同期が壊れる ? コマンド、アドレス、データの計3バイト1メッセージ ? コマンドはリセットや書き込みのフラグ用 ? アドレスは $00 – $FF ? データも同様
22.
YM2151のレジスタ構成 ? アドレス空間は256バイト ? オペレータや 周波数設定など ?
データバスを介して 書き込みを行う (今回は書き込みのみ)
23.
YM2151のクロック入力 ? 今回は 4.0
[MHz]、標準は 3.58 [MHz] ? 3.579545 [MHz] は NTSC で頻繁に使われる ? 外部と同一クロックを用いた回路の 簡略化が図られていた ? NTSC と PAL とではデータ送信のタイミングが異なる ? PALでは 4.43362 [MHz] ? 発音周波数に影響し、11.7% ほど高音になる ? およそ 2 音くらい (ド → レ)
24.
YM2151のウェイト時間 ? レジスタの書き込みに時間がかかる ? マスタークロック
ΦM = 4 [MHz] 時 ? アドレス: 17サイクル = 4.25 [μs] ? データ: 83サイクル = 20.75 [μs] ? 初期化時: 77サイクル = 19.25 [μs] ? 本来はYM2151からビジーフラグを読み取り 書き込み完了を検知する (今回は省略)
25.
YM2151鳴動までの手順 1. イニシャルクリア (IC
= L) 2. オペレータ設定 (TL, ML) 3. エンベロープ設定 (AR, D1R, D2R, D1L, RR) 4. パン設定 (L ch = 1, R ch = 1) 5. 周波数設定 (KC) 6. ノートオン命令 (KeyON/OFF, ChNum) 音色 指定時 発音毎
26.
シーケンサ ? C# でMIDI→YM2151データに変換 ?
MidiUtils がシーケンスを行う https://github.com/nanase/MidiUtils ? MIDIデータは8音8chのものを用意しておく
27.
驰惭2151シールド
28.
回路図
29.
実際に鳴らしてみた https://www.youtube.com/watch?v=Yv1CD4-HYUY
30.
課題 (1) ? 128音色+ドラム音色がないと発音できない ?
ドラムパートが 1ch 分しかない ? 同時に2つ以上の打楽器を鳴らせない ? リアルタイムにMIDI変換しているため、 またはシリアル通信のため遅延が発生 ? 一度に多量のデータを送らない工夫が必要 ? SRAMにあらかじめデータをキャッシュすれば良い?
31.
課題 (2) ? ノイズ発生器の動作の解析 ?
FM音源とノイズは同時に発音可能 ? 一部エンベロープはノイズに対しても有効? ? USBで給電すると 4.2 – 4.0 [V] まで電圧が降下 ? 原因不明
32.
参考資料 (1) ? YM2203?YMZ294?SP0256を使ったハードウエアMIDI音源の製作 http://park19.wakwak.com/~gadget_factory/factory/miditalk/ ?
YM2203のピン機能 -滴了庵日録 http://d.hatena.ne.jp/licheng/20131110/p1 ? MIDI音源の自作 YM-2203 OP-N 2個使用 http://mars.bellstek.net/s/midi/04/00.htm ? YM2608 OPNA アプリケーションマニュアル http://hackipedia.org/Platform/Sega/Genesis/hardware,%20FM%20synthesis,%20 YM2608/pdf/YM2608J.PDF
33.
参考資料 (2) ? NucleoのClock
- 電子工作専科のぐうたラボ http://denshikousakusenka.blog.fc2.com/blog-entry-33.html ? FM音源レジスタマップX68k http://www16.atwiki.jp/mxdrv/pages/24.html ? YM2151 Datasheet http://www.msxarchive.nl/pub/msx/docs/datasheets/ym2151synthesis.pdf http://map.grauw.nl/resources/sound/yamaha_ym2151_datasheet.pdf
34.
参考資料 (3) ? FM音源伝説
| FM音源を愛するすべての人へ http://ym2203.com/ ? FM音源の基礎知識 http://www.hikari-ongaku.com/study/fm.html
Download