この音声変換ツールのしくみ
このツールができること
音声ファイルを読み込み、MP3 または WAV に再エンコードします。入力は MP3、WAV、OGG、AAC、M4A、FLAC、WebM と幅広く対応し、Web Audio API を通じてデコードして、圧縮された元データを生の音声サンプルに展開します。そのサンプルから、指定したサンプルレートとチャンネル構成を適用しつつ、選んだ形式で新しいファイルを書き出します。
MP3 の出力は JavaScript として動作する LAME エンコーダー(lamejs)が生成し、WAV は非圧縮の 16 ビット PCM として書き込みます。最大 500MB のファイルに対応し、デコードとエンコードの一連の処理はサーバーへのアップロードなしに手元の端末で完結します。
使いどころ
再生したいアプリや端末が対応しない形式のファイルがあるとき、あるいはより軽く持ち運びやすいコピーが欲しいときに役立ちます。よくあるのは、M4A や FLAC で届いたボイスメモやダウンロード楽曲を、ほぼすべてのプレーヤーとスマートフォンが問題なく扱える MP3 に変換するケースです。
逆方向も同じく便利です。編集用に非圧縮ファイルが必要なとき、圧縮された素材から WAV を書き出したり、音声録音を軽くするためにステレオ音源をモノラルにまとめたりできます。狙ったファイルサイズや音質に合わせてビットレートやサンプルレートを調整するのも、同じ操作の一部です。
例: M4A のボイスメモを MP3 に
たとえば 40MB の M4A ファイルとして録音した講義があるとします。出力に MP3 を選び、ビットレートを 128 kbps に設定し、チャンネルをモノラルに切り替えます。音声はステレオにしても利点がないためです。Web Audio API が M4A 内の AAC 音声をデコードし、LAME エンコーダーが 128 kbps で再エンコードすると、どこでも再生できるずっと小さな MP3 ができあがります。確定前に推定サイズが表示され、内蔵プレーヤーで結果を先に確認できます。
対応形式・音質・注意点
出力は MP3 と WAV に限定しています。この 2 つで、圧縮して持ち運びやすい形式と、非圧縮で編集しやすい形式という、多くの作業で必要になる使い分けをカバーできるからです。ビットレートの選択肢(128、192、256、320 kbps)は MP3 のみに適用され、WAV のサイズは代わりにサンプルレートとチャンネル数で決まります。サンプルレートは 44.1 kHz(CD 標準)または 48 kHz(映像でよく使う値)に設定できます。
いくつかの制約は知っておくと安心です。モノラルを選ぶと左右のチャンネルが平均化されるため、後から元には戻せません。非常に大きなファイルはデコード中に利用可能なメモリを使い切ることがあり、その場合は短いクリップにすると通りやすくなります。また、ブラウザがデコードできないコーデックを使った素材は、いったん一般的な形式に変換してから読み込むとたいてい解決します。