WAVファイルの構造について

このQ&Aのポイント
  • WAVファイルの構造について詳しく調査しました。再生時間2分、サンプリングレート22050、量子化ビット数16ビット、2チャンネルのデータがある場合、1分の時点から再生する方法を試みましたが、うまくいきませんでした。
  • 再生させたい時点からのデータ量を計算した結果、半分の5292000バイトから再生する必要があるとわかりました。しかし、この方法だと1分の時点から再生されませんでした。
  • さらに調査した結果、途中から再生させる場合は、ファイルのデータ構造上、真ん中から再生させることはできないことがわかりました。このため、別の方法を検討する必要があります。
回答を見る
  • ベストアンサー

WAVファイルの構造について

http://www.kk.iij4u.or.jp/~kondo/wave/ のページを参考にし、WAVファイルの途中から再生させることを試みています。 例えば再生時間2分、サンプリングレート22050、量子化ビット数16ビット、2チャンネルのデータがあったとします。 これを1分の時点から再生したいとします。 ファイルのデータ量は 1秒で必要なバイト数=(量子化ビット数÷8)×チャンネル数 × サンプリング周波数 n秒で必要なバイト数=1秒で必要なバイト数 × n 88200=16÷8×2×22050 10584000=88200×120 10584000がdata部全体のサイズなので、1分の時点から再生させるために半分の5292000から再生しようとしています。しかしこれでは1分の時点から再生されません。 そもそも、途中から再生させようとするときに、真ん中から再生させようとしたときにdata部の真ん中から再生させようとしていること事態が間違いなのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

あってますよ。 ちゃんとヘッダの分とか足してますか? あと、そうやって決めうちで計算する のではなくヘッダの中に データサイズやビットレートが入っているのでそれを参照してください。

miyamura_2005
質問者

補足

ヘッダー分も考慮しています。 実際のプログラムではデータサイズ、ビットレート等は ヘッダーより取ってくるようにしています。 それなのにうまくいきません。他に何か考えられることは無いでしょうか?

その他の回答 (1)

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.2

リニアPCM・再生時間2分・データが連続(データチャンクが1つだけ)のwavデータがある場合、そのデータ総量の半分の場所(ただしサンプル境界を跨がないように調整)から再生すれば、1分経過時点からの再生になります。 データ総量の半分の場所から再生したのに1分経過時点からの再生になっていないのであれば、前提条件か計算に誤りがあります。 http://oshiete1.goo.ne.jp/kotaeru.php3?qid=1617051 でも指摘しましたが、ヘッダ情報と実際のデータが一致しているかどうかを「あのツールではうまくいった」とか「この方法ではエラーにならない」とかではなく、「ご自分の目で」確かめてみてはいかがでしょうか。

