トシオのコンソールサウンドレコーダー・プレーヤー

留守番録音にもおすすめなLinuxコマンドライン用録音再生ソフト

Version 01-2
2005年11月11日


概要

「トシオのコンソールサウンドレコーダー・プレーヤー」は、Linuxのコンソールで動く、WAVファイルを録音・再生するソフトウエアです。

引数にWAVファイルを指定して起動すれば、すぐに録音や再生が始まりますので、ちょっと音を記録したり聞いたりしたくなったときに、すぐに活用できます。

録音する長さを、オプションとして指定できます。crontabを使って動作日時を指定すれば、留守番録音などに活用できます。

可能な限り音飛びが起こらないように努力しました。音飛びの回数を数える機能もあります。

サウンドドライバの「ALSAドライバ」(0.9.8以上)がインストールされたLinux環境で、動作します。

プログラムは、録音用の「crec」と、再生用の「cplay」の2本からなります。

シンプルな構造にしたので、動作は軽快です。

ソースコードもついていますので、サウンドドライバの使い方を学ぶにも、よろしいプログラムかと思います。

開発は、Vine Linux 3.2にALSAドライバ0.9.8以上をインストールした環境で行いました。

ライセンス

このソフトウエアはフリーソフトウエアです。GNU GPL 2というライセンスでご利用いただけます。詳しくは「GNU 一般公有使用許諾書」(GNU GPL 2)をご覧ください。

インストール

  1. パソコンに、ALSAドライバと、ALSAライブラリがインストールされていることを確認しましょう。これらのドライバとライブラリは、http://www.alsa-project.org/にありますので、ダウンロードしてインストールしておきましょう。

  2. テキスト表示で、「ncurses」と呼ばれるライブラリを使っています。

    Vine Linuxのパッケージ名としては、「ncurses」と「ncurses-devel」が必要になるので、もしもインストールされていない場合は、入れておきましょう。

  3. 圧縮されたファイルを展開します。この文章ファイルは、展開されたファイルの1つですので、このファイルをご覧になっている段階で、既にファイルの展開は終わっています。

  4. 展開されたファイルの中に、「crec」と「cplay」の2つの実行ファイルがあります。

  5. コンソールから、

    ./crec abcde.wav

    と入力して、録音が始まるようでしたら、レコーダーのプログラムは正しく動作しています。

    ついでに、コンソールから

    ./cplay abcde.wav

    と入力して、再生の動作をしているようでしたら、プレーヤーのプログラムも正しく動作しています。

    crec と cplay が正しく動作するようでしたら、これらのファイルをパスの通ったディレクトリに移動しておきましょう。例えば、 /usr/local/bin などがおすすめできます。

自分でコンパイルをしたい場合は

上記の方法で正しく動作しない場合や、自分でコンパイルをしたい場合は、上記の操作をした後で、以下の操作も行います。

  1. まず、現在の crec と cplay を削除します。コンソールに次のように入力します。

    rm crec cplay

  2. 次に、コンソールで

    make

    と入力すると、コンパイルが行われて、新しい crec と cplay が出現します。

「コンソールサウンドレコーダー」の使い方

とりあえず使ってみましょう

引数に.wavファイルを指定して起動すると、すぐに録音が始まります。

ファイル名だけを指定して起動した場合は、サンプリング周波数44100Hz、2ch(ステレオ)、量子化ビット数16ビットのフォーマットで録音します。

crec が置かれたディレクトリの中で、コマンドラインから

./crec abcde.wav

と入力すれば、abcde.wavに録音が行われます。

なお、録音を始める前に同じ名前のファイルがあった場合は、古いファイルの内容が消えますので、ご注意ください。

録音中は、次の画面となります。

録音中の画面

録音をやめる時は、スペースキーを押します。スペースキーを押すと、音声の長さをファイルに記録して、録音を終了します。

コントロールキーを押しながらCを押してプログラムを停止すると、音声の長さをファイルに記録できません。その結果、プレーヤーによっては正しく演奏できないファイルになってしまいます。

スペースキーを押して、正常に終了した場合は、次の画面が表示されます。

正常終了の画面

万が一音飛びがあった場合は、「正常終了。」のかわりに、発生した音飛びの回数が表示されます。

こんなオプションがあります

例えば、8000Hz、1チャンネル、8ビットのフォーマットで1分間b.wavに録音する場合は、次のように入力します。

./crec -l 1:0 -f 8000 -c 1 -w 8 b.wav

crontabを併用した留守番録音の例

Linuxなどには、特定の日時に自動的にプログラムを起動するための仕組みとして、crontabがあります。

crontabの仕組みに、 crec コマンドを登録することで、留守番録音を簡単に実現できます。

例えば、crecコマンドが /home/sugihara/bin/crec としてインストールされている場合で、木曜日の19時0分から30分間録音を行い、 /home/sugihara/abc.wav を出力する場合は、次のようにします。

  1. まず、次の内容のテキストファイルを作成します。行の終わりには改行を入れておきましょう。

    0 19 * * 4 /home/sugihara/bin/crec -q -l 30:0 /home/sugihara/abc.wav
    

    このファイルを、例えばa.txtという名前で保存しておきます。

  2. コンソールから、次のように入力します。

    crontab a.txt

    これで、crecコマンドの実行が予約されました。

予約を取り消す場合は、コンソールから crontab -r と入力します。

crontab コマンドで登録するファイルの詳しい書き方は、crontabのマニュアルなどを読んで勉強しましょう。ごく簡単に説明しますと、こうです。

ちなみに

「コンソールサウンドプレーヤー」の使い方

とりあえず使ってみましょう

引数にWAVファイルを指定して起動すると、指定したファイルを再生します。

WAVファイルには、PCM形式で録音された1チャンネル(モノラル)か2チャンネル(ステレオ)のものが使えます。

cplay が置かれたディレクトリの中で、コマンドラインから

./cplay abcde.wav

と入力すれば、abcde.wavが再生されます。

再生が終わると、自動的に終了します。

途中で再生を止めたい場合は、コントロールキーを押しながらCを押します。

途中で止めずに再生が終了すると、メッセージを表示します。

こんなオプションがあります

ちなみに

ホームページもご覧ください

新しい情報や、より詳しい使い方の情報は、作者のホームページのソフトウエアのコーナーにありますので、どうぞご覧ください。


製作著作: 杉原俊雄(すぎはら としお)
sugihara@syl.t.u-tokyo.ac.jp
(c) 2004 - 2005 Sugihara Toshio.