大容量wavファイルを, 分割してbinaryで保存したいです。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
p5a

大容量wavファイルを, 分割してbinaryで保存したいです。

#1

投稿記事 by p5a » 8年前

はじめまして。p5aです。C初心者です。
一時間以上の大容量wavファイルを, 秒単位で分割してbinary, もしくはtxtファイルで出力する具体的なコードが知りたいです。
突拍子もない質問で申し訳ありませんが、返答もらえるとうれしいです。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: 大容量wavファイルを, 分割してbinaryで保存したいです。

#2

投稿記事 by みけCAT » 8年前

p5a さんが書きました:一時間以上の大容量wavファイルを,
wavファイルといっても、いろいろな形式が存在します。
「とりあえずPCM (フォーマット番号 = 0x0001)だけ対応」「全部に対応」など、どの程度対応したいですか?
p5a さんが書きました:秒単位で分割してbinary, もしくはtxtファイルで出力する
仮にtxtファイルで出力するとして、どのようなフォーマットにしますか?
binaryでも、wavファイルにするとは限りませんね。どのようなフォーマットにしたいですか?
p5a さんが書きました:具体的なコードが知りたいです。
自分でコードを書く気はありますか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

p5a
記事: 4
登録日時: 8年前

Re: 大容量wavファイルを, 分割してbinaryで保存したいです。

#3

投稿記事 by p5a » 8年前

みけCATさん

先ほど返信を書いたので、もし重複していたらすみません。
正直なところ、みけCATさんの質問に答えられるだけの知識がなのですが、できる限り答えさせてください。
みけCAT さんが書きました:
p5a さんが書きました:一時間以上の大容量wavファイルを,
wavファイルといっても、いろいろな形式が存在します。
「とりあえずPCM (フォーマット番号 = 0x0001)だけ対応」「全部に対応」など、どの程度対応したいですか?

すべてに対応させたいと考えています。
p5a さんが書きました:秒単位で分割してbinary, もしくはtxtファイルで出力する
仮にtxtファイルで出力するとして、どのようなフォーマットにしますか?
binaryでも、wavファイルにするとは限りませんね。どのようなフォーマットにしたいですか?

すみません。わかりません。ですが、出力したデータを市販のソフトでフーリエ解析したいと思っています。
p5a さんが書きました:具体的なコードが知りたいです。
自分でコードを書く気はありますか?
今のところ自分でコードを書ける自身がまったくありませんが、何か少しでもヒントになる情報が頂ければ大変ありがたいと思います。

よろしくお願いします。

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: 大容量wavファイルを, 分割してbinaryで保存したいです。

#4

投稿記事 by YuO » 8年前

プレビューすればわかると思うのですが,引用の中に引用では無い文が入ってしまっているため,どれがみけCATさんの文でどれがp5aさんの文なのか,わかりにくいです。
quoteは適宜分割して,引用である部分のみに使う必要があります。
p5a さんが書きました:
みけCAT さんが書きました:
p5a さんが書きました:一時間以上の大容量wavファイルを,
wavファイルといっても、いろいろな形式が存在します。
「とりあえずPCM (フォーマット番号 = 0x0001)だけ対応」「全部に対応」など、どの程度対応したいですか?
すべてに対応させたいと考えています。
<mmreg.h>を見ると,WAVE_FORMAT_から始まる値は,拡張用と思しきEXTENSIBLEと開発用と思しきDEVELOPMENTを除いても265個定義されています (Windows SDK 10.0.14393.0)。
全フォーマットに対応させても,実際に使われるのはおそらくWAVE_FORMAT_PCMくらいでしょう。
それでも,全部に対応したいのでしょうか。

そもそも,RIFF形式の一種であるWAVE形式というのはコンテナであって、内部のデータはフォーマット依存である,ということを理解されていますか。
例えば,フォーマットとしてWAVE_FORMAT_MPEGLAYER3 (=0x0055) であれば,dataチャンクにはmp3データが含まれるでしょう。
p5a さんが書きました:
みけCAT さんが書きました:
p5a さんが書きました:秒単位で分割してbinary, もしくはtxtファイルで出力する
仮にtxtファイルで出力するとして、どのようなフォーマットにしますか?
binaryでも、wavファイルにするとは限りませんね。どのようなフォーマットにしたいですか?
すみません。わかりません。ですが、出力したデータを市販のソフトでフーリエ解析したいと思っています。
「わからない」ではなく,どういう形式に出力するのかをp5aさんが「決める」のです。
市販のソフトで解析するのであれば,そのソフトの入力として使える形式がどのようなものかを調べる必要があります。

p5a
記事: 4
登録日時: 8年前

Re: 大容量wavファイルを, 分割してbinaryで保存したいです。

#5

投稿記事 by p5a » 8年前

YuO さんが書きました:プレビューすればわかると思うのですが,引用の中に引用では無い文が入ってしまっているため,どれがみけCATさんの文でどれがp5aさんの文なのか,わかりにくいです。
quoteは適宜分割して,引用である部分のみに使う必要があります。
ご教示ありがとうございます。なるべく引用したい部分のみquoteしてみます。
YuO さんが書きました:<mmreg.h>を見ると,WAVE_FORMAT_から始まる値は,拡張用と思しきEXTENSIBLEと開発用と思しきDEVELOPMENTを除いても265個定義されています (Windows SDK 10.0.14393.0)。
全フォーマットに対応させても,実際に使われるのはおそらくWAVE_FORMAT_PCMくらいでしょう。
それでも,全部に対応したいのでしょうか。
あまり理解できていませんが、WAVE_FORMAT_PCMで大丈夫かなと思います。自分としては、まったく普通のWAVファイル(mp3をwavに変換したもの)を扱うつもりです。
YuO さんが書きました:そもそも,RIFF形式の一種であるWAVE形式というのはコンテナであって、内部のデータはフォーマット依存である,ということを理解されていますか。
例えば,フォーマットとしてWAVE_FORMAT_MPEGLAYER3 (=0x0055) であれば,dataチャンクにはmp3データが含まれるでしょう。
もともとmp3データをwav形式に変換したものを取り扱っていますが、フォーマット依存のことはまったく知りませんでした。もし、返答がずれていたら本当にごめんなさい。
YuO さんが書きました:「わからない」ではなく,どういう形式に出力するのかをp5aさんが「決める」のです。
市販のソフトで解析するのであれば,そのソフトの入力として使える形式がどのようなものかを調べる必要があります。
csv形式でできるのなら、大変ありがたいところです。

こんな初心者の私にも、詳細に教えてくれて本当にありがとうございます。ご意見お待ちしております。

閉鎖

“C言語何でも質問掲示板” へ戻る