Max/MSP
今作っている(作っていた)Maxパッチは、サウンドファイルを20×6くらい使うため、20個ごとにファイルをわけたフォルダをそのつどドラッグ&ドロップと、ちょっと面倒でした。

で、同じ階層にあるファイルを読み込むことは簡単なのですが、フォルダの読み込みってパスの問題でなぜか難しく悪戦苦闘しました。
その結果、編み出したのはこの方法です、どん

はい、thispatcherを使います。
thispacherオブジェクトにpathのメッセージを送ると、右アウトレットからそのパッチのある階層パスが出力されます。
そして、sprintfでフォルダ名(上記では aiueo1/)追加するとめでたくフォルダーのパスができるわけです。
これをしかるべきfolderなオブジェクトに読み込ませればパッチとして作るには全然OKです。
そう、、なんとなく予想されましたが、問題はアプリケーション化したときに起こりました。
thispatcherのpathがアプリ化するとうまいこといかないようなんです。
ということで、あっさり深追いしないことを決め、この方法を応用して1つのフォルダをドラッグ&ドロップすると残りの5つのフォルダも自動的に読み込まれるようにする仕様にしました。
アプリでもフォルダ完全自動読み込みについては、後ほどトライしてみます。
(誰かもっとよい方法などあったら教えてください!)
DJソフトだったら、2曲をミックスしますよねってことで、フェーダー部分を実装。
ということで、フェーダー部分は後で画像にするかもしれないけど、横向きsliderをインタフェースにしました。
その値を使って2曲の音量のバランスを調整できるようにします。
右へよせれば右のソースがよくきこえ、逆にすれば左が。。という状態です。
直線的にクロスフェードしようとすると音の場合はちょっとおかしなバランスになるので、mixパッチャーの中身はちょっと工夫しています。(だったようなうっすら記憶)
実際に直線的なものと比べましたがこちらが自然でした。
ということで、フェーダー部分は後で画像にするかもしれないけど、横向きsliderをインタフェースにしました。その値を使って2曲の音量のバランスを調整できるようにします。
右へよせれば右のソースがよくきこえ、逆にすれば左が。。という状態です。
直線的にクロスフェードしようとすると音の場合はちょっとおかしなバランスになるので、mixパッチャーの中身はちょっと工夫しています。(だったようなうっすら記憶)
実際に直線的なものと比べましたがこちらが自然でした。
前に作ったDJソフトは、sfplay~というオブジェクトを使ったので、mp3などは使えずAIFFなどを利用する必要がありました。
jit.qt.movieも使ってみましたが、QuickTimeの仕様の問題で曲を読み込む際に必ずもう片方の曲が、ブチっと途切れてしまう問題がありました。
そして、最近MacBookPro15inchを手に入れてふと。。。。
今のご時世、メモリに丸っと曲読み込んじゃってよくね?
とおもっちゃいました。だって、スペック比較が
7年前
iBook G3 PPC 600MHz メモリ128MB
現在
MacBookPro 2.66GHz Intel Core 2 Duo メモリ4GB
なんですもの。
ということで、今回は以下のようにimportでbuffer~に突っ込む、groove~で再生するように試してみました。
とりあえず、同じようなセットをもう1組作って試したところ、特に音が途切れるなどなく無事再生できたようです。
実メモリの使用率は、2曲読み込んで364MB程度で、昔なトリプルスコアで容量オーバーでしたが、全然問題ありません。
もっとよい選択肢もあるかもしれませんが、なんとなくひとまずはこれで進めていってみようと思います。
jit.qt.movieも使ってみましたが、QuickTimeの仕様の問題で曲を読み込む際に必ずもう片方の曲が、ブチっと途切れてしまう問題がありました。
そして、最近MacBookPro15inchを手に入れてふと。。。。
今のご時世、メモリに丸っと曲読み込んじゃってよくね?
とおもっちゃいました。だって、スペック比較が
7年前
iBook G3 PPC 600MHz メモリ128MB
現在
MacBookPro 2.66GHz Intel Core 2 Duo メモリ4GB
なんですもの。
ということで、今回は以下のようにimportでbuffer~に突っ込む、groove~で再生するように試してみました。
とりあえず、同じようなセットをもう1組作って試したところ、特に音が途切れるなどなく無事再生できたようです。実メモリの使用率は、2曲読み込んで364MB程度で、昔なトリプルスコアで容量オーバーでしたが、全然問題ありません。
もっとよい選択肢もあるかもしれませんが、なんとなくひとまずはこれで進めていってみようと思います。

最近のコメント