- ベストアンサー
オーディオデータの意味
こんにちは、 音声データ、waveファイルを数値化してグラフ化したいのですが、 数値化したデータで、どちらかが振幅、どちらかが時間とでるのかと 思っていたのですが、どちらも時間と思しき数値ではありません。 実際、片方をx軸、片方をy軸にしても音声グラフがあらわれません。 逆に、両方ともy値としてプロットすると音声グラフが現れます。 音声データでは、二つの数値は何を意味するのでしょうか・・・ 説明が下手で申し訳ありません。waveファイルをMatlabのwavereadというコマンドで得たデータでして、それをこちらへ添付しました。 大変基本的なことかもしれませんが、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
得られたデータが2列、とは、単にステレオのWaveデータを取得しただけじゃありませんか? サンプリング周波数、ビットレート、ビット深度、のそれぞれの関係は、ざっくり言えば、 サンプリング周波数(1秒間をいくつ区切るか)×ビット深度(1サンプルをどれだけの幅で表現するか)=ビットレート(一秒間あたりのデータ量) です。 wavereadじゃなくwavreadですよね? http://infoshako.sk.tsukuba.ac.jp/InfoRes/jdoc/MATLAB5/jhelp/techdoc/ref/wavread.html このソフトは使ったことありませんが、これを見る限りサンプリングレートの数字は出力しないような気がします。 >Bit rateというのが記載があり、これが1536kbps >一秒間のデータで、49632のデータ数ありました。 この数字は正確に1秒間、というわけではないんですね? ビデオから適当にほぼ1秒、ということだと、おそらく48kHzのサンプリングレート、ステレオ(2チャンネル)、ビット深度(サンプルサイズ)16bit、に近い数字ですね。 ビデオの場合、音声が48kHzのサンプリングレートというのは一般的です。 48000×32(片チャンネル16bitステレオ)=1536000 で、ビットレートの計算は合います。 サンプリングレート等の情報はiTunesのような一般的なプレーヤでも表示できます。 iTunesの場合、登録した曲を選択して右クリック>プロパティ、の「概要」タブ iTunesの場合、サンプリングレート=サンプルレートとなります。
その他の回答 (2)
- softbankHawks
- ベストアンサー率66% (1057/1598)
#2です。 時間を取得したい、ということですが、すでに取得してるじゃありませんか。 サンプリング周波数(サンプリングレート)を取得した時点で、それは時間軸の情報です。 (wavreadで直接取得できないなら、他のソフトであらかじめ調べればいいだけの話。) サンプリング周波数が48kHzとわかっているなら、データを48000個カウントすれば、それで1秒です。 つまり、48サンプル毎に1ミリ秒。 一般的なCDの音声の場合、サンプリング周波数は44.1kHzですから、441サンプル毎に10ミリ秒。 単純な割り算です。 # ちなみに、Matlabにもwavreadにも詳しくはないです。 # おかげさまで今日初めてこういうソフトがあることを知りました。興味深いソフトですね。
添付されたデータが存在しないので、一般論ですが、wavファイル(PCMデータ)には、振幅しか記録されていません。では時間軸はどこにあるのかというと、それはデータの並びそのものが示します。デジタルデータは全てサンプリング周波数に従って量子化されるため、CDであれば44.1KHz=44100Hzで量子化され、1秒あたり44100個のデータが存在します。このデータの並び(の数)が時間軸となるわけです。88200個データがあれば、それは2秒になりますね。 当然ながら、サンプリング周波数が変われば、1秒あたりのデータの個数も変わります。
お礼
siremono2496様、 早速回答頂きありがとう御座います。 添付について、テキストファイルが添付できないようだったため 諦めておりました。すみません。 なるほど、時間は現れないのですね。 だから値をy軸にプロットしてx軸は並びだけにすると 音声グラフが得られるのですね。ひとつ気になることが御座います。 得られたデータでは、一列ではなく、二列でして、 一方が振幅だとすると、もう片方は何でしょうか・・・ もう一点教えて下さい。サンプリング周波数はファイルのどれを見れば わかりますでしょうか。wavファイルのプロパティーを見ても記載がされていないようです。Bit rateというのが記載があり、これが1536kbps となっておりますが、これは何でしょうか。サンプリング周波数と関係がありますでしょうか。 ちなみに、一秒間のデータで、49632のデータ数ありました。一秒のビデオ(つまり30フレーム)からとった音声ファイルでも、音声としては29.99999とか30.9999などの範囲かも知れないわけですね。間違っていたらご指摘ください。
お礼
完璧です。ようやくわかりました!!ありがとう御座います。
補足
全く脱線しますが、Matlabにもお詳しいご様子なのでお伺いさせて下さい。とても単純なことなのかもしれませんが、Matlabでそのままグラフを描くと、X軸が時間ではなく、なんというのでしょうか、サンプルの順番になりますね。でも実際表記したいのは時間でありまして、なんとかそれを表記したいのですが、いかがでしょうか。すみません、Matlab初心者なもので、なにとぞよろしくお願いします。