Audacityの使い方:WMAファイルを編集する

Audacityはオープンソースのすぐれた音声エディタだが、現在のところ、Windows Media Audio(WMA)ファイルの編集はできない。APIもWindows Media Audioコーデックもまったく公開されていないので、Audacity開発チームがWMAファイルの直接的なインポート/編集/エクスポートの機能を実現するまでには、まだしばらく時間がかかるだろう。だが、いまWMAファイルがあり、これにMicrosoft社のツールより多少なりとも高精度の編集を行いたいというときは、Audacityにも出番がある。

WMAファイルを何らかの便利なコーデックに変換してから編集できれば理想的だが、事はそう簡単に運ばない。WMAファイルには著作権が設定されているものがあり、その場合は合法的に編集する方法がない。さらに、あるコーデックから別のコーデックに変換すると音質低下の問題が発生するし、WMAにはスクリプトと呼ばれる機能があって、再生時に何らかのイベントを発生させる。これを変換によって失うのはもったいない。

いま、解決したい問題が2つあるとしよう。1つは、あるWMAファイルをいくつかの音声バイトに分割すること、もう1つは、得られた音声バイトに含まれている下品な間投詞をビープ音で消すことである。ともに、カットする地点をきわめて精密に決めなければならない作業だが、どちらかと言えば、最初より2番目の作業のほうに高い正確性が要求される。というのは、私たちが早口でしゃべるとき、前後の言葉がくっついて、1つの音として発音されることが多いからである。単語がつながり合うこの現象を、専門用語では「音声境界の消失」と言う。たとえば、”those effing things”というフレーズ(下品で申し訳ない)は、実際には”thozeffing things”と発音される。ミリ秒マーカーをよほど正確に位置付けないと、きれいな「those –ビープ– things」は得られない。

ミリ秒にズームイン

Microsoft社から提供されている無料ユーティリティは、編集能力に限界があるものの、WMAファイルのクロッピングや、標準ファイルからWMAフォーマットへの変換くらいは十分にできる。また、ストリーミング、プログレシブダウンロード、Pocket PCでの使用に備えてWMAファイルを準備するのにも十分である。だが、画面が小さくて、精密な編集作業には適さない。

正確な編集で問題となるのはスライダバーの位置付けである。ミリ秒単位の数値を手作業で入力する以外に、正確に位置付ける方法がない。これとは対照的に、Audacityには波形表示を拡大できる強みがあり、マーカーポイントをきわめて正確に設定できる。次に示すのは、AudacityでMP3ファイルを拡大したところである。

タイムトラックがミリ秒単位で表示され、左上の拡大アイコンがハイライトされていることがわかる。この画像は、最新の安定バージョンであるAudacity 1.2.4のものである。現在、1.3.0がベータ段階にあって、これには新しく選択バーが設けられ、編集がいっそうやりやすくなっている。ベータ版を試したい方は、まだバグがいくつか残っているので(長さラジオボタンをクリックすると、アプリケーションがフリーズする、など)、注意が必要である。

Audacityを使えば、カーソルの正確な位置付けができる。まず、オリジナルWMAのコピーをWAVファイルとして作成しよう。これには、NCH Swift Audio File ConverterMPlayerなどのユーティリティが使える。作成したWAVファイルをAudacityに読み込む。ここでは実際にファイルを編集することが目的ではなく、ミリ秒マーカーの位置を知ることが目的である。波形を拡大し(左上の拡大アイコンを選択し、望みのズームレベルになるまで波形を何度かクリックする)、カーソルを正確に位置付け、必要なミリ秒マークを読んで、それをWindows Media Editorに入力する。



ソリューション

