• ベストアンサー

音声の取り扱い

C++でwaveやmp3の音声をデータ(波形)で取り扱いをすることはできるでしょうか? 縦軸 振幅 横軸 時間として使いたいのですが・・・。 ご存知の方は教えていただけないでしょうか。 よろしくお願いします。

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

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

C++というか、音声データを出力(再生)するのは処理系に依存します。 WindowsならwaveOut~というAPIを使います。 (単純にwavを再生したいだけならPlaySoundというAPIがあります) データの加工や情報が欲しいだけなら、普通にバイナリデータとして開けば良いだけです。 wavに関してはヘッダ情報と音声の生データがはいっているだけの単純なものです。 http://www.kk.iij4u.or.jp/~kondo/wave/ mp3については、「午後のこ~だ」というmp3変換ツールの ソースが公開されてるのでそれを参考にしてはどうですか。 http://www.marinecat.net/free/windows/mct_free.htm

kirin3_199
質問者

お礼

wavデータはこのような方法があったのですね。 参考にさせていただきます。ありがとうございます。

その他の回答 (1)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

音声を扱うクロスプラットフォームなコードを書きたいのであれば... SDLとその周辺ライブラリを使うとか、 http://www.libsdl.org/ snackを使うとか、 http://www.speech.kth.se/snack/ いった方法が考えられます。 この類のライブラリは他にもあると思うので、いろいろ探してみても面白いでしょう。

kirin3_199
質問者

お礼

ありがとうございます。 参考にさせていただきます。

関連するQ&A

  • 音声分析のグラフ

    よく音声を読み取ったグラフをみますよね.地震波形のようなもの感じの形で,声紋のように表現されているようですが.これは,横軸は時間だと思うのですが,縦軸はなんでしょうか.振幅でしょうか? ちなみに,当然周波数がことなる波が多重で記録されるのだと思うのですが,このようなグラフでは,波の重ね合わせで多重に表現されれているのでしょうか.

  • 音声波形のスペクトラムじゃない方の名称

    イコライザーや動画制作ソフトのAviutlで表示される音声波形は,横軸に周波数帯域,縦軸に音の大きさを表示した瞬間的な波形であり,スペクトル(スペクトラム)と呼ばれる事が多いそうです. そこで,サウンドクラウドやDJ・音声編集ソフトなどで表示され.レンダリングした音声である,横軸に時間,縦軸に音の大きさをとった波形を通称なんと呼びますか? どちらも意味は違うけれど「音声波形」と呼ぶことが多く,差別化が難しいを思います.

  • エクセルで極大値を拾うには

     今エクセルで、グラフ化すると、 横軸:時間  縦軸:電圧 で sinカーブのような波形となる数値データがあります。この振幅(山)の大きさは時間によって微妙に違います。振幅の平均値を取りたいのですが、何かいい方法ありますか?要は半周期での極大値を拾って、それを平均すればよいのですが方法が分かりません。

  • 画像化のプログラム

    今画像化のプログラムを組んでいます。 画像にするのは時系列データ(波形データ)の配列です。 つまり、画像の縦軸が波形の横軸(時間orデータ数)、画像の横軸が波形データの個数になります。 この画像化のプログラムがあまり分かりません。 考えてるのは、すべてのデータから最大値を求め,それで256(色)に正規化します。 その後,TColor等を用いて画像化すると思うのですがそこからがよく分かりません。 CやC++に詳しい方、どうか宜しくお願いします。

  • 音声データについて

    WAVをMP3にエンコードするというのは、データを音声の波形の情報(名称はわかりません)にデコードしたあと、一定の法則に従って削って、再びエンコードするということでしょうか? また、もしそうだとしたら、WAVEからWAVEにエンコード(再エンコード)した場合、音声データに劣化は生じるのでしょうか? それと、よくオーディオの話で、クロックのズレの話がありましたが、これは、DDCの変換の段階でおこることなんでしょうか?

  • 音声の変換について

    WAVをMP3にエンコードするというのは、データを音声の波形の情報(名称はわかりません)にデコードしたあと、一定の法則に従って削って、再びエンコードするということでしょうか? また、もしそうだとしたら、WAVEからWAVEにエンコード(再エンコード)した場合、音声データに劣化は生じるのでしょうか? それとよくオーディオの話で、クロックのズレの話がありましたが、これは、DDCの変換の段階でおこることなんでしょうか?

  • 音声の波形編集をしたいのですが、意味が分かりません

    外部から入力した音声を録音したのですが、 入力レベルが小さかったためか音が小さいです。 波形を編集してボリュームを大きくしたいのですが、 波形をどのように編集したらよいか分かりません。 波形の編集の仕方について書いてあるところはないでしょうか? 横軸は時間、縦軸は何か分かりません。 ボリューム調整をするときにdBを入力しますが、 適当に数字を入れると波形が振り切れて 音が割れてしまいます。 数字の意味が分かりません。 ファイル形式はwav 使用ソフトはSoundEngine Free ver.2.994です。

  • 音声データから波形を画像出力したい

    音声データから波形を画像出力して利用したいのですが、そういったことが出来るWebサービスやアプリはありませんでしょうか。有料でもいいです。 調べてみたところ、MP3は圧縮がされているので不可で、WAVEは非圧縮なので出来るらしいのですが…。 よろしくお願いします。

  • 単振り子の運動で…。

    振り子の運動で空気抵抗などの影響で振幅がだんだん小さくなっていきその振幅の減少と時間との関係についての実験を行いました。 そこで今回の実験ではデータをグラフにプロットする時に縦軸を振れ幅の角度の対数、横軸を時間としていました。 何故、縦軸が対数なのでしょうか? グラフはほぼ一次関数の右肩下がりとなり見やすくなったのですが、見やすくしただけが縦軸を対数にした理由だとは思えません。 読みずらい文章になってしまいましたがよろしくお願いいたします。

  • FFTスペクトルって何ですか

    FFTAnalyzerについて質問いたします。これは、「音声、振動など様々な波形をFFTスペクトルによって解析するプログラム」ということですが、「FFTスペクトル」とは何でしょうか。素人にも分かるように説明をお願いできないでしょうか。横軸の時間経過、縦軸は何を表しているのでしょうか。無理を承知でお願いいたします。

専門家に質問してみよう