• 締切済み

音声データのリアルタイム処理

「マイクなどからPCに音声データを入力し そのデータにハイパスフィルタをかけ、リアルタイムでスピーカに出力する」 という課題をC言語かC++を使ってやらなくてはならないのですが、 音声データのCやC++での扱い方といいますか、音声データをどうCやC++に組み込むのかがわかりません。 音声データに何らかの処理をして出力する、というプログラムをCやC++で書くということはできるのでしょうか?何か特別なソフトが必要になってくるのでしょうか?

みんなの回答

  • prophetok
  • ベストアンサー率44% (13/29)
回答No.2

C++/Windowsという前提で。 課題というのは実用的なアプリケーションの開発業務ですか? 業務ならDirectSoundを使うのが、もっとも効率的、かつ実用的です。 さもなくば、Win32 APIの、MCI関連APIを使うか。 ただ、両者とも、ある程度のWindowsプログラミングの知識(COM,コールバック、マルチスレッドなどなど)が必要です。

asahadouji
質問者

お礼

おお…知らない用語がいっぱいです… 課題というのは大学の課題です。 まだ知らないことが多すぎるようです。 頑張ります。 ありがとうございました。

回答No.1

できますよ。 というか、特別なソフト等もほとんどCかC++で書かれていますので・・・ 原則、実行速度を別とすれば、C、C++で実現不可能な処理は考えにくいです。 あえて特別なソフトというのであれば、OSとOSのAPIを使うのだと思います。

asahadouji
質問者

お礼

C/C++で実現不可能な処理は考えにくいのですか… まだまだ僕は勉強不足のようです。 ありがとうございました。

関連するQ&A

  • 動画と音声の処理に強いプログラミング言語は何でしょうか?

    動画と音声の処理に強いプログラミング言語は何でしょうか? カメラとマイクを使った人工知能を持つプログラムを遊び半分で作ってみたいと思っているのですが、どのプログラミング言語で作るかまだ決めていません。 調べたところ、JavaにはJava Media Frameworkなどがありよさそうなのですが、CやC++などにも同じようなものがあるのでしょうか。また他の言語でもっと優れているものはあるでしょうか? プログラミング言語に限らず、音声ファイルをバイナリとして読み込めばいいかもしれませんが、音量や周波数などを取得するために自分でコードを書くのはちょっとつらいのでそれらをしてくれるライブラリがある言語を探しています。また、音声や動画をリアルタイムで処理したいので、それも可能なものがあったら教えて欲しいです。よろしくお願いします。

  • 音を解析???

    専門学校生です。 PICNICを使った課題が出されました。 PICNICを使ったものなら何でもよく、音声処理に興味があるので、音関連のものを作りたいと思っています。 そこで次のようなものを考えたのですが、作れるものなのかどうかを教えていただきたいです。(一番プログラムが不安です) マイクに人の声でドレミと入力したら、スピーカーから楽器の音でドレミと出てくるもの作りたいと思います。 詳しく説明しますと、ドレミという音の高さの声をマイクに入力。その音をPCで解析し、スピーカーから楽器の音でドレミと出てくるようにしたいです。 PICNICも使わなければならない課題なので、どこかで使わないといけません。(マイクもしくはスピーカーと、PCの間にでも使おうかと) 音を解析するにはプログラムを使って、入力音声を、ある周波数ごとに区切りそれを出力しようと思います。 C言語で簡単なソート、リストのプログラムくらいは作れます。C言語を習って来たのですが、別の言語のほうが作りやすそうならそちらの言語を学ぼうかと思います。 四人一班で、製作時間は長くて30時間~40時間くらいの予定です。 そこで質問です。 (1)このようなものは自分たちに作れそうですか?  無理そうなら他のものを作ろうかと思います。 (2)プログラミング言語としてはどのような言語がいいでしょうか?  プログラムもどこから手をつけていいかまったくわかないので、手のつけ方を教えていただきたいです。 (3)作成にあたってアドバイスなどお願いします。  参考になりそうなサイト、書籍等があれば教えていただきたいです。

  • リアルタイムOS(RTOS)の割り込み処理について

    RTOSではないOSの割り込み処理とRTOSの割り込み処理とでは,作成するプログラムは違うのでしょうか? 例えば,Linux PCでロボット制御のためのC言語プログラム(プログラムAとします)を作成して実行したところ,リアルタイム性が良くなかったため,リアルタイムカーネルをインストールしたとします.そうするとプログラムAを何も書き換えずにそのまま実行するとRTOSの割り込み処理がおこなわれるのでしょうか?それとも,プログラムAをRTOSの割り込み処理をするためのプログラムに書き換えないといけないというものでしょうか?(RTOS専用の割り込み処理のための関数などがあるのでしょうか?) よろしくお願いいたします.

  • マイクの出力

    今PCのカラオケソフトを使っているんですが、このソフトには自分の音声を出力する機能がないみたいです。 そこで、別の方法でマイクから入力した音声をリアルタイムにスピーカから聞こえるようにすることはできないものでしょうか?

  • LAN経由で音声出力

    手元のPCのマイクから、リアルタイム音声を数十メートル離れた場所へLAN経由でスピーカー出力をしたいのですが、このような装置や方法はありますか? リアルタイムと書きましたが、多少のタイムラグはあってもかまいません。 音声は、一方通行で良いです。

  • ライン入力をスピーカに出力

    開発言語はVC++です。 パソコンのライン又はマイク入力の音声をパソコンのスピーカーから出力したいのですが、例えば小さな音声を大きくするなど音声を加工してリアルタイムに出力させたいのです。 代表的なWINAPIを教えてください。 DirectX Audioで入力と同時に出力は可能でしょうか?

  • マイクの音声をスピーカーから…

    リアルタイムでマイクの音声をスピーカーからだすソフトは無いでしょうかご回答お願いします。m(__)m

  • 出力音声の録音

    PC上で演奏されるMIDI音声とマイクから入力される音声が、音声出力端子からは合成されて出力されますが、 このミキシングされた状態をPCに録音するのにいい方法 (フリー・シェアウェア、ソフトの使い方、プログラミング等) は何がいいのでしょうか? FlashCommunicationServerを使ってみたのですが、マイクの音声だけの録音となってしまいます。

  • 音声解析

    Visual C# 2005 Express Editionを使っています。 マイクから入力された音声を、リアルタイムで 周波数分析するプログラムのソースコードは どのように記述すればよいのでしょうか? また、周波数分析した結果から、音程を導きだすには どうすればよいのでしょうか?

  • 音声でのイベント処理

    VB6で音声入力によるイベント処理を試みようとしています. 具体的にはマイクから音声入力がある場合に(音がしたら),VBでイベントを発生させたいのですが,そのようなことは可能でしょうか. よろしくお願いします.