OPL (FM Operator Type-L) シリーズは、ヤマハが開発したサウンド チップのファミリです。OPL シリーズは、コンピューティング、音楽、ビデオ ゲーム アプリケーションで使用するためのFM 合成機能を備えた低コストのサウンド チップです。
OPL シリーズのチップにより、 AdLibやSound BlasterなどのIBM PC 互換機で手頃な価格のサウンド カードを作成できるようになり、 1990 年代前半から中頃に 「ウェーブテーブル合成」カードに取って代わられるまで、事実上の標準となりました。
内部操作
チップの内部動作は完全にデジタルです。各 FM トーンは、直接デジタル合成の形式を使用してデジタル発振器によって生成されます。低周波発振器とエンベロープ ジェネレーターがFM 演算子を駆動し、DAC 用の浮動小数点出力を生成します。チップのカプセル化を解除すると、指数を計算するためのものとログ サインを計算するためのものの 2 つのルックアップ テーブルが表示されます。[1]これにより、FM 演算子は、式と 2 つの 256 エントリ ルックアップ テーブルを使用して、乗算器なしで出力を計算できます。両方のテーブルは、最も近い整数に丸められた値のペアとして保存され、2 番目の値は最初の値との差として表されます。
対数変換された正弦波形の 4 分の 1 は、 0 から 255 の値に対して によって計算された、 256ワードの 読み取り専用メモリ(ROM) テーブルにサンプリングされた近似値として保存されます。正弦波形の残りの部分は、対称性の特性によって外挿されます。発振器の出力を必要な音量にスケーリングするには、通常、乗算によって行われますが、YM3526 は対数変換された信号を操作することで乗算を回避し、乗算を計算コストの低い加算に減らします。[2]
もう 1 つの 256 ワード ROM には、指数関数がルックアップ テーブルとして格納されています。これは、発振器出力が合計される最終段階 (DAC 出力バスの直前) で、必要に応じて対数スケール信号を線形スケールに戻すために使用されます。変調器の波形は、常にキャリア波形の前に 1 サンプル遅延されます。[3] このテーブルは、0 から 255 までの値に対してによって計算されます。指数を計算するには、入力の最下位バイトで指定されたインデックスの値に 1024 を追加します。これが仮数になり、入力の残りのビットが浮動小数点出力の指数になります。
シリーズのチップ
OPLL

1984 年に発表されたYM3526は、OPL ファミリーの最初の製品で、9 チャンネル、2 オペレータのシンセサイザーを提供しました。非常に関連のあるチップは、MSX拡張として使用されたY8950またはMSX-AUDIOです。これは基本的に、 ADPCM録音および再生機能 を備えた YM3526 です。
この回路には 244 個の書き込み専用レジスタがあります。2 つのオシレーターで構成された 9 チャンネルのサウンド、または 5 つのパーカッション楽器を備えた 6 チャンネルのサウンドを生成できます。各オシレーターは正弦波を生成でき、独自のADSR エンベロープ ジェネレーターを備えています。主な合成方法は周波数変調合成で、 1 つのチャンネルのオシレーターの位相を別のチャンネルの出力で 位相変調することで実現されます。
YM3526 の出力は、約 49716 Hz のサンプリング周波数でクロックされた浮動小数点数のシーケンスであり、別のデジタル - アナログ コンバーター(DAC) チップである YM3014B に送信されます。
チャネルのレジスタの概要:
チャンネル全体について:
- メイン周波数(10ビット)
- オクターブ(3ビット)
- ノートオン/オフ
- 合成モード(FMまたは加算のみ)
- フィードバック(0~7、モジュレーターが自らを変調する)
2 つのオシレーターのそれぞれについて:
- 周波数乗算( 1 ⁄ 2、1~10、12、15に設定可能)
- 波形(正弦波)
- 音量(0~63、対数)
- アタック、ディケイ、サステイン、リリース(各 4 ビット、対数)
- トレモロ(オンまたはオフ)
- ビブラート(オンまたはオフ)
- サステイン(オンまたはオフ)
- キーごとのエンベロープスケーリング(オンまたはオフ)
- キーごとの音量調整(0~3)
チップ全体に設定できるパラメータもいくつかあります。
- ビブラートの深さ
- トレモロの深さ
- パーカッション モード (3 つのチャンネルを使用して 5 つのパーカッション サウンドを提供します)
- 複合正弦波モード(発振器同期を参照)
OPL2

