2013年10月26日土曜日

wavファイルの書き出しは要注意 [CUBASE][StudioOne]

Attention to exporting wav files
拡張子の「wav」は一般的に音声ファイルに使われます。
wavファイルはメタ情報を含むことができ、メタ情報の内容により WAVBroadcast Wave Format に区別されるようです。

WAV (ウィキペディア)
http://ja.wikipedia.org/wiki/WAV
Broadcast Wave Format (ウィキペディア)
http://ja.wikipedia.org/wiki/Broadcast_Wave_Format

この2種類のフォーマットはメタ情報が異なりますが拡張子が同じなので簡単には区別できません。
どちらもWindows Media Playerで再生することができるので区別する必要がないように思えます。

ところが一部のBroadcast Wave FormatファイルはWindows サウンド設定で再生できない問題があるようです。
プロ生ちゃん音声が Windows サウンド設定で再生されない問題
http://pronama.azurewebsites.net/2013/09/09/sound/

※ 特定の製品について宣伝や中傷をするものではありません。


CUBASE や StudioOne で書き出したファイルは再生できる

CUBASE7ではミックスダウンの書き出し画面でBroadcast Wave Formatとしてファイルを書き出すことができます。
blog.fujiu.jp wavファイルの書き出しは要注意
StudioOne2.6はソング設定からメタ情報の設定ができますが、wavファイルは必ずBroadcast Wave Formatとしてエクスポートされるようです。
CUBASE7 や StudioOne2.6 で書き出したBroadcast Wave Formatのファイルはサウンド設定で再生することができました。

Windowsサウンド設定で再生できなかったファイルはProToolsで書き出されたようでした。
ProToolsのバージョンやエディション、動作環境などはすべて不明です。


なぜWindowsサウンド設定で再生されないのか

プロ生ちゃん音声がWindowsサウンド設定で再生できない原因は不明です。
ですがyouandiさんの日記でPlaySound関数で再生できないことが指摘されています。
プロ生ちゃんの音声がWindows サウンド設定で再生されない問題 - 桜、抹茶、白、日記
http://d.hatena.ne.jp/youandi/20130911/p1

さらにウィキペディアのRIFFの項目に興味深いことが書かれています。
http://ja.wikipedia.org/wiki/RIFF
情報源は不明ですがこのブログを書いている時点では「マイクロソフトのRIFFに関する文書は分散していて把握しきれないことも多く...」とのことです。

手元にProToolsがないので検証することができませんがProToolsのメタ情報かPlaySound関数のどちらかに不具合があるのかもしれません

2015年8月、Protools Firstで検証できました。
ProTools First のwavファイルはPlaySound関数で再生できるか?


Broadcast Wave FormatをWAVに変換する方法

Broadcast Wave Formatファイルのメタ情報を最小限にしてしまえばWAVファイルと同じになるはずです。
フリーウェアのSound Engine Freeが簡単です。
Broadcast Wave Formatのファイルをwavファイルとして保存し直せば変換できます。
Sound Engine Freeのダウンロードはこちらから
http://soundengine.jp/software/soundengine/
CUBASE7でも可能です。
「オーディオミックスダウン書出し」画面でWaveファイルのファイル形式を選び
オフ - Broadcast Waveチャンクを挿入
オン - Wave拡張フォーマットを使用しない
オフ - iXMLチャンクを挿入
オフ - テンポ設定を挿入
の設定で書き出すと変換できます。


WAV と Broadcast Wave Format を区別する方法

バイナリーエディターで開いてメタ情報に bext という文字列があればBroadcast Wave Formatです。(ウィキペディアが正しければ)
CUBASE7ならもっと簡単です。
Media Bayの結果リスト(Search Results)セクションの「File Type」(初期設定では一番右の列)に表示されます。
ちなみにStudioOne2.6 Artist はWAVとBroadcast Wave Formatの表示の区別はないようです。どちらも「Waveファイル」と表示されます。

wavファイルがこんなに複雑だとは知りませんでした。他にも不都合があるかもしれません。
配布目的のwavファイルを書き出すときはサンプリングレートやビット深度のほかメタ情報にも要注意です。


関連ブログ

[Android] SoundPoolのオーディオ再生ミスをなくす
[Unity] オーディオの音量が小さい
[Windows] オーディオ再生中にノイズが鳴る、途切れる
[PlasStation Mobile] オーディオファイルを再生するには

以上、参考になれば幸いです。

2 件のコメント:

  1. はじめまして。

    現在、 Studio One ARTIST piapro edition を使用しており、同様の問題で悩んでおりましたが、本記事にて無事に解決できました。

    有用な情報を公開して頂き、誠にありがとうございます。

    返信削除
    返信
    1. コメントありがとうございます

      削除