Audio Enginist

Anything About Audio!

Technics is BAAAAACK!

Technics back again 2014.

Independence Day of PioneerDJ"

PioneerDJ will be independent of Pioneer.

ラベル Engineer Side の投稿を表示しています。 すべての投稿を表示
ラベル Engineer Side の投稿を表示しています。 すべての投稿を表示

2014年11月21日金曜日

XcodeのExternal Build Systemで宣言ジャンプしてくれないのをごにょごにょする

MixxxというオープンソースのDJアプリの中身を見てみようと思ったけど、
環境構築だけで色々ハマりました・・・。


(その辺は別記事でまとめたいと思います (気が向いたら・・・))


んで、なんとかXCodeでデバッグできる所までいきまして、
ブレイクポイント止まるとこまでいきましたが、そこでまた問題が・・・。


関数の所で⌘+クリックしても・・・











宣言に飛べないでやんの!
こんなんじゃ全然流れとか追っかけられないよ・・・。


というのもこのMixxxというアプリは、外部コンパイラ(scons)でビルドする仕組みになっていて、XCodeでは下図にあるExternalBuildSystemっていうプロジェクトテンプレートから作成するのですが











このテンプレートの場合、プロジェクトにソースコードを突っ込んでもコード補完してくれないんだって・・・。


①なんとか検索を駆使しながら苦難の道を進む
  -> なんとしても避けたい

②doxygenでコメントつけて自力でdash経由で飛べるようにする
      -> 死んでも避けたい

③Windows環境構築してVisualStudio様にお願いする
  -> Windows環境無い
  -> Xcodeの環境構築でさえしんどかったのにVisualStudioとか泥沼必至

④デバッグ用プロジェクトとは別のプロジェクトにソースだけぶちこんで、読経はそっちでやる
  -> 2画面欲しくなるし、MacBookProだとつらい
      -> きりかえめんどくさいけど一番楽そう

⑤もう読経は諦め(ry


とか色々考えたんですが、Google先生がいいこと教えてくれました。


「非ビルドターゲット作って、そこにソースぶちこんだら幸せになれるよ・・・」













・・・飛べたよ!!!



2014年8月21日木曜日

wavepot ~javaScriptで音をならすwebアプリ ~

会社のパイセンに教えてもらったWeb アプリ wavepotがなかなかおもしろいです。webブラウザ上で信号処理をコーディングすると、音を鳴らしたりシーケンス組んだりできます。

swiftのPlaygroundみたいにインタラクティブにコードが実行されるので、
コードを書き換えると即座に音が変化して楽しいです。


右側のタブのprojectsから、色々なサンプルコードが見れます。
simple sineという一番シンプルなサイン波生成のコードを見てみると

function dsp(t) {
  return 0.1 * Math.sin(2 * Math.PI * t * 440);
}

なんかすごい簡単そうですね・・・。

引数に時間をとるdsp(t)がmain関数的なものになっていて、
発音させるデータをreturnすればいいっぽいです。

再生ボタンを押すと、上記コードで生成されたサイン波鳴り右上に波形が表示されます。


simple sineのプロジェクトを色々いじってみます。
※打ち間違えると爆音が出る恐れがあるので注意!

周波数を440 → 1000に変えてみたり

function dsp(t) {
  return 0.1 * Math.sin(2 * Math.PI * t *1000);
}


ホワイトノイズにしてみたり・・・

function dsp(t) {
  return Math.random();
}

三角波にしてみたり・・・

function dsp(t) {
  return 0.7 * (1 - 2 * (t % (1/500)) * 500);
}

ほかにも複数のオシレーターを組み合わせたり、シーケンスを組んだり、
アルペジエイターを鳴らしたり・・・

sample projectをいじるだけでも結構遊べます。


クラウドファンディングで寄付を募っていましたが、100%を超えたようなので、
EFFECTやOSCのAPIとか、録音機能なんかが追加になりそう。



今後の展開が楽しみです。