S.F. Page

Programming,Music,etc...

VST Host

Juce::AudioIODeviceのWASAPI実装(16)

とりあえず音が鳴り、マイクが使えるようになったけれど、まだまだToDoが、、、。 ・16bit以上のサンプルビット対応(24bit,32bit) ・96Khzサンプル周波数の対応(現状だとなぜか死ぬ) ・ボリュームコントロールAPIの利用 ・Device Topology APIいじり な…

Juce::AudioIODeviceのWASAPI実装(15)

ようやくキャプチャ側も音が出るようになった。 ようやくTALのボコーダが試せるようになった! レイテンシが少ないので快適だ。

Juce::AudioIODeviceのWASAPI実装(14)

ようやく、雑音がでなくなった。原因はEventオブジェクト作成時の引数のミス。だがまだ問題はある。 なぜかレイテンシが3msのとき以外は音がひずんでしまう。おそらくBugだろうけど。

Juce::AudioIODeviceのWASAPI実装(13)

相変わらず雑音を振りまいている。 Twitterに少しハマってしまってるのもあるが、1日があっという間に過ぎてしまう。 あーせっかくの長期休暇も6日間が過ぎてしまった。

Juce::AudioIODeviceのWASAPI実装(12)

ようやく死なずに動くようになったが、音はノイズまみれ。 MIDIキーボードの音階に応じて、ピッチは変化しているようだ。

Juce::AudioIODeviceのWASAPI実装(11)

ぼちぼちと実装を見直しつつ行っている。 IAudioClientにはIsFormatSupported メソッドがある。 HRESULT IsFormatSupported( [in] AUDCLNT_SHAREMODE ShareMode, [in] const WAVEFORMATEX *pFormat, [out] WAVEFORMATEX **ppClosestMatch ); 1つ目のパラメ…

Juce::AudioIODeviceのWASAPI実装(10)

JUCEにはAudioIODeviceという基本クラスがあり、DirectSoundやASIOはこれを継承し、具象クラスとして実装されている。 以前にも書いたが、JUCEの作者はすでにWASPIの共有モードでのAudioIODevice具象クラスWASAPIIODeviceを作成している。掲示板で見る限り良…

Juce::AudioIODeviceのWASAPI実装(9)

ぼちぼちと実装を進めている。 もう少しで音が出せそうだ。 まあ、僕のペースはご承知のとおり、気分や状況によって変わるのでいつになるかわからないが、。 WASAPIというかWindows Core Audioは後発だけあってよくできていると思う。そういう意味でVistaは…

Juce::AudioIODeviceのWASAPI実装(8)

レイテンシ指定できるようにAudioDeviceSettingsPanelを改造することにした。残念ながら、この部分についてはカスタマイズ方法はライブラリ側では用意されていないので、juceライブラリのソースコードをコピーして変更した。

Juce::AudioIODeviceのWASAPI実装(7)

実装はあちこち回り道して遅々として進まない。 ようやくバッファサイズの列挙ができたところだ。 JUCEのデフォルトで持っているオーディオデバイスのセレクタクラス(AudioDeviceSelector) の場合レイテンシはバッファサイズ指定がデフォルトで、WASAPIの場…

JUCEのWASAPIサポート

JUCEのWASAPIサポートはすでに始まっていて、ソースコードも見ることができる。 http://www.rawmaterialsoftware.com/juceforum/viewtopic.php?t=4404 ただ、いまのところ共有モードのみで、排他モードのサポートはないようだ。おそらくWindows 7が共有モー…

Juce::AudioIODeviceのWASAPI実装(6)

ようやくデバイスの一覧が表示可能に。 でもまだハリボテ状態。

Juce::AudioIODeviceのWASAPI実装(5)

とりあえず、ドライバ設定画面に表示されるようにした。 本格的な実装はこれから。 ・DSOUNDではドライバの列挙はコールバック関数で行っていたけれども、WASAPIでは以下のようにドライバを列挙する。 1.IMMDeviceEnumeratorをCoCreateInstanceする 2.IMMDev…

Juce::AudioIODeviceのWASAPI実装(4)

WASAPIデバイスのテストをするために(まだぜんぜん完成していないが)PluginHostサンプルのコードをマージした。

Juce::AudioIODeviceのWASAPI実装(3)

ASIOやDirectSoundのデバイスコードを参考に実装をぼちぼちと進めている。 http://sourceforge.jp/projects/winaudiojuce/svn/view/WinAudioJuce/?root=winaudiojuce

Juce::AudioIODeviceのWASAPI実装(2)

とりあえずWSAPIサンプルの主要部分をまとめて、コンパイルが通るレベルにまで持ってきた。 後は実装あるのみだが、なかなか肩や首のこりがひどくて長時間PCを触る気になれない。 http://sourceforge.jp/projects/winaudiojuce/svn/view/WinAudioJuce/?roo…

Juce::AudioIODeviceのWASAPI実装(1)

再度UI画面を構築。 最初はWinaudioサンプルのJUCE版とする予定だったが、いきなりJUCEのAudioIODeviceクラスをWSAPIで実装してみることにした。