リーフな音楽を UNIX で再生

MIDI を再生するアプリケーションの紹介や,CD の音楽を録音,圧縮,そして再生するための方法を解説します.

CD の録音については,CD を直接聞け!という話もありますが,リブレットみたいなモバイルPCでいつでもどこでも再生可能というのも魅力でしょ?(^_^)

CD の録音のところは Linux じゃないとダメですね…他だとどうするのかはちょっと不明です(情報募集中). それから当然 CD の録音はダビングに相当する行為なので,著作権には注意しましょう.

MIDI 再生

MIDI ファイルを再生するにはソフトウェアプレイヤーの TiMidity を使うのが定番です. (ハードウェアの MIDI 音源を持っている人は,説明無しでも使えてますよね… ^_^;) オリジナルの TiMidity は開発が滞っているようですが,独自に拡張やバグ修正が行われたバージョンが存在するので,現在はそれを利用する方がいいでしょう. ここでの説明もそれを前提にしています.

インストール

拡張 TiMidity のパッケージは出雲正尚さんのページから入手します.

日本語のドキュメントがついていますので,とりあえずここでインストールについて説明する必要は無いでしょう. (分からなかったら質問してください ^_^;)

注意点は,実際に TiMidity を利用するには「パッチファイル」と呼ばれる音源ファイルが必要となります. パッチファイルは唯一のものがあるわけではなく,色々な方が独自にまとめられているので,好みに応じて選びます. とりあえずは松本さんのページ,上述の出雲さんのページなどで入手できます. サイズが非常に大きいので,ダイアルアップIPの人は(可能なら)近場の TiMidity ユーザを探した方がいいかも.

利用

使い方は簡単です(^_^).

timidity 〜.mid

ただし,CPUが遅いマシンだとCPUが再生についてきません(T_T). こういう場合は,あきらめて音質を下げましょう. 参考ですが,私のリブレットでは以下のようなオプションを使っています. どうせリブレット付属のスピーカーはしょぼいので,音を気にしても仕方ないという面もありますが….

timidity -Od8M 〜.mid

Netscape のプラグインとして使う

せっかく MIDI プレイヤーを入れたのですから,Netscape 等でも利用できるようにしたいですよね.

ですが,単にヘルパーアプリケーションに追加しただけでは,バックグラウンドに音楽を流すページでは機能してくれません. そこで,TiMidity をプラグインとして利用できるようにするパッケージ(JiveAudio for Linux)をインストールします.

まずHypercore さんのホームページよりjiveaudio-1.2.1-bin.tar.gz を取得し,その内容(共有ライブラリ)を ~/.netscape/plugins ディレクトリに展開します.

それから,このプラグインは playmidi (という MIDI プレイヤー)を呼び出すようになっているため,この名前のシェルスクリプトを間に噛ましてやります. ついでにオプションもこのスクリプト内で指定しておきましょう.

/usr/local/bin/playmidi:

#!/bin/sh
exec /usr/local/bin/timidity -Od8M $@

CD の音楽の録音&再生

CD の音楽を録音するには cdda2wav を使います. 使い方は簡単ですが,出力が Windows の WAV ファイルなのでサイズがとても大きいです. 具体的には,1曲あたり約50Mバイトは見込まなければなりません.

ディスク貧乏の私はさすがにこれでは辛いので,録音した後は MPEG 圧縮をしています. (MPEG というと普通映像だけを考えがちですが,音声用のフォーマットもあります.) 音質をほとんど劣化させることなく,サイズを1/10程度まで小さくできます. フリーの圧縮ツールは見つからないので,ここではシェアウェアの l3enc を使います. (とりあえず30日間の試用ができます.)

MPEG 音声を再生するには,mpg123 というフリーソフトウェアを使います.

インストール

まずはファイルを入手します.

インストールはいずれも簡単です. cdda2wav, mpg123 は一般的な手順でインストールできますし,l3enc は展開したバイナリを適当な場所に置くだけです.

録音から再生まで

  1. 録音
    cdda2wav -t トラック番号 -o 〜.wav
  2. 圧縮
    l3enc 〜.wav 〜.mp3 -br ビットレート
  3. 再生
    mpg123 〜.mp3

l3enc のビットレートは簡単に言うと圧縮の品質です. 再生するマシンが十分高速なら 112000 (ほぼCD音質)を指定します. 私のリブレット(P5-75MHz, メモリ32M)だとこの音質では再生が間に合わないので,56000 を使っています.

ビットレート112000 で圧縮しておいて,再生のときに音質を落としても大丈夫なのですが,ビットレートが小さいほうが当然ファイルサイズも小さいです. それから MPEG サウンドのファイル名は `〜.mp3' がつくが普通です. `3'が付くのは,この音声ファイルの正式名称が「MPEG レイヤ 3 音声」というものだからです. (レイヤ1, 2 を使うことはまず無いと思うので説明はパスします.)

再生については特に説明する点はありません. ただし TiMidity の場合と同様,遅いマシンでビットレートの高いファイルを再生しようとすると CPU が付いてこれません. このような場合は,やっぱり

mpg123 -2 〜.mp3

のようにして音質を下げます.


ホームページへ戻る
TF <tf@denpa.org>