関連するQ&A

  • LINUXでのWAV再生・停止・一時停止について

    LinuxでC言語を使ってWAVファイルの再生・停止・一時停止をしようとしています。 再生・停止は行えるのですが、一時停止後、停止したところから再生がうまくいきません。 再生した秒数(ミリ秒まで)を測って、再生し終わった秒数からバイト数を求めて、その分を前詰めして再生させようとしています。  WAVファイルヘッダー    再生済み    未再生 ├──────────┼──────┼──────┤            ↓一時停止後再生  WAVファイルヘッダー    未再生 ├──────────┼──────┤ 再生済みバイト数の求め方は バイト数=再生時間×8÷ビット数÷サンプリングレート÷チャンネル数 で求めています。 理論上この式であっていると思うのですが、ずれてしまいます。なぜか上記バイト数を÷2するとちょうど良いぐらいになります。 よろしくお願いします。

  • MP3のビットレートについて

    WAVEファイルのビットレートは (サンプリングレート)×(サンプリングサイズ)×(チャンネル数)=1秒あたりのデータ量(ビットレート) というのはよく聞くことですが、 MP3のビットレートはどのように決められているのですか? まったく見当違いな質問かもしれませんがよろしくお願いします。

  • 用語の使い方について(サンプリング周波数、ビットレートなど)

    例えば音声データを録音装置にマイク入力で取り込む際に「サンプリング周波数」や「量子化ビット」が○○KHz、○○bitというふうに使いますが、スピーカーに出力する際にも「サンプリング周波数」や「量子化ビット」「ビットレート」という用語は使われますか?(おかしくない使い方ですか?) よろしくお願いします。

  • CD→WAVE時のアップサンプリングについて

    CDの音源をソフトウェアを用いてWAVEファイルに変換しようとしているのですが、その際のアップサンプリングについて質問があります。 (1)CDの音源はサンプリング周波数44.1kHz 量子化ビット数16bitで、この音源をWAVEファイルに変換する際にサンプリング周波数88.2kHz 量子化ビット数24bitにアップサンプリングすると44.1kHz 16bitで変換するよりも音質的には良くなるのでしょうか? (2)量子化ビット数をあげればよくなりそうな気がするのですが、サンプリング周波数を上げて変換するメリットはありますでしょうか? (3)再生時のオーディオカードの設定では96kHz 26bitで再生するように設定しているのですが、この場合CDの音源をどのようなサンプリング周波数に設定してWAVEに変換すると音質的に良くなりますでしょうか? 44.1kHzの2倍は88.2kHzですが再生の際のサンプリング周波数が96kHzであるため、整数倍にはどうしてもならず、このCDの音源をWAVEファイルに変換する時にどのサンプリング周波数で変換すると最も良いか悩んでおります。 どなたか詳しい方ご回答をよろしくお願いいたします。

  • 音楽CD - ビットレートと記憶容量の謎

    一般に使用されている音楽CDのサウンドデータは、「1秒当たりのサンプリング数44100回、量子化ビット数16」と聞きました。 この値を元に電卓を叩いてみると、1秒あたりのデータのバイト数は、 44100(Hz) × 16(bits) × 2(Ch) ÷ 8(bits/byte) = 176400(bytes) となります。 したがって、80分のサウンドデータがあったとすると、そのサイズは 176400(bytes/s) × 60(s) × 80(min) = 846720000(bytes) となり、 846720000(bytes) = 826875(kilobytes) ≒ 807.5(megabytes) です。 ということは、仮に80分の音楽CDを作るとした場合、データサイズは800メガバイト強になる計算です。 しかし、実際には、700メガバイトのCD-Rに約80分の音楽が記録でき、CDプレーヤで再生できてしまいます。 一体この矛盾はどこから来るのでしょうか? どなたかお教えいただければ幸いです。

  • オーディオファイル作成まで?

    標準的なCDは標本化周波数44100Hz及び量子化ビット数16ビットでデジタル化されています。この品質で音を取り込むと、モノラルの場合10秒当たり何バイトのオーディオファイルが作れますか?計算の仕方を教えてください!!

  • CDの音質について

     「CDの音質 bit hz」で検索して、ウェブで勉強してみましたが、わかりませんでしたの、質問させていただきます。 サンプリング周波数44100、量子化ビット数16、チャネル2(ステレオ)の場合、かけ算するとビットレートは1411200bpsと求まります。  一方で、mp3では、128kbpsがCDの音質と言われています。  この関係は、どう考えればいいのでしょうか?  また、オーディオCDとして録音できないような音源ファイルがあります。例えば、ICレコーダで録音したファイルは、wave化しても、オーディオCDとして録音できません。これは、どういった理由でしょうか?(サンプリング周波数、量子ビット数等、どのパラメータを一致させる必要があるのでしょうか?)  よろしくお願いします。

  • なぜ650MBのCD-Rに74分の音楽が記録できるのでしょうか?

    音楽データについてちょっとした疑問が生じました。 音楽CDにはサンプリングレート44.1KHz、量子ビット16ビット、ステレオで記録されているとネット上のIT用語辞典に書いてありました。ということは、  1秒あたりのデータ量=44,100×16÷8×2=176,400バイト になると思います。そうであれば、  74分のデータ量=176,400×60×74=約745MB くらいになると思うんです。 でも、74分記録できるCD-Rは650MBですよね? なぜでしょう。 すごくくだらないところで計算を間違っていると思うのですが、気になってしょうがありません。どなたか教えてください。よろしくお願いします。

  • WAVEファイルが再生できません

    どなたかアドバイスをお願いします。  メモリプレーヤーでボイス録音したファイルの1つ が再生できませんでした。再生時間が0秒のままです。 ファイルサイズは16Mあります。なんとか聞ける様 にしたいのですが・・・ <使用機器> DP100(SIREN) <フォーマット> WAVE          32Kbps(ビットレート)          4bit(サンプリング)          1(チャンネル)          8KHz(サンプルレート)

  • MP3のデータ保存

    スカパーのデジタルラジオで録音したデータをMP3形式で保存したいのですが 永久保存する場合の 一般的なサンプリング周波数と 量子化ビット数を教えてください。