WAVファイルの実際のサンプルサイズとチャンネル数をどのように検出しますか?

WAVファイルの実際のサンプルサイズとチャンネル数をどのように検出しますか?

WAVファイルに関しては、この驚くべき課題に直面していますが、実際のサンプルサイズ(サンプルに含まれるビット数など)とチャンネル数を検出できません。

geek@liv-inspiron:~$ soxi file.wav

Input File     : 'file.wav'
Channels       : 2
Sample Rate    : 44100
Precision      : 16-bit
Duration       : 00:03:19.56 = 8800596 samples = 14967 CDDA sectors
File Size      : 35.2M
Bit Rate       : 1.41M
Sample Encoding: 16-bit Signed Integer PCM

MPlayer2は以下を報告します(ただし、ノイズのみが聞こえます):

geek@liv-inspiron:~$ mplayer file.wav 
MPlayer2 2.0-701-gd4c5b7f-2ubuntu2 (C) 2000-2012 MPlayer Team

Playing file.wav.
Detected file format: WAV / WAVE (Waveform Audio) (libavformat)
[wav @ 0x7f21516c9600]max_analyze_duration reached
[lavf] stream 0: audio (pcm_s16le), -aid 0
Load subtitles in .
Selected audio codec: Uncompressed PCM [pcm]
AUDIO: 44100 Hz, 2 ch, s16le, 1411.2 kbit/100.00% (ratio: 176400->176400)
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...

MPlayerは実際のサウンドを出力し、DTSフォーマットを検出するようです。

geek@liv-inspiron:~$ mplayer file.wav 
MPlayer 1.1-4.8 (C) 2000-2012 MPlayer Team

Playing file.wav.
libavformat version 54.20.3 (external)
Audio only file format detected.
Load subtitles in ./
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 54.35.0 (external)
AUDIO: 44100 Hz, 2 ch, floatle, 1411.2 kbit/50.00% (ratio: 176400->352800)
Selected audio codec: [ffdca] afm: ffmpeg (FFmpeg DTS)
==========================================================================
AO: [pulse] 44100Hz 2ch floatle (4 bytes per sample)
Video: no video
Starting playback...

実際のサウンドを出力するVLCで再生すると、次のように報告されます。

Type: Audio
Codec: DTS Audio (dts )
Channels: 3F2R/LFE
Sample rate: 44100 Hz
Bitrate: 1411 kb/s

いくつかの簡単な計算では、1411∕44.1≒31.995465があります。これは32ビットサンプルサイズを意味します。それでは16ビットですか、それとも32ビットですか?それともチャンネルあたり16ビットですか?

チャンネルは何人ですか?ステレオ2個またはDTS5個?情報がまた衝突しています...

つまり、誤ったヘッダーによって問題が発生せずにWAVファイルの技術データを正確に報告するツールはありますか?

ベストアンサー1

指摘したとおりこの問題、このタスクのための素晴らしいユーティリティは次のとおりです。メディア情報

MediaInfoは、ビデオとオーディオファイルの最も関連性の高い技術とタグデータを簡単に統合して表示します。

geek@liv-inspiron:~$ mediainfo file.wav 
General
Complete name                            : file.wav
Format                                   : Wave
File size                                : 33.6 MiB
Duration                                 : 3mn 19s
Overall bit rate mode                    : Constant
Overall bit rate                         : 1 411 Kbps

Audio
Format                                   : DTS
Format/Info                              : Digital Theater Systems
Mode                                     : 14
Format settings, Endianness              : Little
Codec ID                                 : 1
Duration                                 : 3mn 19s
Bit rate mode                            : Constant
Bit rate                                 : 1 411.2 Kbps
Channel(s)                               : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 44.1 KHz
Bit depth                                : 24 bits
Compression mode                         : Lossy
Stream size                              : 33.6 MiB (100%)

これにより、特定のファイルが6チャンネルのDTSであることを確認できますが、興味深いことに、サンプルサイズは実際には24ビットであり、奇妙なことに、圧縮モードは失われます。

このユーティリティはGUIを介しても使用できますmediainfo-gui

おすすめ記事