060turboで、mp3のリアルタイム再生はできるのか?
以前にどこかで、「X68000でmp3再生ができる!」という話を思い出して、実験してみました。
用意したハードウェア
今となっては、普通の68ユーザでは用意するのが難しいものばかりですが。
・X68030(25MHz)
・060turbo replica(XC68060RC50)(もちろん replicaでなくもOK)
・RaSCSI(ベアメタル版)外付け(mp3データを格納)(普通の外付けSCSI-HDでもいけるかも?)
・まーきゅりーゆにっとv4(もちろん、Mercury-UnitでもOK) ※ツクモ電機製TS-6BGAでもいけるらしい(未確認)
用意したソフトウェア
twitter経由で、こちらのツール「mp3play.x」を教えていただきました。
mp3play.x
Index of /g0org/x68tools/audio/mpeg :
ここからダウンロードします。
MP3P049.LZH 一番タイムスタンプの新しい(1999/1/6)、こちらを利用してみました。
1999年製のようです。UNIX版からの移植ってのも時代を感じますね。
ところで、1999年といえば、わたしが初めて携帯mp3プレイヤーの「MPMAN」を買いました。64MBしかデータが入りませんでした。
意外と格好いい。iPodとかでる遥か前。現場からは以上です。
用意したmp3
私も制作に参加したこちらのサントラアルバムから。
超連射68K オリジナルサウンドトラック COMPLETE EDITION | プロジェクトEGG | EGG MUSIC :
るざりんさんアレンジの、こちら「Planet the E.A.R.T.H (STAGE 1) Self-Remake Version」をエンコードしています。
実験開始!!
中々、060turboパワーを体感する機会が少ないので楽しみです。
まずはいきなり、用意したmp3データはオンメモリではなく、RaSCSIに入れて実験しました。
Streamエラーや、Skipなどと表示される
いくつか手持ちのmp3を再生してみたところ、エラーが出て止まってしまいました。
確かに一概にmp3といっても、かなり細かい違いやエンコードの種類があるので、仕方ないですね。
そして、粘り強くあれこれ再生を試しているとうまく再生できるデータを発見しました!
どんなmp3だと再生できるのか?
mp3について詳しく調べられるツール(MediaInfo)を使って、再生できたデータとできないデータを比較してみます。
MediaInfo のダウンロードと使い方 - k本的に無料ソフト・フリーソフト :
再生できたデータ(古いmp3)
再生できないデータ(普段、iTunesなどでエンコードしてるmp3)
周波数は同じなので、一番怪しいビットレートを疑ったのですが、違いました。
そろそろ勘の良い方は気づかれてるかもしれませんが、なぜ古いmp3だと再生できるのか?
再生できない原因は可変ビットレートでした
答えは、可変ビットレート(VBR)でした。
そんなのありましたね。。。すっかり忘れていました!
最近のデータやプレイヤーではVBRには当たり前に対応してますが、1999年当時にも存在はあったのかもしれませんが、この再生ツールでは考慮されなかったのでしょう。
VBRのmp3を一度ベタなWAVに戻して、固定ビットレートのmp3に変換し直します。
iTunesではなぜかうまくできなかったので、検索したら出てきた「SCMPX」を利用しました。
だいぶ懐かしいインターフェース。当時、よく使いました。そして、Windows10でも動きました。
午後のこ~だ~、も試しましたが、Windows10でうまく動きませんでした。ひたすらに懐かしい!
続・実験開始!
やっと再生できるデータがわかったのです、再生してみます。
A:\>mp3play -mu -debug 再生したいMP3ファイル名.mp3
mp3playの実行オプションは、MercuryUnitを指定する-muオプションと、デバッグ表示させる-dオプションのみです。
time > cycle、だと、追いついていない、ということらしいです。
とりあえずキャッシュON
A:\>cache on
これだと、つっかえながらの再生になってしまいます。
ハイメモリで再生プログラムを実行する
どうやら、再生プログラム(mp3play.x)をハイメモリで動作させる必要があるようです。
060highを使う場合
A:\>060high 1 0
A:\>mp3play -mu -debug 再生したいMP3ファイル名.mp3
060high.x - 060turbo 関連 - 特定のハードウェア用のソフトウェア - ソフトウェアライブラリ - X68000 LIBRARY :
060loadhighを使う場合
A:\>060loadhigh mp3play -mu -debug 再生したいMP3ファイル名.mp3
060loadhigh.x - 060turbo 関連 - 特定のハードウェア用のソフトウェア - ソフトウェアライブラリ - X68000 LIBRARY :
実験成功!
128kbpsのデータで、なんとか、time < cycleでついていっていますね。
RAMディスクを使ってみる。
やはりビットレートを上げると再生が厳しくなります。
そこで、mp3データをRAMディスクに置くと256kbpsでもギリギリなんとかついていけます。
320kbpsは、さすがに厳しそうですが、禁断の060tubro75MHzにすればいけるのかも?
96kbpsにして、-m(モノラル)オプションを付けるともう少し低スペックの68でも再生できそうです。
もちろん、再生中はX68030は、他のことがなんにもできませんのでBGM利用には向かないです。
今回の実験はここまで
もし、可変ビットレートも再生する方法が見つかったら、また実験するかもしれません。
それでは、次の実験テーマで会いましょう!