マーカーポイントを正確に見極められれば、Audacityを使ってミリ秒値を調べ、それをWindows Media Editorに入力できる。各ポイントの固定には、まず”Seek”ボタン、つづいてクリップの起点で”Mark In”、終点で”Mark Out”を使う。たとえば、1つのファイルを2つに分割するには、ファイルの先頭で”Mark In”、Audacityで調べたミリ秒位置で”Mark Out”を使用して、その音声バイトを保存する。次にオリジナルファイルに戻り、先のファイルの分割地点をシークして”Mark In”、ファイルの末尾で”Mark Out”して、それも保存する。確かに面倒だが、この方法の利点はロスがないことである。つまり、ファイルを別フォーマットに変換しなくても目的を達成できる。ファイルは最初から最後までWMAで変わらないし、オリジナルのスクリプトポイントと音質も、たぶん、そのまま保持されるはずである(もちろん、WMAエディタはプロプライエタリの製品なので、中でどのような操作が行われているかはわからない)。

2番目の問題はやや複雑であり、別のコーデックを介在させる必要が出てくる。

Windows Media Editorは、ファイルの一部を置き換えられるほど頭がよくない。だが、Audacityにはそれができる。ファイルのコピーを作り、それをWMAからWAVかMP3(または、さらに別のコーデック)に変換する。このとき、あとでWindows Media Encodingを使い、これをまたWMAに戻すことを心にとどめておこう。WAVをAudacityにロードしたら、消したい下品な部分を注意深くハイライトする。必要に応じて何度でも波形を拡大しよう。Audacityでは、クリック&ドラッグによって波形の一部だけをハイライトし、Playボタンを押すと、その部分だけが再生される。これはきわめて便利な機能であり、ファイルの置換部分を正確に選択しているかどうか確認できる。このあと、メニューから”Generate”を選択し、次いで”Tone”を選択する。ダイアログウィンドウが現れたら、デフォルト値を受け入れ、”Generate Tone”をクリックする。

これで問題の単語が中性トーンで置き換えられる。オプションをあれこれいじって置換トーンを変えることもできるが、デフォルトで十分である。トーン生成部分の末尾にクリック音が入るのを避けるため、当該部分の末尾でクロスフェードアウト機能を4、5回、立て続けに使用するとよいだろう。

修正したファイルをテストし、正規化し、Audacityからエクスポートしたのち、Windows Media Encoderを使用する。あるいはDOSプロンプト(コマンド)ウィンドウで、まずエンコーダフォルダに移動しておいてから、次のコマンドを出す。

cscript.exe wmcmd.vbs -input
C:?work...?Myfile.wav -output
C:?work...?Myfile.wma

これでWMAフォーマットの最終出力が得られる。音質低下はないはずだが、変換を2回行っているので、微妙な変化がないとは言えない。

サンプルWMAファイルのコピーをここに置いておく。もう1つ、上記手順によってサイン波トーンを挿入し、中央部分を置き換えたファイルもあるので、音質低下があるかどうか聞き比べていただきたい。

WMAとAudacityの今後

Audacity開発のリーダー、Dominic Mazzoniによると、Windowsの最近バージョンのAPIを使えば、技術的にはAudacityでWMAファイルのインポートとエクスポートができるそうであり、開発チームはこれを有望な機能だと考えている。だが、法的な障害がありうる。AudacityはGPLライセンスを使用しており、そのGPLライセンスでは、クローズドソースライブラリへのリンクが禁じられている。Windowsに付属するWMAコーデックは、もちろん、クローズドソースである。ただ、オペレーティングシステムの一部として配布されるライブラリには例外が認められているので、WMAサポートの組み込みは可能かもしれない。その場合でも、サポートは、WMAをビルトインしているWindowsバージョンだけに限られ、別途ダウンロードによるWMAサポートを必要とするWindowsバージョンは除外される。

できることなら、この世はオープンソースの音声ファイルフォーマットだけで成り立っていてほしいが、現実には、WMAを始めとするプロプライエタリフォーマットが多数存在する。私たちにできることは、なんとかそうしたフォーマットも扱えるように工夫することである。Audacityは高水準の製品であり、基礎的なWMAエディタをサポートし、補完できる。

原文