portaudio
+ OpenGL (ortho-graphic) |
||
| Xcode |
キー"1"でストリームスタート、 |
pa使用手順→ pacall.h にて音データの型・パラメータ・チャンネル等 を定義しておく pacall.c にてアウトプットストリームへ送る手順を定義する ここからは自前クラス(サンプルではPaSnd.h,m) PaSnd.h,mにて波形を定義したり、操作関数を書いておく メインループを持っている描画クラス内で(GLView.h,m)オブジェクト化して使う。キー操作などと結びつける。 |
| ファイルの構成(Xcodeのファイルエクスプローラ Groups&Files から見て) | ||
| フォルダ"Other Sources" | ||
| フォルダ"pa" | portaudio関連のファイルが色々入っていますが、全く関知する必要ありません。 | |
| pacall.h | ここにアウトプットストリームに送るデータを設計しておく。 |
|
| pacall.c | pacall.hで設計したデータの構成をどういう順番でストリームに送るかを記述する。 |
|
| main.m | ーー | |
| フォルダ"Classes" | ||
| NSGLFont.h | OpenGLフォント関連クラス | |
| NSGLFont.m | ||
| PaSnd.h | portaudioを使うためにまとめたクラス。このサンプルでは以下のものを実装してあります。 -(void)ini; 初期化/ストリームを開きサンプルレート、バッファ内のフレームの数などを設定します。 -(void)start; ストリームスタート。クラスGLViewのなかで、"1"のキーと関連づけてあります。 -(void)stop; ストリームストップ。クラスGLViewのなかで、"2"のキーと関連づけてあります。 -(void)releace; 後処理。 -(paData)getFlow; クラスGLViewで描画するために、flowdataを返す関数(アクセッサメソッド) ここで返しているflowdataがpacall.hで設計した音のデータ/数列であることに留意して下さい。 |
|
| PaSnd.m | ||
| GLView.h | 描画、キー操作関連。 | |
| GLView.m | ||
portaudio
+ OpenGL (ortho-graphic) |
||
| Xcode |
キー"1"でストリームスタート、 キー"2"でストリームストップ、 キー"スペース"で新しい音源生成、 キー"d"で一番古い音源を排除。 アウトプットのみ( L R 2ch ) |
cocoaPatip01を改造したものです。pacall.hで定義している構造体paDataの内容が |
portaudio
+ OpenGL (ortho-graphic) |
||
| portaudio tip |
入力ストリームを考える |
|
portaudio
+ OpenGL (ortho-graphic) |
||
| 各チャンネルの入力レベルを計る |
pacall.hのpaDataという構造体に入力に関するデータ型を追加してあります。 |
|
portaudio
+ OpenGL (ortho-graphic) |
||
| 入力ストリームを出力ストリームへ切り替える |
pacall.hのpaDataという構造体に |
|
portaudio
+ OpenGL (ortho-graphic) |
||
| リアルタイムエフェクト:遊んでみました。色々バリエーションがあると思います。 |
pacall.hのpaDataという構造体に |
|