DTS形式の音声ファイルや、音声成分がDTSの動画の作り方や再生方法(DTS-WAVも含む)。 また、DTS形式から他形式への変換について。 このメモは[動画作成Tips] DTS・DTS-WAVからの変換 (2003年10月)の改訂版です。
DTSファイルやDTS音声の動画ファイルの再生や作成は、それほど難しくない。 DTSファイルをWAVや6ch AACなどの他形式に変換する方法も、そんなに面倒ではない。 DTS-WAVファイルも問題なく処理できる。
2003年1月 dtssource.ax (現在の dtsac3source.ax )が登場し、 DTS は GraphEdit 上に読み込めるようになった。この Gabest のフィルターは、多くの関連ソフトを豊かにした。 2003年4月ごろ Hypercube Transcoder 3 が DirectShow 経由で DTS をサポート、 2003年5月、azidts により BeSweet でもDTSを読み込めるようになった。 Hypercube Transcoder の作者も同時期、多くのDTS関連ツールを公開した。 これらは、基本的に、商用のソフトDVDプレーヤーのコンポーネントに依存していた。
2004年2月、フリーの libdts の登場で、PC上でのDTS再生環境は急激に整ってきた。 もはや Cyberlink や InterVideo がなくても、完全フリーでDTSを処理できるようになった。 VLCに実装されたと思ったら、すぐMPCにも内蔵された。
フリーで再生可能になった以上、空間的な広さを感じさせるDTSのサウンドを楽しむには、 むやみにデコードせず、DTSはDTSのまま利用することが理想的だ。 再生時にはどうせステレオにダウンミックスすると100%分かっている場合には、ダウンミックスした状態で再圧縮したほうが、 サイズ的にはトクになる。高レートのAACなどを使えば、ビットは可逆ではないが耳には可逆の「透明な」エンコードも可能だ。 5.1chのデバイスがある場合でも、サイズを稼ぎたければ5.1chのAACなどにトランスコードする、ということもあるが、 5.1から5.1の場合は、さすがにDTSのままにしておくほうが音質のパフォーマンスは高いだろう。
DVDの場合、DTSがあるものは通常、同じ音声がAC3形式でもあるはずだから、 あえてDTS形式のトラックを利用するというのはそれなりの目的意識があってのことと思う。 「同じ音声ならAC3形式のほうを使ったほうがいいのか、DTS形式のほうがいいのか」というのも悩ましい問題だ。 DTSは潜在的にはAC3より優秀かもしれないが、 実際問題、現在、PC上ではデコーダが16-bitにデコードしてしまうことが多い。 AC3なら容易に24-bit以上で中間処理できる。 そのため、ステレオにダウンミックスする用途では、AC3を元にしたほうが、かえって高解像度で処理できる可能性も高い。 他方、Dolby Headphone や TruSurroundXT などの目的に特化したデコーダオプションを使ってダウンミックスしたDTSの空間感覚も捨てがたい、 と感じるかたもおられるかもしれない。
DTSファイルまたはDTS音声の動画ファイルを Windows マシンで再生するには、ソフトDVDプレーヤー(PowerDVDまたはWinDVD)を使う方法、DirectShowを使う方法、MPCを使う方法、 VLCを使う方法がある。 このうちVLCはクロスプラットフォームで、 Windows 以外でも使える。
DirectShow を使う方法とは、 Guliverkli の AVI <-> AC3/DTS Filter を経由して、 ソフトDVDプレーヤーのコンポーネント(Cyberlink PowerDVD CLAUD.ax または InterVideo WinDVD iviaudio.ax)を 任意のDSプレーヤー(WMPなど)から呼び出せるようにするものだ(一部不具合もある)。 これらソフトDVDプレーヤーはフリーではない。 DVDプレーヤー本体がインストールされていなくても必要なコンポーネントを登録すれば「ある程度」動作する面もある。 いずれにせよ、regsvr32 を使えることが前提となる。
単にDTSを再生したいだけなら、MPCかVLCを使うのがいちばん早い。 何もしなくても、内蔵のフィルターで、自前再生できる。(MPCは6.4.7.8現在DTS-WAVには非対応。)
DTS形式の音声をそのまま動画ファイルにMUXするのは、MMGやVDMなどを使って普通にできる。
6つのWAVファイルを出発点にDTSエンコードを行う方法は、 執筆時点ではフリーではできないが、 SurCode DVD DTS がある。 DTS、DTS-WAVのほか、Compactと呼ばれる.cptという形式で保存することもできる。 CPTファイルがどういうものかは未詳だが、DTSと同じフィルタで再生でき、 ヘッダ構造も.dtsとほとんど同じだ(CPTは、 Macの古い書庫形式など、他でも使われる拡張子だが、もちろん無関係)。
2004年2月15日現在、4つの方法がある。さらに第5の方法として、遠からず foobar2000 でもDTSからの変換ができるようになると予想される。
どれもフリーウェアだが、すべてフリーでできるのはVLCだけで、 他の3つは、Cyberlink か InterVideo の少なくとも一方がないと使えない。 どの方法でもDTSからWAVへ変換できる。WAVに変換できれば、当然それを経由して他形式にも変換できる。 一部は直接変換も可能だ。しかし、方法によって、微妙な違いがある。
いわゆる96/24、つまり 96kHz/24-bit の高解像度DTSは、もちろん24-bitを基本としているが、 これはあくまで拡張仕様であって、基本仕様のDTS (Core Audio)は、入力PCM解像度として、16/20/24-bit の3タイプがある。 フレームヘッダの3ビット幅の PCMR (Source PCM Resolution)フィールドで区別される。 音楽スタジオで作られる以上、基本的には24-bitの入力をエンコードしていると考えられる (一次仕様書 ETSI TS 102 114 V1.2.1 の説明図でもそうなっている)。 An Overview of the Coherent Acoustics Coding System (PDF)の説明では、1チャンネルあたり32~96kbpsのとき20-bit、 それ以上のときは24-bitでサンプリングする、とある。 AudioCodingWikiでは、 DVDのDTSは20-bitで作られているとしているが、手元にあるDVDからのサンプルは、DTS Parser にかけると 48 khz, 24-bit だ。 いずれにせよ、一般に16-bitより高い解像度があるし、 たとえもともとが16-bitであっても、余計な計算誤差をなくすために中間は過剰な精度で処理したいという要求がある。
残念ながら、PC用のデコーダの大半はDTSを16-bit WAVにデコードする。 現在、libdts だけが 32-bit で出力できるが、このデコーダはまだ完成度が低く、高度な音響効果も使えない。
DTSファイルのなかには5.1chよりチャンネルが多いものもある。 いつも「データとしては6つのWAVと等価」とは限らない。
VLCを使う場合以外、 Cyberlink PowerDVD CLAUD.ax または InterVideo WinDVD iviaudio.ax の少なくともどちらかは、 自由に使える状態になっていなければならない。WinDVD Platinum 5 の場合、DTSサポートも含めてレジストしておく。 ステレオにダウンミックスする場合と、 5.1ch(つまり6ch)で出力する場合とで、デコーダの設定が一般に異なるので間違えないよう注意。 さらに、Guliverkli の DTS/AC3 Source (dtsac3source.ax)も必須。 regsvr32 しておく。
例えば現在のMPCでは6-ch WAVは開けないから、変換成功したかどうかMPCでチェックしようとするといつもエラーと言われて悩むことになる。 確認にはfoobar2000 のような高機能のプレーヤーか、またはオーディオエディタを使おう。 MPCの内蔵フィルタは現在、DTS-WAVも再生できない。
100%のわずか手前で止まってしまったり、100%を超過したりすることがあるが、 正しく変換できていれば問題ない。
GraphEditの基本操作を既に知っているものとする。
Doom9 から落とせる GraphEdit は既に DirectX 9版になっている。 WAVDEST.AX が同梱されているので、必ずこれを regsvr32 すること。
以上の準備がすんだら、DTSファイル→デコーダ→WAVDEST→出力ファイルの順に結線し、 デコーダの上で右クリックして必要な設定をしてから、グラフを走らせて変換する。 デコーダはお好みしだいで、Cyberlink でも InterVideo でも良い。
この場合 WinDVD Platinum 5 が必要。PowerDVD のフィルタでは動作しない。
doom9 のダウンロードページで Audio Tools を全部表示させて、azidts を見つけてダウンロード。 dspguru から、BeSweet と BeSweetGUI の最新版をとってきて、 適当なフォルダに解凍する。 この解凍したフォルダのなかに、BeSweet というサブフォルダと、 AziDTS というサブフォルダを自分で作る。 そして、前者に BeSweetv**.zip を解凍した中身を全部入れ、 後者に azidts の書庫の中身を全部入れる。さらに、必須ではないが、最新版の BeSweet.dll を使いたい場合は、 別にダウンロードして、サブフォルダ AziDTS 内の同名ファイルの上に上書きコピーする。
以上の状態で、BeSweetGUIを起動し、ウィザードモードを選択、 ウィザードが出るので、その上に変換元のDTSファイルをドラッグ&ドロップして、 後はウィザードに従って変換先の形式を選び、GOを押せば変換される。
Hypercube の操作は直感的で分かりやすい。 最初に注意したように、ステレオで出力する場合と、6chで出力する場合では、デコーダの設定が一般に異なる。 このツールでは、デコーダの設定は DirectShow Filter Graph 欄でフィルタを選択、右クリック→ Settings にて行う。
別記事「VLCによるDTS→5.1 WAV (16/32-bit)変換」参照。
2004年3月5日(速報) DTSdec コマンドラインDTSデコーダ: DTSがますます身近に
数文字タイプするだけで一気に DTS→WAV 。数ヶ月前から見ると夢のようです。
簡易的ですが、これで変換できます。 GraphEdit、AziDTS+BeSweet、Hypercube、VLCに続く5番目のDTS→WAV変換法。 今のところこんなものですが、将来が楽しみ。 注意事項としてファイルに書き出す場合 > out.wav のように明示的にリダイレクトしてください。 そうしない場合、lame みたいに自動で in.dts.wav を作ってくれると思いきや、 バイナリストリームを標準出力(DOS窓)に流されてひどい目に遭います。
hypercubemx.free.frにツールがある。 手元の検証例では、WAV2DTSより、DTSParserが良かった。 変換元の.wavを.dtsにリネームしてDTSParserにかけて.fixed.dtsを得れば、 以下は基本の手順となる。
VLCを使って、DTSを16ビット、32ビットの6チャンネルWAVに変換するテスト。
2004年2月10日付け VLC Media Player 0.7.1 Test 1 は、GPLの dtsdec/libdts によって、 オープンソースでは初の DTS 再生ができるプレーヤーとなった。 libdts は開発初期段階 v0.0.1 であり、 完成されたものではないが、既に十分に実用になる。 これまでフリーでは不可能だったDTS再生ができる (単体のDTSファイルや、DTS音声のDVDやMKVなど。DTS WAVもサポートされているようだ)。
それだけではなく、 これまでフリーでは不可能だった DTS→WAV 変換も可能になった。 しかも16ビットWAVだけでなく、高解像度WAV (32-bit float など) への変換まで可能だ。 これは今まで、有償の WinDVD Platinum 5 を使っても不可能であった(16-bit でしか出力できなかった)。 変換結果には、少なくとも、聞くに堪えないような大きな不具合はない。 32ビットを使うのは最高精度の変換のためだから、本当に厳密に問題なく変換できているかどうかは、 さらに検証が必要だ。16ビットWAVへの変換は、既に実用目的で利用も可能だろう。
まだ不安定である(世界で初めての)フリーDTSデコーダをさっそく試してみたので、 ご報告します。 将来的には、もっと安定して、DTSからの変換が一般向けになる可能性が高いが、 現時点では、このメモは内容を理解できるかたのみを対象としています。
DTSファイルや、DTS音声のDVD、DTS音声のMKVファイルは、単にオープンすれば(そしてDVDではトラックを選択すれば)再生できる。
一部動作に不安定なところがあるので、おかしくなったら設定をクリアして再起動するとか、 細かい設定変更が反映されないときは、わざと大きな変更をしてから戻してみるとか、 不具合については工夫して乗り切ってほしい。
Settings | Preferences で、まず左下の Advanced options をチェックしてすべてのオプションをコントロールできるようにする。
General settings の Audio output module を File audio output にすることで、 再生をファイル出力できる。最初は Default のままで、とりあえず再生して音が鳴ることを確認してから、 File audio output を選択。 Channel mixer は Default で大丈夫のようだが、 それで不具合があるようなら DTS Coherent Acoustic Audio Decoder を選択してみてもいいだろう。
Modules | audio filter | dtstofloat32 の DTS dynamic rance compression は DRC を使いたい場合には有効にする。 ファイル出力の場合は無効が適切とも考えられる。
Modules | audio output | aout_file にて、 出力形式と、出力ファイル名を指定する。Output channels number はデフォルトの 0 で無変換(つまり6チャンネル)となる。Add wave header はデフォルトでオンになっているはずだ。
あとは、これで再生すればいい。
疑問点: LFE(第6チャンネル; サブウーファー)は、通常のPCのステレオ環境では、そのままでは音量が大きすぎる。 本来、重低音を担当する部分だが、WAVのデータとしては、低音だけでなく、 かなり高い周波数まで入っていて、それがチリチリしたノイズとして感じられる。 DTSのサブウーファー部分のデータは、デジタルとしては高い周波数も入っていて間違いでないのだろうか。 それとももしかしてWAVに変換するときの問題なのだろうか……。 6CH WAVをステレオヘッドフォンで聴くとして(この前提自体がおかしいのだろうが)、 この問題にどう対応するのがいいだろうか。 たぶん、2CHへのダウンミックスのアルゴリズムで対応するべき問題だろう。 ローパスをかけたり-30dBくらいに絞ったり、いっそサブウーファーのチャンネルは省略すれば、 ステレオヘッドフォンに最適化された状態になるかもしれないが、 正しい6CHのデバイスで再生するときに、それでは忠実性が失われると思われる。 オーディオに詳しいかたの助言をお願いします。 (そもそも他形式に変換せず、 DTSはDTSのままで、こうした効果をいろいろに利用できるDTSデコーダを使うのがたぶん最善。)
2004年2月12日 VLC media player が DTS サポート! 号外! 号外! 大ニュース! dtsdec 0.0.1 - フリーのDTSデコーダ登場! しかも DTStoFloat32 だよ!!
VLC (旧称VideoLAN Clientの略。現在の正式名は VLC Media Player)はオープンソース、クロスプラットフォームのフリーの高機能マルチメディア・DVDプレーヤー。
リージョンコードに左右されないので世界中のDVDを楽しめること、
商用の重いソフトDVDプレーヤーと違い軽くてシンプルで清潔、
などなど、おすすめのソフトDVDプレーヤーなのですが、これまでDTSが再生できないという弱点がありました。
ところが、ついにDTSデコーダがGPLに。
dtsdec/libdts。
まだテスト段階です。
http://download.videolan.org/pub/testing/vlc-0.7.1-test1/
VLCは、メディアプレーヤーとしてはインターフェイスがちょっと独特で慣れないと使いにくいのですが、 ソフトDVDプレーヤーはインターフェイスが変なものが多いので、それを思えば、これはシンプルだと思います。
DTS音声再生できました。
(メニューでA52とあるのはAC3の正式名称)
これまでDTSの処理はけっこう大変でした(別記事「DTSファイルの変換」)。 DirectShow に乗せるには WinDVD (Audio Booster Pack) + DTS/AC3 Source + azidts ということで、 ほかに Hypercube Transcoder 系もあったものの、グラフ内の InterVideo Audio Decoder が有料のため、 従来、フリーでは再生できなかったのです。 もしこれで再生以外にも道が開けるとしたらすごいです。 この dtsdec/libdts は、これからのPC用動画の世界にまた新しい可能性を加えてくれるのではと期待大。 特にこれまで DTS→24/32ビットWAV の方法がないことが、 マニアには気になる問題だったかと。
誰かがドアをノックした。
「はい。どなた?」
「ナニカ~」
「お名前をおっしゃってくださいな」
「ナニカ!」
「あなたのお名前をうかがいたいんですけど?」
「だから、ナニカって言ってるでしょう」
両者黙りこくる。長い間。おもむろにナニカは切り出す。
「えーと、うにゅう?」
「いえ、違いますよ!」
「誰? 名前言ってよ?」
「わたしの名前? ――矢田」
「なぜ?」
「は? なぜって何が?」
「なんで名前を教えてくれないんですか」
「今言いましたけど?」
「嫌だって言わなかった?」
「ええ、矢田って言いましたよ」
「でしょ!」
「ですよ。満足?」
「えっ? もちろん、嫌だ~!」
「良かった。で、そちらさんは」
「ナ・ニ・カ! で、あなたは?」
「もうハッキリしてよ。あなたの名前は何なのよ!?」
「わたしの名前はナニカ!」
「わたしが知ってるわけないでしょう、そんなこと。知らないから尋ねてるんじゃないの」
「何なんですか。何度も何度も同じことを言わせて。そのくせそっちは名乗らない」
「それはこっちの台詞です。こっちが何度も名乗っているのに、すかした態度で」
「もう、ナニカ、わけ分かんないよ、嫌だ……」
「ほら、わたしの名前を知っているじゃないですか」
「知るわけないでしょ。もう、嫌だ……」
「知るわけないなら、なぜ矢田、矢田と連呼するんですか」
「言ってることが、分からないからじゃない!」
沈黙
「あなたの名前は何か? って聞いてるんです!」
「ほーら、わたしの名前をちゃんと知ってるじゃない」
「だから、何か?、って聞いてるんです」
「だから、そうだ、って言ってるんです」