ある周波数をファイルに出力

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
Mario2
記事: 205
登録日時: 2005年5月31日(火) 13:31
お住まい: 大阪市
連絡する:

ある周波数をファイルに出力

#1 投稿記事 by Mario2 »

久しぶりに質問します。^^;

タイトル通り、ある指定した周波数を数秒(仮に2秒)、wav形式でファイルに保存する方法を探しています。
自分で色々調べてみると、waveOut関係のAPIを使えば可能と言う所まではわかったのですが、それ以降がよくわかりませんでした。

調べると、WAVEFORMATEX構造体・WAVEHDR構造体とかを使えば可能みたいなのですが、Hz指定、ファイル出力方法がわかりません。(Hz指定はWAVEFORMATEXの".nSamplesPerSec"で可能なのかもしれませんが・・・)

要するに、http://masudayoshihiro.jp/software/mami ... 法を探しているんです

もしよろしければ、ご存知の方、よろしくお願いします。
最悪、『Wave作成手順・Hz指定方法・ファイル出力方法』だけでも分かれば、後は自力でがんばってみようかと思っています。
tak
記事: 162
登録日時: 2005年5月31日(火) 07:49

#2 投稿記事 by tak »

以前、僕も同じ処理を扱ったことがあります。
その時の僕の経験を、少しばかり。

僕のアプローチは「生の波形データを wav 形式で直接出力する」というものでした。
そのために Wave Format でググると、まさに目的のページが多数引っかかりました。
プログラムは、これらの情報を参考にすれば難なく組めましたよ。
ヘッダを適切に設定すれば、あとは数値データの羅列ですから、とても簡単です。

ただ残念なことに、プログラムはC言語で記述しました…。
ファイルサーバ等を持っていないので電子メールになりますが、それでもよろしければソースをお渡ししましょうか?
NoWest
記事: 264
登録日時: 2005年5月31日(火) 10:52
お住まい: 高知
連絡する:

#3 投稿記事 by NoWest »

この掲示板でwave系のAPIが話題になった時に、
私がサンプルを投稿してますので検索してみてください。

その時は録音と再生、及び保存に対応したものを作成しました。
MMIO系のAPIをつかって保存を実装しているので
その辺りをチェックしてください。
Mario2
記事: 205
登録日時: 2005年5月31日(火) 13:31
お住まい: 大阪市
連絡する:

#4 投稿記事 by Mario2 »

takさん、NoWestさん、回答ありがとうございます。

ここの掲示板も検索してたんですが、思い切り見落としてしまってたみたいです。
先ほど、NoWestさんの書き込みを参照してみたのですが、多少は理解できたものの、そこからの改良法が思いつきませんでした。

takさん、多少なりC言語は理解できる(コーディング出来るほどではない)ので、もしよろしければソースを送ってもらえないでしょうか?

takさんの(C言語)コードを参考にしつつ、NoWestさんの書き込み内容を多少なりでも理解し、今回の質問を解決・処理内容の理解をしようと思います。
返信する