shingoushori's dialy

音信号処理を専ら研究していた元博士後期課程の学生によるメモ

A-Frame + Web Audio API で ランダムに箱がでるプレイヤー/ミキサーのテスト

xRしたい! VTuberしたい! ということで、A-Frame

VTuberするのにアバターの必要性を感じなくなってきたので、A-Frame であれこれやってみています。
今回はとりあえず Web_Audio_API と繋いでみました。
File0とFile1に音楽データがセットできて、両方にセットすればミキサー。(以前に作ったものをコピペ)。片方にセットすれば...プレイヤー。
ランダムに箱が出たり回転したりするのは、File0のみ。なんとなく。
スペクトログラムに引いた線があることから、その線のところ (1 kHz と 4 kHzあたり) の音量が、スペクトログラムの真ん中より上になるような値であれば、3Dがぐるぐる。
[proc] ボタンで手動でも発火させられます。

なんとも無意味ですが、動けばとりあえず楽しい。

div a-frame

 

 

File0
File1

 mixing result :                                                   

 mixing source0 :                                                   
 mixing source1 :                                                   

 

Analyser

SmoothingTimeConstant :
MinDecibels :
MaxDecibels :

 

mixed
audio0
audio1

 

 

この記事に際して、新たに行き着いた Web Audio API に関する記事2つ。
Audioを停止(終了)させるには pause() → currentTime = 0;
「MediaDevices.getUserMedia() 」について;

やはり WebAPI だけあって、メンテしたほうがよさそう。
過去の記事に遡って修正するとか、一つずつの記事に全部書かずにモジュール化を模索するとか、やるべきことがたくさん。

とりあえず、(以前に作ったものをコピペ)から、今回の記事で気づいて直したのが2点。
Macchromeで navigator.getUserMedia() が消えてエラーが出てて動かなかったのを応急手当て。 ・[stop]を押しても音楽データの再生自体は止まっていなかったのを修正。
コピペ元の記事からこの記事までの間の記事も更新しておく ... 。うーむ。