DIAVIS-wiki
サウンドライブラリMinimに関するメモ #contents &br;&br; ---- *構造について [#oac0f8bd] -2つの基本となるクラス --Controller --AudioSource -4つのインターフェース --Playable --Effectable --Polyphonic --Recordable -AudioSourceは,3つのAudioBuffere(サンプルバッファ)を定義する. --left --right --mix -これら3つのサンプルバッファは,単なるfloat配列. -これら3つのサンプルバッファは,右チャネル,左チャネル,ミックスされたチャネルを個別に保持. -サンプルバッファは,以下のどちらかによって継続的にオーディオ(課長周波数)として更新される. ---ファイルからの読込み ---AudioSIgnalによって生成 -AudioSourceからの派生(?).以下のクラスは,サンプルへのアクセスを提供. --AudioPlayer --AudioOutput --AudioInput --AudioSample -AudioSourceは4つのインターフェイスのうち2つを実装する. --Recordable --Effectable -AudioPlayerは -AudioSourceもしくはControllerでできることはすべてAuioPlayerでできる. *Controller [#gec0b2f3] **controlsの出力 [#fbfd65ee] -JavaSoundは,プログラムとシステム間のオーディオの転送に<Line>を使用する. -各Lineは,panning, balance, gain, volumeのようなコントロールを持っている. -このことの利点は,自分で上記のコントロールの実装について気にする必要がないこと. -(怪しい)欠点は,あなたのアプリケションがオーディオを再生するとき,サンプルを受け取った後でエフェクトを実施すること. -このことが意味することは,何らかのステレオファイルを極端に右に再生するバランスセットで再生できるが,あなたがアクセスするサンプルには少しの違いも見られないということ. -すべてのラインにおいてすべてのコントロールが使用可能ではない. -printControlsメソッド.controllerに対して可能な生後のリストをPDEコンソールに出力. -コンピュータによって利用できるコントロールが違う. -これらを確かめるため,Controllerは,hasControlメソッをを提供する. -Controllerは6つの静的メンバを持っている. --BALANCE --GAIN --PAN --MUTE --SAMPLE_RATE --VOLUME AudioOutput out; out.hasControl(Controller.PAN) **コントロールのセッティング [#pd59993e] getterとsetterは以下の通り. -setBalance(float value) -getBalance() -setGain(float value) -getGain() -setPan(float value) -getPan() -setVolume(float value) -getVolume() ***レンジ [#ub66f1c3] -balance: -1から1 -gain: 大抵-80から6 -pan: -1から1 -volumeは知らないとのこと.使えた試しがないかららしい. *AudioSource [#j4ebb7b1] -AudioSourceは3つのAudioBufferメンバと,,RecordableとEffectable interfacesを定義する. -あなたはAudioSourceを決して直接作成しない. それは,単にクラスのAudioPlayer,AudioSample,AudioOuput,およびAudioInputのための一般的な機能性を提供するために存在している. **AudioBuffer [#h454cd37] -size()メソッドは,bufferの長さを返す. -get(int i)は,bufferのi番目のfloat値[-1,1]を返す. *Polyphonic 多声 [#n323e8a0] * AudioSnippet [#q0df4628] -Snippetは切れ端とかの意味 -メモリへの読込み.と再生. -小さいファイルの再生で,サンプルへのアクセスが必要ない場合に利用. -ただし,すぐにOutOfMemoryになる可能性が高い. -サイズが大きなファイルを再生したい場合には,AudioPlayerを使うべき. *AudioOutput [#z426be3a] -AudioOutputはコンピュータのサウンドカードへのコネクション. -AudioSignalのアタッチングによるサウンドのリアルタイム合成に利用できる. -AudioOutputオブジェクトはMinimから以下の5つのうち1つのメソッドによって取得可能. :AudioOutput getLineOut()|specifiy either Minim.MONO or Minim.STEREO for type :AudioOutput getLineOut(int type)|bufferSize is the size of the left, right, and mix buffers of the output you get back :AudioOutput getLineOut(int type, int bufferSize)|sampleRate is a request for an output of a certain sample rate :AudioOutput getLineOut(int type, int bufferSize, float sampleRate)|bitDepth is a request for an output with a certain bit depth :AudioInput getLineOut(int type, int bufferSize, float sampleRate, int bitDept| |