最終更新日 2024年4月6日
X68000用 拡張音源インターフェース ras68k-ext
X68000の8bitパラレルインターフェースとRaspberryPi2/3/4のGPIOを接続する拡張音源インターフェースと
それを制御するミドルウェアです。
RS232Cや拡張スロット等のリソースを一切使わない、環境に優しい設計です。
【入力】
8ビットパラレル 400kbps
1ビットシリアル(UART) 38400bps
シリアル(USB MIDI-IN) 31.25kbps
【出力】
音声:
内蔵DAC bcm3825
外付DAC PCM5102(A)
USB-DAC
信号:
I2C 100kbps / 400kbps / 1Mbps
シリアル(USB MIDI-OUT) 31.25kbps
【ミドルウェア機能】
@PSGやSCCなどのレトロな音源を使うことができます。
AFM音源と内蔵ADPCM相当のサウンドを鳴らすことができます。
Bリニアな16bitPCM音源(pcm8pp相当)による多重PCM再生ができます。
CUSB MIDI-INでホストして、外付音源(MIDI-OUT)やソフトウェアMIDIを鳴らすことができます。
ソフトウェアMIDIとして、MuntとFluidSynthに対応しています。
※USB-MIDIでMIDI機能を使用可(ras68k-extインターフェースなしでも動きます)
【特長】
・音声出力では、低遅延モードを設定できます。
外付USB-DACやPCM5102(A)では、低遅延(10ミリ秒以内※1)で発音できます。
※1 X68000の内蔵音源と同期しても実用になります。
※2 ラズパイ内蔵オーディオでは低遅延モードを使用できません。外付DAC推奨です。
※3 MIDI出力の遅延を調整できます。
・FluidSynthベースで、一般的なMIDI音源に近づいています。
・技術の説明
・レジスタマップ(1) OPMモード
・レジスタマップ(2) SCC・PSGモード
基板の外観です。
v3基板
v2基板
v1基板
■Raspberry picoファームウェア
pico側のファームウェア最新版(ファイル名:pico_firm_20230816.zip)です。
ダウンロードはこちら。
■Raspberry pi2/3/4用 ras68k-extミドルウエア
ラズベリーパイ側の音源エミュレーションを受け持つミドルウェアです。
ダウンロードはこちら(raspi2/3/4用 pi68k-ext v0.90 2024/4/6版)。
【音源サポート】
・PSG, SCC音源
・OPLL(YM2413)
・OPM(YM2151)
・MSM6258×8音 ※各チャンネルで独立してステレオ再生可
・16bitPCM(ステレオ) 周波数可変×8音 (Mercury-unit V3.5相当)
・Munt(MT-32)
・FluidSynth
・外部MIDI音源(USB MIDI OUT)
【v0.90】
ラズベリーパイ5への対応
ioの取り込みをポーリング方式に戻した
【v0.89】
midiモード6,7 Munt初期化されない不具合修正
バンク127(MT-32セット)使用時の音量調整
【v0.88】
FluidSynth リバーブ割合 -E (推奨)reverb_ratio = 64
FluidSynth コーラス割合 -F (推奨)chorus_ratio = 8
※no_builtin_effector=1を指定のこと
【v0.87】
FluidSynth + Munt自動認識モードの修正
【v0.86】
FluidSynth + Munt自動認識モードを追加
mode6: Munt ch2-10 / FluidSynth ch1,11-16
mode7: Munt ch2-9 / FluidSynth ch1,10-16
■X680x0用 PIlib.x サポートライブラリ+支援ツール
外部プログラムから制御するためのライブラリと支援ツールです。
・初期化ツールとサポートライブラリです。
ダウンロードはこちら → PILIB018.LZH 2024/1/25版
※v0.16より、RCD_Rでpireverbが有効になりました。
※v0.18より、MIDI初期化ツールの設定値の範囲を拡張しました。
pireverb v0.1.1(改変版) PIREVERB.LZH
・(NEW)PCM音色ファイルのアップローダーです。
ダウンロードはこちら → MDPC001B.LZH 2022/9/11版
・(NEW)PCM音色ファイルのサンプルです。
ダウンロードはこちら → PCMFILES.LZH 2022/9/11版
・(NEW)PCM音色ファイルアップローダーのソースです。
ダウンロードはこちら → MDPC001S.LZH 2022/9/11版
・ライブラリ対応版のRCDです。
ダウンロードはこちら → RCD_R.LZH 2023/10/9版 pilib v015以降用
以下は対応ソフトウェア情報です。
■X680x0用 KSS player v0.29
mamiyaさんが制作されたnezplugより、KSSファイルに特化して移植した音源プレイヤーです。
ダウンロードはこちら → KSSプレイヤー 2023/10/8版
・OPLLが鳴るようになりました(演奏できないファイルが多数ありますが...)。
・ras68k-extインターフェースを使えば、本体のリソースを使わないでPSGとSCC音源が鳴ります。
・PSGは内蔵のFM音源、もしくはまーきゅりーV4のYMF288で鳴ります。
・SCC音源は多重PCMドライバ(内蔵のADPCM、もしくはMercury unit V3.5以降)に対応しています。
・ras68k-extインターフェースでハードウェアエンベロープに対応しました
■X680x0用 MXDRV ras68k-extインターフェース対応版
raspiインターフェース専用のMXDRVです。FM音源とADPCMが鳴ります。
・対応版のMXDRVです。
ダウンロードはこちら → MXDRV0201.LZH 2019/10/30版
・対応版のMXDRV その2です。
ダウンロードはこちら → MXDRV16EXT.LZH 2022/11/30版
PCM8をフルに使った曲も10MHz機で再生できます。
■X680x0用 (仮)ZMSC208e ras68k-extインターフェース対応版
raspiインターフェース専用のZmusic v2です。FM音源とADPCMが鳴ります。
MIDIとの同期演奏ができます。
・ライブラリ対応版のZMUSICです。
RS232C無効化済です → ZMSCEXTB__.LZH 2023/6/17版
ステータスビュアー ZAM.r を使ってみた状態
【機種とできること、備考】
Raspberry pi種別 | できること | 備考 |
---|---|---|
Raspberry pi4 | FluidSynth 128音 / Munt / OPLL / PCM8pp相当 / OPM / PSG+SCC | ほぼ制限なく使うことができます。 |
Raspberry pi3 / Zero2 | FluidSynth 64音 / Munt / OPLL / PCM8pp相当 / OPM / PSG+SCC | FluidSynthは音数を制限する必要があります。MuntとFluidSynthはどちらか1つが推奨です。 |
Raspberry pi2 | FluidSynth 32音 / PCM8pp相当 / OPM / PSG+SCC | OPLL、Muntは使えますが負荷が高いです。 |
ご意見・要望はこちらにお願いします。