pd-for-android で録音してみようと 2

さてさて、このブログをお読みの方にはお馴染みの いつものバカげたミス で、1日潰したワタクシ。
レシーバー名を直して、無事に録音できましたことよ。

で、元の記事にも書いたとおり、adc~ を tabwrite~ して、tabplay~ する単純なもので、tabwrite~ する領域はとりあえず5分くらい書き込めるように、 array のプロパティの設定で起動時に確保してるわけですが、まぁ、録音が終わったら、録音されてない部分は resize でカットしちゃったほうが良いかななんて思ったわけです。

で、ちょっと試してみたところ、一回、resize しちゃうと、次回の録音のときにそれ以上の長さが録音できなくなっちゃうんですね。
まぁ、データを書き込む領域がないんだから当たり前っちゃー当たり前なんだけど。
しょうがないので、録音ボタンが押されたタイミングで改めて5分くらいのデータ領域を確保(resize)してやろうとしたら、これが遅い。
PCでも1~2秒はかかる。

うーん、どうしたものか。
録音用と再生用の array を別にして、録音用は最大データ量(5分ぶん)で確保しておいて、録音時にはそちらに書き込み、録音が終わったら、再生用の array を resize して、データをコピーするのが良いかなぁ。
array から array のコピーとか時間がかかりそうな気はするんだけど、比較してみるしかないかなぁ。
その前にやり方が分からんのだけど。


そういえば、デバッグ用にと Pd パッチに print を書いておいたら、LogCat に内容が出力されました。
おお、便利。
調子に乗って openpanel を試してみたものの、こちらはダメでした。
ファイル操作については、Java からファイルパスを引き渡してやる感じになりますかね。

まだまだ試すことがたくさんあるなぁ。
いや、ホントは録音したときのレイテンシーを調べたいんだけどね。


スポンサーサイト

コメント

非公開コメント