1985 年、ヤマハはYM3812 ( OPL2とも呼ばれる) を開発しました。これは YM3526 と下位互換性があります。別の関連チップはYM2413 (OPLL) で、これは縮小版です。
新たに追加された機能の 1 つに、レジスタを設定することで各オシレーターごとに 4 つの波形を選択できる機能があります。元の正弦波に加えて、半正弦波 (正弦波の負の部分がミュートされている)、絶対正弦波 (負の部分が反転されている)、疑似ノコギリ波 (正弦波の 1/4 波のみで、その間に無音部分がある) の 3 つの修正波形を生成できます。この奇妙な波形生成方法により、YM3812 は特徴的なサウンドを実現しています。[5]
2オペレータのFM合成に限定されているため、チップは実際の楽器や打楽器の音色を正確に再現することができません。メロディのポリフォニーはメロディックモードで9ボイス、パーカッシブモードで6ボイスに制限されています。[6] : 27.14–17.16
AdlibとSound Blasterの導入当時は市場に競合がほとんどなかったため、このチップは「Sound Blaster互換」サウンドカードの事実上の標準となった。[6] : 27.14
-
ヤマハ YM3812 (OPL2 チップ)
-
クリエイティブラボや他の企業は、ヤマハのオリジナルラベルを隠すことが多かった。
-
ヤマハ YM3812-F SMD(表面実装OPL2チップ)
-
YM3812のカプセルを開封し、ダイの表面を露出
YM3812 は、YM3526 と同様に、YM3014B 外部 DAC チップと組み合わせて使用され、アナログ形式でオーディオを出力します。
OPL3

