Audacity は、録音した音声を編集するためのオープンソース・プログラムであり、無料で利用することができます。多くのオプションを備えた強力な GUI ベースのプログラムである Audacity は、さまざまなプラットフォームに対応していますが、この記事では Linux 版を取り上げます。Audacity を使用すると、あらゆるサウンドを録音することができます。図 1 に Audacity のスクリーン・ショットを示します。サウンドは複数の並列トラックで表示されており、このサウンド・データの一部を時間範囲で指定して、切り取り、コピー、貼り付けなどの処理をすることができます。さらには、特殊なサウンド・エフェクトを追加してから一般的なファイル形式でオーディオ・データを保存することもできます。
図 1. Audacity サウンド編集プログラム
また Audacity には Nyquist LISP というプログラミング環境が組み込まれています。スキルのあるユーザーであれば、この環境を利用してカスタムのフィルターやジェネレーターを作成することができ、オーディオの作成、編集に無限の可能性が広がります。
パーソナル・コンピューターの単価当たりの処理能力が向上し、プロが要求するようなレベルのオーディオ・ハードウェアやビデオ・ハードウェアによって充実したマルチメディア機能が提供されるようになると、創造的なプログラマーがそれらの機能の要求を満たす優れたオーディオ編集ソフトウェアの必要性を感じるのは当然でした。MP3 プレーヤー (Apple iPod、Zune、Sansas) などのパーソナル・オーディオ機器や、それらと同等のエンターテインメント機能を備えた携帯電話が広く普及したことにより、まさに文字どおり何百万人もの人々が、MP3、カスタムの着信音、ポッドキャストの形式で高音質のオーディオ・ファイルを求めています。Audacity を利用することで、そうした人々の多くが彼ら自身のためや他の人達のために、カスタマイズされたオーディオ・ファイルを作成したり編集したりすることができます。
Audacity には、サウンドを操作するための数多くの機能があります。よく使われる機能を以下に挙げます。
- MP3 形式での録音
オーディオ・ファイルの制御を完全に行いたい場合には、MP3 形式を使用すれば (Audacity は MP3 形式でファイルを保存することができます)、どの機器に音楽を取り込んでもそのファイルを十分に制御することができます。それは音楽を CD にコピーする場合にも iPod にファイルを直接転送する場合にも言えることです。
- 着信音
Audacity を使用して携帯電話の着信音を作成することもできます。着信音の推奨の長さは約 20 秒であり、違和感のない着信音にするためには、必ずループ可能な着信音にしてください。つまり着信音の最後と最初がうまく合うようにする必要があります (Audacity ではループ再生が可能なので、最終的に着信音がどのように聞こえるかを編集中に確認することができます)。着信音のファイル形式には、さまざまな種類があるため、どの形式にする必要があるかは携帯電話の取扱説明書を参照してください。ほとんどの人は MP3 または WAV をファイル形式として使用しており、Audacity はその両方をサポートしています。コンプレッサー・ツールを使用すると、大きな音は少し抑えられ、小さな音は少し持ち上げられるため、携帯電話の小さなスピーカーで聞いた場合でも音がきちんと聞こえるようにすることができます。
- ポッドキャスト作成
良い内容であれ悪い内容であれ、多くの人々は自分が思っていることを世界と共有したがります。Audacity を使用すれば、そのような内容のポッドキャストを簡単に作成することができます。必要なものは、マイク、サウンド・カード、そして自分が語りたい内容のみです。単純に Audacity を起動して「RECORD (録音)」をクリックします。
サウンド・エフェクトや他の要素をミキシングするのも簡単です。例えば、特に重要な点を語った後に BANG.WAV を追加したいとしたら、「FILE (ファイル)」 > 「IMPORT (取り込み)」の順にクリックし、BANG.WAV ファイルを選択して取り込みます。すると BANG.WAV がこのファイル専用のトラックに表示されるので、単純にこのファイルをスライドさせて追加したい場所まで持っていきます。Audacity は独立したトラックを大量に扱うことや、長時間の録音に対処することができるため、複雑なプログラムをミックスすることができます。もちろん、そのようにして作成された作品のためのインターネット・ホストを見つけるのは皆さんの仕事です。
- アナログ・レコードやカセット・テープのデジタル・バックアップ
アナログ・レコードのコレクションを持っている人であれば、ターンテーブルがあるレコード・プレーヤーをお持ちなのではないでしょうか。サウンド・カードを介してそれらをコンピューターに接続し、Audacity のインターフェースで「RECORD (録音)」をクリックし、録音したい曲の再生を開始してください。この機能はカセット・テープの内容を録音する場合も同じです。この方法がよくわからない場合には、多くの Web サイトに解説があり、それらの一部に対するリンクを「参考文献」セクションにも挙げてあります。
Audacity を入手するには 2 通りの方法があります。Audacity のソース・コードをダウンロードして、コンパイルし、インストールする方法と、Linux ディストリビューションの新しいソフトウェアをインストールする機能を利用する方法があります。Audacity は、よく使われているほとんどの Linux ディストリビューションに含まれています。
Audacity のソース・コードをダウンロードするには、「参考文献」に挙げた SourceForge へのリンクにアクセスし、そこに説明されている圧縮されたアーカイブ・ファイルを選択します。選択したファイルは audacity-minsrc-1.3.xx.tar.gz のような名前をしているはずです。このファイルを「Download (ダウンロード)」ディレクトリーにダウンロードし、ダウンロードが完了したら xterm ウィンドウを開いて以下のようにこのファイルを src ディレクトリーに解凍します。ファイルを解凍したら、ソース・コードから Audacity をビルドします。
$ cd src $ tar -zxvpf ~/Download/audacity-minsrc-1.3.xx.tar.gz |
上記コマンドによって、ダウンロードした Audacity のバージョン用のソース・ディレクトリーが作成され、すべてのソース・モジュールがそこに配置されます。ソース・モジュールが配置されたら、以下のコマンドを実行することで構成、コンパイル、そしてインストールすることができます。
$ cd audacity-src-1.3.xx $ ./configure |
アプリケーションの開発に必要なヘッダー・ファイル (wxWidgets 開発用ライブラリーなど) がコンピューターの中に揃っていない場合、その対応は以下のように簡単です。例えば Debian ベース (Ubuntu など) のディストリビューションを使っているとしたら、単に Synaptic Package Manager を開いて必要なライブラリーを検索します。見つかったライブラリー・ファイルをインストールする際には、ファイル名が -dev で終わるファイルであることを確認してからダウンロードし、上記と同じように構成スクリプトを再度実行します。インストールする必要がある依存関係ファイルがさらに見つかった場合には、このプロセスを繰り返す必要があるかもしれません。(ダウンロード・ファイルに含まれている README テキスト・ファイルにも、ビルド環境を構成するために役立つ情報が含まれています。)
エラーが発生することなく構成ステップが終了したら、make を実行することで Audacity のコンパイルとリンクを実行することができます。
$ make $ sudo make install |
開発者である皆さんは、これらの手順は大部分のアプリケーションをソース・コードから構成、コンパイル、インストールする通常の手順と同じであるとわかるはずです。ただし、途中で何らかの問題が発生した場合には、ディストリビューションのパッケージ・マネージャーの更新ツールを使用して Audacity をインストールする方法が最も適切です。
Linux ディストリビューションの機能を利用した最新バージョンへの更新
Linux ユーザーの場合、お気に入りのディストリビューションの更新メカニズムを利用して Audacity
をダウンロードしてインストールすることができます。この方が、自分でビルドしようと苦労するよりもはるかに簡単です。例えば Debian
ベースのディストリビューションでは、以下のように apt-get コマンドを使用して最新の本番バージョンを入手することができます。
$ sudo apt-get install audacity |
このメカニズムを使用して Audacity をインストールする大きなメリットは、いったん Audacity をインストールすると、更新が利用できるようになるたびに、システムが通常の更新を実行する際に Audacity の更新も自動的に行われることです。また、システムが次の更新を実行するまで待たなくても、以下のようにして Audacity の更新をすることもできます。
$ sudo apt-get update |
こうすることで、Audacity の最新の安定版リリースを使用することができます。
オープンソースを使って Audacity をカスタマイズする
各種のオーディオ・フィルターを追加したり使用したりすることで、Audacity をカスタマイズすることができます。オーディオ・フィルターは、実際には LISP で書かれたオープンソースのプログラム・コードです。LISP は、プログラミング言語のなかでも最も初期の頃に作成されたプログラミング言語の 1 つであり、Audacity に使用されている LISP は Nyquist LISP と呼ばれる、オーディオ・データを扱うため専用にカスタマイズされた LISP です。Nyquist LISP は、強力で効率的な上に拡張可能であり、定義済みのデータ構造が豊富に用意されているため、それらの構造を利用してオーディオ・ストリームのさまざまな側面をパラメーターで表現することができます。ただし、Audacity に組み込まれたオーディオ・フィルターを使用するために LISP のエキスパートである必要はありません。
オーディオ・フィルターは、オーディオ・ファイルを再生したときの出力を変更できるようにする Audacity の主要なツール群です。これらのツールを利用すると、トラックの一部分の音量を他の部分よりも大きくしたり小さくしたりすることができます。オーディオ・トラックの音量を次第に大きくまたは小さくするフェード・エフェクトを追加することもでき、あらゆる種類の特殊なサウンド・エフェクトを追加することもできます。
オーディオの特殊なエフェクトとして、オーディオ再生のピッチやレベル、速度の変更、等々を組み込むことができます。これらのエフェクトと、それらに関連するカスタマイズされたパラメーターとを組み合わせると、いくらでもオーディオ・ストリームに変更を加えることができます。例えば、聞く人の気分に影響を与えるような変更を加えたり、サウンドにコミカルなエフェクトやドラマチックなエフェクトを追加したり、あるいは求めるサウンドが得られるまでオーディオ・トラックを調整したりすることができます。
Audacity のフィルター機能の使い方は驚くほど簡単です。例えば、MP3 データのトラックを開き、そのトラックの一部のデータにエコーをかけるなどの特殊なエフェクトのフィルターを適用したいとします。そのためには、そのオーディオ・トラックにマウス・カーソルを置いて、エコーを追加したい部分が強調表示されるようにドラッグすることで範囲を指定します。左マウス・ボタンを放すと、その部分が強調表示されたままになり (図 2 では、現在選択されている曲の 10 秒から 40 秒の範囲が強調表示されています)、この部分に特殊なエフェクトを適用できる状態になっています。
図 2. エフェクトを追加する対象となる曲の部分を準備する
次に、Echo フィルターを適用するために、図 3 に示すように「Effect (エフェクト)」 > 「Echo (エコー)」の順にクリックし、表示されるウィンドウで必要な遅延時間と減衰ファクターを設定します。
図 3. 「Echo (エコー)」フィルターを適用する
最後に、図 4 に示すように「Echo (エコー)」ウィンドウで「Preview (プレビュー)」をクリックすると、サウンド・エフェクトのプレビューを見ることができます。思いどおりのサウンド・エフェクトが得られるまで何度でも、遅延時間と減衰ファクターを変更して「Preview (プレビュー)」をクリックし、エコー・エフェクトを試すことができます。
図 4. 追加されたサウンド・エフェクトをプレビューする
先ほど触れたように、Nyquist LISP はオーディオ・データの編集を行うため専用にカスタマイズされた LISP です。学術界を起源とする Nyquist は、この 10 年ほどの間に行われた他の関数型言語の実験から派生したものです。Nyquist が他の LISP 方言と異なる点は、オーディオ・データ編集用の特殊な拡張機能を数多く持ち、ボランティアのコミュニティーによって保守されている点です。そのコミュニティーで最も有名なのは、Audacity の共同作成者であるカーネギー・メロン大学の Roger Dannenberg 教授です。
LISP はその簡潔さから、Audacity でオーディオ・フィルターを作成するのに特に適しています。わずかなコードで、オーディオ・ストリームにドラマチックなエフェクトを追加することができます。この記事で使用している Audacity の実装については、共通ディレクトリーである /usr/share/audacity 配下の nyquist ディレクトリーと plug-ins ディレクトリーの中にある .ny ファイルを調べることで、Audacity に組み込まれている数多くの特殊なエフェクトの一部である Nyquist LISP のコードを参照してください。
組み込みのフィルターを使用するために LISP を理解する必要はありませんが、何がツールの機能の基礎になっているのかを理解しておくのは良いことです。この記事で紹介した以外のカスタム・フィルターの例や、この記事で使用した機能の詳細は、「参考文献」に挙げた Nyquist LISP へのリンクを見てください。
まず、ゼロの状態からフィルターを作成するのか、それとも実現したい効果と同じような効果が得られる既存のフィルターをコピーして変更するのかを決めます。プログラミングに慣れていない人には、後者の方法が最適です。皆さんは、この点では幸いなことに、以下の簡単な Nyquist LISP コード・スニペットをお気に入りのエディターにコピーし、plugins ディレクトリーに保存すると、このプラグインを即座に使用することができます。
;nyquist plug-in ;version 1 ;type process ;name "Fade In by Myk" ;action "Fading In..." (mult (ramp) s) |
それだけで終わりです。お気に入りのエディターを使用して上記のスニペットを myfadein.ny というファイルにコピーし、そのファイルを
/usr/share/audacity/plugins ディレクトリーに保存するだけです。この単純なフィルターの最後の 3 行では、「Effect
(エフェクト)」メニューに表示される名前 (name) と、フィルターが適用される際にステータス領域に表示されるテキスト (action)
を定義しています。(mult (ramp) s) は実際にフェード・エフェクトを与える Nyquist LISP コードです。最後に、Audacity を終了して再起動すると、起動時に新しいフィルターが読み込まれます。
新しいフィルターをテストするために、オーディオ・トラックのうちフェード・エフェクトを追加したい範囲を指定します。具体的には、オーディオ・トラックにマウス・カーソルを置いて、フェード・エフェクトを追加したい部分が強調表示されるようにドラッグすることで範囲を指定します。マウス・ボタンを放すと、その部分が強調表示されたままになるので、上で作成した「Fade In by Myk」フィルター (別の名前を付けている場合は、そのフィルター) を適用するために、「Effect (エフェクト)」 > 「Plugins 1 to 15 (プラグイン 1 から 15)」 > 「Fade In by Myk」の順にクリックします。フィルターを適用したら、「Play (再生)」をクリックして効果を確認します。
さらにプログラミングを続け、他の人にも有用と思えるフィルターを実際に作成した場合には、是非とも、それらのフィルターをコミュニティーに寄付し、すべての人にとって Audacity をさらに強力なツールにするために貢献することができます。フィルター・コードを寄付する方法については「参考文献」を参照してください。コミュニティーへの連絡方法と、プログラムを管理している人達に .ny ファイルを送信する方法へのリンクを記載してあります。
オーディオ技術の進化により、従来は高額のスタジオを必要としたツールがデスクトップ・コンピューター上で実現されています。多種多様なフィルターや、コントロール、そしてマルチチャンネル・サウンドの複雑な波形を視覚的に優れた方法で表示する機能を備えた Audacity は、使えるようになっておく価値がある貴重なメディア・エディターです。
学ぶために
- Audacity チームのウィキで Audacity について学んでください。
- Audacity
コミュニティーのフォーラムを調べてみてください。
- developerWorks の Open source ゾーンには、オープンソース・ツールやオープンソース技術の使い方に関する情報が豊富に用意されています。
- 特定の技術リソースを見つけるための e-リファレンス・ライブラリー、Safari
bookstore を訪れてください。
- Twitter
で developerWorks をフォローしてください。
- developerWorks
podcasts では、ソフトウェア開発者のための興味深いインタビューや議論を聞くことができます。
- developerWorks の Technical
events and webcasts で最新情報を入手してください。
製品や技術を入手するために
- SourceForge で Audacity
について学び、また Audacity をダウンロードしてください。
- Nyquist LISP について学んでください。
- 皆さんの次のオープンソース開発プロジェクトを IBM ソフトウェアの試用版を使用して革新してください。ダウンロード、あるいは DVD で入手することができます。
議論するために
- developerWorks blogs から developerWorks コミュニティーに加わってください。
