前提・実現したいこと
【前提】macでC++を勉強しています。
私はまだ初心者で簡単な計算や関数しか分かってません(AtCoder灰レベル)
【実現したいこと】
C++でリアルタイムで音声入力(できれば音声解析)までしたいです
具体的には音声がなんでもいいので入力されたらあるプログラムが実行する仕組みを望んでいます
音声解析までできるのであれば音の性質(周波数、音色、振動数なんでもいい)によってプログラムの内容を変えたいです(変え方はif文を使おうと思ってます)
発生している問題・エラーメッセージ
該当のソースコード
ソースコード
試したこと
portaudioだと一度音声を録音しなければならないのでリアルタイムではできませんでした
SDKは私には難しくて、挫折してしまいました。SDKが一番いいのであればもう一度頑張ってみます
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
http://portaudio.com/docs/v19-doxydocs/api_overview.html PortAudioドキュメントによれば、デバイスからの入出力もサポートしているとあるため、リアルタイム音声処理可能なように見えます。
ありがとうございます。PortAudioで再度挑戦してみます。
PortAudioを使った結果リアルタイムで処理できなかったとのことですが、どのようなソースコードをお書きになりましたか?
誤解させてしまって申し訳ございません。コードを実際に書いたわけではなくネットで日本語で説明してあるサイトでかつリアルタイムに録音できる方法を記した記事がなかったのでそうだと判断しました。
portaudio公式に入力された音声を録音するソースコードがありますがこれではダメなのですか?
http://portaudio.com/docs/v19-doxydocs/paex__record_8c_source.html
- [ ] 情報ありがとうございます。そもそもportaudioをインストールして解凍したはずなのにportaudio/lib/.libsというディレクトリが見当たらず、libportaudio.aを確認できないため実行できないのかも知れません。
vscodeで実行しているのですが
#include "portaudio.h"
ここに波線が出ています。
1. portaudioはどのようにしてインストールされたのでしょうか。ソースコードからインストールされたのですか?それともHomebrewを使われましたか?
2. コンパイラや開発環境は何を使われていますか?
3. portaudio/lib/.libsとはどういうフォルダのことを言っているのですか?
4. portaudio.hに破線があるということはそのヘッダーファイルを見つけることができないことを意味しています。自分でインストールした場合、通常は/usr/local/includeにヘッダーファイルが、/usr/local/libにライブラリがありますので、その中にあるか確認してください。ある場合は、コンパイラやエディタが見つけることができていない状態なので、インクルードパスなどを設定しコンパイラに場所を教える必要があります
1.portaudioは以下のサイトからインストールしました。
portaudiohttp://www.portaudio.com/download.html
2.vscodeとMacのターミナルを使ってます。
3.以下のサイトの3〜5、もしくは
http://ddddakyl.blogspot.com/2017/03/macportaudio.html
以下のサイトの下の方の(mac編)の中頃
http://2ten1ryu.blog90.fc2.com/blog-category-8.html
の手順で出てくるはずのフォルダのことです。
4.どちらの確認しましたがどちらとも入っていませんでした。インストールがうまくいってないということですね。
親切に回答して頂き本当にありがとうございます。
ソースコードから入れているということですね。サイトに書いてある情報はかなり古いのでそのまま使えるか不明です。
macをお使いでしたら、特段の事情がなければ、Homebrewというインストールまでやってくれるものがありますので、それを使った方がいいと思います。
https://qiita.com/zaburo/items/29fe23c1ceb6056109fd
を参考にhomebrewを導入し、
ターミナル上で
brew install portaudio
と入力してインストールしてください。すると、/usr/local/include, /usr/local/libに諸々が入るはずです。
無事、どちらも入っていました!やっとスタートラインに立てました。ありがとうございます!
ベストアンサーに是非したいのですが、なぜかできないので少々お待ちください。
あなたの回答
tips
プレビュー