OPL2のアップグレード版であるYMF262(別名OPL3)は1990年に発売されました。[7] YM3812の機能セットを改良し、4オペレータFMシンセシスを採用し、ヤマハDX100などの当時の民生用シンセサイザーキーボードに似た、倍音豊かなサウンドを生み出します。[6] : 27.16
-
ヤマハ YMF262 (OPL3 チップ、製造年 1994)
-
YMF262のカプセルを開封し、ダイの表面を露出
以下の機能が追加された: [8]
- チャンネル数が2倍(9ではなく18)
- シンプルなステレオ(左端、中央、右端)
- 4チャンネルサウンド出力
- 4 つの新しい波形 (交互正弦波、"ラクダ" 正弦波、方形波、対数鋸歯状波)
- 4オペレーターモードでは、2つのチャンネルをペアにして最大6つの4オペレーターFMボイスを作成できます。
- ホストレジスタアクセスのレイテンシが短縮されました(OPL2ではI/Oアクセスの遅延がはるかに長かったです)
- YM3812の正弦波ルックアップテーブルとエンベロープジェネレータの微妙な違い(例えば、YM3812の変調波形は1サンプル遅れているが、OPL3のキャリアと変調波形は両方とも適切に同期されている)[3]
YMF262では、YM3812とYM3526に搭載されていた、あまり使われていないCSM(複合正弦波モード)のサポートも削除されました。[3]このモードは、複数のチャンネルを同時にトリガーするのと同等でした。
YMF262のFM合成モードは、さまざまな方法で設定できます。[6] : 27.16–27.18 [8]
- 基本モードでは、2 オペレータの FM チャンネルが 18 個提供されます。
- OPL ラインの他の製品と共通の 1 つの設定では、3 つの FM チャンネルが 5 チャンネルのパーカッション セットに変換されます。
- このチップで導入された別の設定では、12 のチャンネルが 6 つの 4 オペレーター チャンネルにペアリングされます。これにより、ポリフォニーが失われ、より複雑なサウンド構成が可能になります。
- 上記の 2 つの設定は、個別に使用することも、組み合わせて使用することもできます。合計 4 つのモードになります。
- 18 2オペレータチャンネル
- 15 2 オペレーター チャンネル + 5 ドラム チャンネル (ドラム設定オン)
- 6 つの 2 オペレータ チャンネル + 6 つの 4 オペレータ チャンネル (4 オペレータ設定オン)
- 3 つの 2 オペレーター チャンネル + 6 つの 4 オペレーター チャンネル + 5 つのドラム チャンネル (両方の設定がオン)
OPL3 は、前モデルと同様に、デジタル I/O 形式でオーディオを出力するため、YAC512 などの外部 DAC チップが必要です。
YMF262は、改訂版Sound Blaster Pro、Sound Blaster 16、AdLib Gold、Media VisionのPro AudioSpectrumカード、MicrosoftのWindows Sound Systemカードに使用されました。[4] : 45 競合するサウンドチップベンダー(ESS、[9] OPTi、[10] Crystal [11]など)は、オリジナルのOPL3にさまざまな忠実度で、独自のOPL3互換オーディオチップを設計しました。
ヤマハ YMF289
ヤマハは1995年にYMF262の完全互換で低消費電力の派生型であるYMF289 (OPL3-L)も製造しており、PCMCIAサウンドカードとラップトップコンピュータを対象としていた。[12]これはCreative Technology製のSound Blaster 16サウンドカードの一部に使用されていた。YMF289BはYAC513またはYAC516コンパニオン浮動小数点DACチップとペアになっている。
YMF289はYMF262とレジスター互換性があり、機能セットも保持しているが、いくつかの違いがある。[12]
- 5 ボルトまたは 3.3 ボルトの動作をサポートします。
- レジスタはホスト CPU によって読み取りまたは書き込みが可能ですが、YMF262 では書き込み専用です。
- 44,100 Hz (44.1 kHz) の出力サンプル レート。
- パワーダウンモードが追加されました。
- 完全な YMF262 実装と比較すると、DAC を含む全体的なフットプリントがやや小さくなります。
- YMF262 で使用される 14.32 MHz 入力クロックと比較した 33.868 MHz 入力クロック。
- 内部線形補間器。
-
ヤマハ YMF289B とコンパニオン YAC516 DAC
ESS ESFM
ESSテクノロジーの社内開発による派生製品であるESFMは、72オペレータのOPL3互換クローンであり、ネイティブモードとレガシーモードの2つの動作モードを組み込んでおり、機能セットと動作を制御している。[9]ネイティブモードでは、ESFMにより18の4オペレータFMボイスをマッピングでき、各ボイスはオペレータごとに周波数制御とLFO深度を持つため、[13]生成されるトーンの複雑さを大幅に高めることができる可能性がある。Windows 9x用のドライバには、この拡張モードを利用する独自のカスタムインストゥルメントパッチが組み込まれている。逆に、レガシーモードでは、ヤマハのYMF262との完全な下位互換性が提供される。[9]このモードでのESFMの出力は、全体的にYMF262に適度に忠実であるが、一部のトーンはかなり異なってレンダリングされ、一部のゲームのサウンドと音楽に独特の歪みが生じる。
ESFM は、ISA ベースの ES1688 AudioDrive から PCI ベースの ES1946 Solo-1E に至るまでの ESS サウンド チップで利用できます。ただし、それ以前のチップでは、外部 FM シンセサイザー チップ (通常は Yamaha YMF262) が必要でした。ESS の PCI ベースのサウンド チップの Maestro シリーズは、ESFM の特別な機能がない FM 合成のソフトウェア実装に依存しています。
-
ES1869F は、ESS が開発した独自の ESFM 機能を組み込んだサウンド チップの 1 つです。
OPL3-SA、DS-XG、OPL4
YMF278 ( OPL4 )、シングルチップ Yamaha YMF718/719S、PCI YMF724/74x ファミリなどの Yamaha の後継 PC オーディオ コントローラには、従来のソフトウェアとの下位互換性を保つために YMF262 の FM 合成ブロックが搭載されています。詳細については、 YMF7xx を参照してください。
-
ヤマハ OPL YMF715B-S チップセット
OPLシリーズを使用した製品
YM3526 は、コモドール 64 の拡張であるSound Expanderや、Terra CrestaやBubble Bobbleなどのいくつかのアーケード ゲームで特に使用されました。ADPCM オーディオを備えた YM3526 の修正バージョンである Y8950 (MSX-AUDIO) は、オプションの拡張機能として MSXコンピューターで使用されました。
YM3812は、AdLib、Sound Blaster、Pro AudioSpectrum(8ビット)[14]などのIBM PCベースのサウンドカードや、ニチブツ、東亜プランなど のアーケードゲームで広く使用されました。
YM2413 は、セガ マーク III および日本のモデルセガ マスター システムの FM サウンド ユニット拡張、および MSX-MUSIC 標準で使用されました。MSX-MUSIC 標準は、個別の拡張カード (パナソニック FM-PAC など) としてリリースされ、いくつかの MSX2+ および MSX TurboR コンピューターに組み込まれました。
YMF262は多くのIBM PCベースのサウンドカードに使用されており、最初は1991年に人気のあったSound Blaster Pro 2で、その後1992年にSound Blaster 16 ASP、さらにPro AudioSpectrum (16ビット)でも使用されました。[14] Sound Blaster 16およびSound Blaster AWEシリーズの後期モデルではOPL3が他のチップと統合され、Creative Labsは1995年後半から後期モデルで他のチップと統合されたOPL3クローンチップであるCQMを使用しました。[15]また、 Tecmoなどのいくつかのアーケードゲームでも使用されています。
YMF278 は、MSX 用のMoonsoundカードや、IBM PC 互換機用の Yamaha の SoundEdge カードに使用されました。
シンセサイザー
YM3812を使用するシンセサイザー: [16]
- ヤマハ PSR-11 49鍵 16音 (1986)
- ヤマハ PSR-12 49鍵 32音 (1987)
- ヤマハ PSR-21 49 鍵 16 音色、2 ステップ スライダー (1986)
- ヤマハ PSR-22 49 鍵 32 音色、2 ステップ スライダー (1987)
- ヤマハPSR-31 61鍵16音、ドラム用YM3301チップ[17]追加(1986年)
- ヤマハPSR-32 61鍵32音、ドラム用YM3301チップ[17]追加(1987年)
- ヤマハ PSS-360 49 ミニキー 21 音色、5 ステップ スライダー、PSS-460 の低価格モノラル バージョン (1986)
- ヤマハ PSS-460 49 ミニキー 21 音色、5 ステップ スライダー (1986)
- ヤマハ PSS-470 49 ミニキー 21 音色、5 ステップ スライダー (1987)
- ヤマハ PSS-560 49ミニキー21音、5ステップスライダー、ドラム用YM3301チップ[17]追加(1986年)
- ヤマハ PSS-570 49ミニキー21音、5ステップスライダー、ドラム用YM3301チップ[17]追加(1987年)
YM2413(コスト削減版YM3812)を使用するシンセサイザー:[16]
- ヤマハ PSR-6 49鍵 100音 (1994)
- ヤマハ PSS-140 37ミニキー 100音(1988年); PSS-140は実際にはYM2420を使用しており、これはYM2413のわずかに改良された変種で、レジスターが異なる[18]
- ヤマハ PSS-170 44 ミニキー 100 音 (1986)
- ヤマハ PSS-270 49 ミニキー 100 音 (1986)
派生品と派生品
OPL3のオープンソースRTL実装はSystemVerilogで書かれ、2015 年にFPGAに適合されました。[19]
参照
参考文献
- ^ 「Adlib / OPL2 / YM3812 – iki.fi/o」。2009年1月11日。
- ^ 「OPLx のカプセル化解除」。Googleドキュメント。
- ^ abc "データ". dev.kewl.org . 2021年10月7日閲覧。
- ^ abc Leinecker, Richard C (1994). Making noise: creating sounds on your PC. ニューヨーク: M & T Books. ISBN 1558513868。
- ^ Sanglard, Fabien (2019). 「3.6.2. 音楽」。ゲームエンジンブラックブック: Wolfenstein 3D。ソフトウェアウィザード。p. 95。
- ^ abcd Keyes, Jessica (1997). 究極のマルチメディアハンドブック。ニューヨーク: McGraw Hill。ISBN 978-0-07-034530-0。
- ^ 「Nuked OPL3 エミュレータ」。VOGONS 。 2024年2月9日閲覧。
- ^ ab "YMF262 データシート" (PDF) . www.fit.vutbr.cz . 2003-05-20 のオリジナル(PDF)からアーカイブ。2021-10-07に取得。
- ^ abc 「マニュアル」(PDF) . ftp.alsa-project.org . 2021年10月7日閲覧。
- ^ 「82C925(100QFP) PDF データシート - OPTi Technologies, Inc」。www.datasheets360.com。
- ^ 「アーカイブコピー」(PDF)gd.tuwien.ac.at。2018年2月6日時点のオリジナル(PDF)からアーカイブ。 2022年1月15日閲覧。
{{cite web}}: CS1 maint: archived copy as title (link) - ^ ab "Info" (PDF) . doc.chipfind.ru . 2021年10月7日閲覧。
- ^ “esfm”. www.github.com.com . 2020年7月7日閲覧。
- ^ ab 「パラレル ポート用 Ad-Lib サウンド カード」 – www.youtube.com 経由。
- ^ 「ラッダイトのための PC オーディオ」flaterco.com。
- ^ ab 「あまり知られていない「Soundblaster」キーボードをご紹介します」。The 8-Bit Guy、Youtube 。 2015年8月19日閲覧。
- ^ abcd 「Edward D-tech、ヤマハチップ、YMシリーズ」。Edward D-tech。2016年5月16日時点のオリジナルよりアーカイブ。2016年1月25日閲覧。
- ^ 「ヤマハPSS-140 - サウンドブラスターカードのようなサウンドを実現するビンテージキーボード」Preece Music、Youtube 。 2024年1月16日閲覧。
- ^ “opl3_fpga”. 2021年9月28日 – GitHub経由。
外部リンク
- http://www.oplx.com/ OPL シリーズ プログラミング情報
- YMF262 ベースの DIY シンセサイザー MIDIbox FM
- AdlibTracker.net Adlib Tracker II (YMF262-Tracker)
- RAD リアリティ アドリブ トラッカー (YMF262-トラッカー)
- OPL3 音楽用のオンライン プレーヤーを備えた YMF262 エミュレーター。
- OPLx のカプセル化解除 (リバース エンジニアリング レポート)
- OPL3_FPGA GitHub FPGA で OPL3 をリバース エンジニアリングする
- OPL3数学の分析
- Nuked-OPL3 YMF262 エミュレータ
