shingoushori's dialy

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

Web Audio API

VRM を読み込んで ~ zangyouをチョップさせてみた

VRM - VR向け3Dアバターフォーマット - を読み込んでみます。VRMのページ : https://vrm.dev/今回は zangyou をチョップです。フォントは helvetiker 。Helvetica じゃないの?と思いつつ、threejs搭載のTextGeometryを使ってみました。 音量部分はいつぞや…

VRM を読み込んで ~ 音量に合わせてチョップさせてみた

VRM - VR向け3Dアバターフォーマット - を読み込んでみます。VRMのページ : https://vrm.dev/今回は 音量に合わせてチョップです。 音量部分はいつぞやのWebAudioAPIのサンプルからコピペ、無駄にミキシング & 1 kHz に反応です。もっとミニマムなサンプルも…

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

xRしたい! VTuberしたい! ということで、A-Frame。 VTuberするのにアバターの必要性を感じなくなってきたので、A-Frame であれこれやってみています。今回はとりあえず Web_Audio_API と繋いでみました。File0とFile1に音楽データがセットできて、両方にセ…

Web Audio API を使用した音声を埋もれさせない音信号混合法の簡易実装

Web Audio API をはてなブログに埋め込むテスト Web Audio API を使用した 音声を埋もれさせない音信号混合法の簡易実装 です。 WAV+WAV or WAV+マイク を、WAVに書き出します。マイクはFirefoxのみ。 前回からの進展として、"音声を埋もれさせない音信号混…

Web Audio API で内蔵マイクで録音+ミキシングに、大事そうな周波数帯域推定を追加

Web Audio API をはてなブログに埋め込むテスト WAV+WAV or WAV+マイク を、WAVに書き出します。マイクはFirefoxのみ。 前回からの進展として、スペクトログラムを加工しました。 スペクトルは ↓こちら↓ を元に作理ました。 Web Audio API 解説 - 12.アナラ…

Web Audio API で内蔵マイクで録音+ミキシングに、スペクトログラムを追加

Web Audio API をはてなブログに埋め込むテスト WAV+WAV or WAV+マイク を、WAVに書き出します。マイクはFirefoxのみ。 前回からの進展として、スペクトログラムを追加しました。 ↓こちら↓ を元に、1 kHz と 4 kHz ? あたりに線を入れてみたりしました。 Web…

Web Audio API で、内蔵マイクで録音+ミキシングを、はてなブログ埋め込み

Web Audio API をはてなブログに埋め込むテスト WAV+WAV or WAV+マイク を、WAVに書き出します。マイクはFirefoxのみ。 前回からの進展として、stopするまでの入力信号もそれぞれDLできるようにしました。検討用にはミキシング前の入力信号も、出力信号と同…

Web Audio API で、内蔵マイクで録音を、はてなブログ埋め込み

Web Audio API をはてなブログに埋め込むテスト WAV+WAV or WAV+マイク を、WAVに書き出します。マイクはFirefoxのみ。 File1 File2 mixing result : // その実、↓の記事のはてなブログ埋め込みバージョン になります。 これらの記事ではjsdo.itさんでした。…

Web Audio API で、the sliding Goertzel DFT filter のパラメータを弄ってみる、... + 残差信号(簡易)

今回は、前回の記事↓に残差信号を追加してみました。ただし、簡易。 Web Audio API で、the sliding Goertzel DFT filter のパラメータを弄ってみる、とりあえず最大16バンド - shingoushori's dialy See the Pen <a href="http://codepen.io/shingou…

Web Audio API で、the sliding Goertzel DFT filter のパラメータを弄ってみる、とりあえず最大16バンド

今回は、以下の記事の流れをマージしてみたというわけです。 Web Audio API で、the sliding Goertzel DFT filter のパラメータを弄ってみる、とりあえずNaN - shingoushori's dialy Web Audio API で、WAVファイルに書き出してみる、再生終了後にダウンロー…

Web Audio API で、Multi-tap Delay (3 tap feedforward and 3 tap feedback)

Web Audio APIで、ディレイを組んでみました。ただ、1本だけディレイのラインを出すだけならば、Web Audio APIにあったはず。マルチタップで混沌とするには、1本だけのを組み合わせるのはメモリが勿体無い。ちょっとだけ頭を捻って、1本だけのを組み合わせる…

Web Audio API で、内蔵マイクで録音、ただしFirefox

前回、Web Audio API で、WAVファイルに書き出ししました. 今度はマイクの入力に手を出してみました. ただし、録音はwavファイルの再生中のみで、 出力はwavファイルとの加算結果です. さらに、どうにもFirefoxだけでしか動かない. Google Chromeで動かない…

