PortAudio?に関して †
PortAudio?とは? †
音声処理に便利な関数たちが集まったCライブラリです。
Windows / Mac / *nixで互換性があるコードを書くことができます。
とりあえずVR班のうち音声処理をやるときにつかうライブラリの筆頭候補です。
(嵯峨山教授の研究室もこれを使ってc++かなんかで研究してるようです。)
開発環境に関しては、どうしたもんか悩み中です。
誰かの意見が欲しい。ちなみに俺はだいたいどんなんでも大丈夫。
というか、みんなubuntu指定とかにしてしまえばいいんだろうか?
- 負荷があまり問題にならなければ、来年貸与されるパソコンにあるLinuxをco-Linuxで動かすことが考えられます。音関係でしたらcygwinのチェックはtakoがいろいろがんばってもいいです。
- そういえばco-Linuxはあんまし詳しくないです。何か参考情報があればください by harajune
- 未確認だけど情報によるとcygwin + MinGWでwindows native向けのコンパイルができるっぽい。で、portaudioはそれに対応。Visualization部分との連携は考え中だけど、OpenGL使うとするとGLの方はよくわかんない。わかんないというのはnative compileできるのかわからないということ。 by harajune
- そういえば全然関係ないのだけどtakoさんって誰のことをさしているのかがわからないorz ハンドルネームと実名とが不一致
バージョンとか †
19.061121を使おうと思います。多分V19とかかいてあります。
リファレンス †
すべての関数はportaudio.hに定義されているので、それを見ればすべてわかる(ぉぃ
一応自動的に見やすく整形したリファレンスはあるみたい
インストール手順(for windows †
まだドラフトです。おそらく何回も聞かれる気がするので、インストールしつつメモしていっています。
テスト環境はwindows xpでやってます。vista?僕はwindowsすら使わないのでvistaなんか知りません。えっと、ごめんなさい。
基本的にはこれに基づいています。
- cygwinをインストール
- 下の方にあるsetup.exeをダウンロード
- 適当なフォルダに保存(デスクトップ以外が多分いいです。多分c:¥cygwinpackageなどが吉?
- setup.exeを実行。詳しい手順は誰かがきっと教えてくれる。
- インストールするときに、x11をインストールするように注意
- インストールするときにdevel / minGW supportをインストールするように注意(windows nativeのコンパイルするために必要
- インストールするときにdevel / subversionを同時に入れてください。
- インストールするときにdevel / makeを同時に入れてください。
- cygwinを起動
- こんな感じでソースをダウンロードします
- いよいよコンパイル
- これの一番下の手順に従ってください。
- patchをあてます。
- ./configure --host=i686-pc-mingw32 --build=i686-pc-cygwin CC='gcc -mno-cygwin' host_alias=i686-pc-mingw32
- make
- make install
- できたらportaudio/testで$ gcc patest_sine.c -o sine.exe -lportaudio -lwinmm -mno-cygwin -I/usr/local/include/ をすると幸せ
- これで終わりなはず。
discussion †
- takoはうまくいかなかった…解決例をみつけたので、やってみます。
「src/os/win/pa_win_waveformat.o」を「src/hostapi/wmme/pa_win_wmme.o」のあとにスペースあけてくっつければいいみたいですが…
- いけたようです。configure.inのpa_win_wmme.oの後に加えて./configure --host... と行うのがいいのでしょうが、それでうまくいかなければ、Makefileに対して同じ操作をしてみてください。
- pactchを作ってインストール手順に追加しました。スペルミスはご愛嬌
- ./configureでいけないかは暇なとき調査
インストール手順(for mac †
- macportsをインストール (finkでもいいのかもしれませんが、こっちのほうがglobal
- terminalでsudo port install portaudioで終わり。
- includeの中の*.hはとっておいたほうがいいかもしれません
コンパイルのコツ。
- gcc -I/opt/local/include -L/opt/local/lib practice1.cpp -lstdc++ -lportaudio -o practice1
インストール手順(for Linux †
- FedoraとUbuntuにはパッケージがあるみたいなので、yumやapt-get、もしくはyumexやsynapticsなどで探していれませう
- どちらにせよ動作確認等のためにpatest_*以下が欲しくなるので、公式からソース持ってきたほうが良いかもしれません
Links †