Web Audio API で、WAVファイルに書き出してみる、再生終了後にダウンロード

これまでちまちまとWeb Audio APIで実装を試みてきました.このあたりでWAVファイルへの書き出しに手を出してみました. 今回は、2つのファイルを同時再生し、 2つとも再生終了後に同時再生の結果をWAVファイルに書き出します. 書き出し可能になった時点で、"…

Web Audio API で、the sliding Goertzel DFT filter のパラメータを弄ってみる、とりあえずNaN

前回、Web Audio API でthe sliding Goertzel DFT filterを実装し、パラメータをいじりました.しかし、入力された文字列によっては発散する恐れがありました. 今回は、入力された文字列に関門を設け、想定外の数値となる場合は反映しないようにしました. そ…

Web Audio API で、the sliding Goertzel DFT filter のパラメータを弄ってみる、とりあえず

↓前回、the sliding Goertzel DFT filterを組みました. ↓Web Audio API で、the sliding Goertzel DFT filter を試作 (1帯域) - shingoushori's dialy 今回は、パラメータを弄ってみました. とりあえず、です.とりあえずポイント1: inputフォームを使うとり…

Web Audio API で、the sliding Goertzel DFT filter を試作 (1帯域)

Web Audio APIでのSTFTによる帯域分割がうまくいかないので,the sliding Goertzel DFT filterに抜け道を求めました. ↓the sliding Goertzel DFT filterの素敵な文献↓The Sliding DFTSLIDING IS SMOOTHER THAN JUMPING DFTの1帯域分に着目すれば,IIRフィルタ…

Web Audio API の、BiquadFilterNodeのbandpassの周波数特性の概形

標準の BiquadFilterNode のbandpassの周波数特性の概形を探ってみました.98帯域のMultiband Sidechain Compressor を作れることがわかったので, フィルタバンクの周波数特性を詰めていこうとしているわけです. 今回, WebAudioAPI の BiquadFilterNode の周…

Web Audio API で、Multiband Sidechain Compressor を試作 (98帯域)

これまでに, マルチバンドサイドチェインコンプレッサーを, 3帯域, 10帯域で作ってきました. ソースコード上では, 1帯域分の記述を単純にコピペしていました. 今回は, それをArrayで束ねてFor文でぶん回しました. ぶん回せました, うれしい. 帯域数を簡単に…

Web Audio API で、Multiband Sidechain Compressor を試作 (10帯域)

前回は3帯域のマルチバンドサイドチェインコンプレッサーをつくりました.Web Audio API で、Multiband Sidechain Compressor を試作 - shingoushori's dialyそれを10帯域にしてみました.重くなって動かないかと思いきや, 全然動きました.どこまで帯域を細か…

Web Audio API で、Multiband Sidechain Compressor を試作

前回制作したサイドチェインコンプレッサーWeb Audio API で、Sidechain Compressor を試作 - shingoushori's dialyを, マルチバンド化してみました. 帯域分割は, Web Audio API 標準のBiquadFilterNodeを用いてみました.https://developer.mozilla.org/ja/d…

Web Audio API で、Sidechain Compressor を試作

Web Audio API で, Sidechain Compressor を試してみました. 作ってみたのが↓こちら. File1についてcompressorの係数を算出し, File2の音量を操作します. playで同時再生です. ポイントであろう事柄が↓こちら.・DynamicsCompressorから, 抑制係数のdB表現を.…

Web Audio API で、左右チャネルを入れ替えて再生

Web Audio API で, チャネルの抜き挿しを試してみました.抜き挿しそれぞれ, 抜き : ChannelSplitter挿し : ChannelMergerを.createXXXXすると, .connect時の引数で抜き差しするチャネルを選択できるようだ. 作ってみたのが↓こちら. File1はそのまま, File2は…

JavaScript および Web Audio API のはてなブログへの埋め込み

前回、コードを地の文に貼っていたわけでして、 埋め込む方法を探してきました。 埋め込んだのが、こちら。 ローカルで動かした時より、再生にもたつきを感じます。 いたしかたなし也。 <参考> みかづきブログ その3 はじめてのWebAudioAPI jsdo.itなる、コ…

ローカルの音データをWebAudio APIで開く

ローカルの音データをWebAudio APIで開いてみました.二つの音データを一つのplayボタンで, 同時に再生開始します.ブラウザは, Google Chromeで製作しています. <input id="audio_file1" accept="audio/*" type="file" /> <audio id="audio_player1"></audio> <input id="audio_file2" accept="audio/*" type="file" /> <audio id="audio_player2"></audio> <button id="play">play</button>