shingoushori's dialy

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

JavaScript

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

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

Simutransのセーブデータ (非圧縮xml のみ) を読み込み->書き出し ~ 「passenger_factor」を設定

[趣旨]Simutransのセーブデータ弄りであるとか、もちろん信号処理のなにやらづくりに向けて、デスクトップからファイルをドラッグする処理 〜 を準備します。 今回は、Simutransのセーブデータ (非圧縮xml のみ) をパースしてエディットして、また書き出しで…

JZZ.js

MIDIファイルをいじるWebコンテンツ on はてなブログ 〜 の検討今回は、jazz-softさん作の、 JZZ.jsでやってみました // Drop files here // いろいろと多機能そう。とりあえず、MIDIファイルのblobでの読み込み/書き出しはそれなりに簡単にできた。ノートの…

MidiPlayerJS + MidiWriterJS

MIDIファイルをいじるWebコンテンツ on はてなブログ 〜 の検討今回は、grimmdude (Garrett Grimm) さん作の、 MidiPlayerJS MidiWriterJSでやってみました // Drop files here // MidiWriterJSの機能が最小限しかできていなさそう同じ方が作ったものながら…

Simutransのセーブデータ (非圧縮xml のみ) を読み込み->書き出し ~ 全駅公共駅化

[趣旨]Simutransのセーブデータ弄りであるとか、もちろん信号処理のなにやらづくりに向けて、デスクトップからファイルをドラッグする処理 〜 を準備します。 今回は、Simutransのセーブデータ (非圧縮xml のみ) をパースしてエディットして、また書き出しで…

Simutransのセーブデータ (非圧縮xml のみ) のマップサイズを取得してみた

[趣旨]Simutransのセーブデータ弄りであるとか、もちろん信号処理のなにやらづくりに向けて、デスクトップからファイルをドラッグする処理 〜 を準備します。 今回は、Simutransのセーブデータ (非圧縮xml のみ) からマップサイズを取得してみました。 'eins…

memo : JavaScript x Python ... iPython Notebook -> GitHub Gist

とりあえず、メモ Python のコードを JavaScript で実行したいんだが、という調べ物手軽にWebアプリ化できるといいのだが Brython ... Python のコマンドプロンプトを作っちゃう?その実行ファイルの大きさとアクセスの負荷が心配とりあえず Brython 本家の…

Simutransのセーブデータ (非圧縮xml のみ) の路線情報を編集してみた ~ 路線番号を各社ごとの数字に振り直し

[趣旨]Simutransのセーブデータ弄りであるとか、もちろん信号処理のなにやらづくりに向けて、デスクトップからファイルをドラッグする処理 〜 を準備します。 今回は、Simutransのセーブデータ (非圧縮xml のみ) をパースしてエディットして、また書き出しで…

Simutransのセーブデータ (非圧縮xml のみ) を読み込み->書き出し ~ 「年代設定」をOFF

[趣旨]Simutransのセーブデータ弄りであるとか、もちろん信号処理のなにやらづくりに向けて、デスクトップからファイルをドラッグする処理 〜 を準備します。 今回は、Simutransのセーブデータ (非圧縮xml のみ) をパースしてエディットして、また書き出しで…

Simutransのセーブデータ (非圧縮xml のみ) のversionとpakを取得してみた

[趣旨]Simutransのセーブデータ弄りであるとか、もちろん信号処理のなにやらづくりに向けて、デスクトップからファイルをドラッグする処理 〜 を準備します。 今回は、Simutransのセーブデータ (非圧縮xml のみ) をパースし始めてみました。 パースといって…

デスクトップからファイルをドラッグする処理を、はてなブログに直接書いてみるテスト

Simutransのセーブデータ弄りであるとか、もちろん信号処理のなにやらづくりに向けて、デスクトップからファイルをドラッグする処理 〜 を準備します。 ↑ こちらのページのソースをコピペしてみました ... ドラッグアンドドロップされたファイルの、 name と…

dot言語でグラフを書いて、はてなブログに直接書いてみるテスト

[埋め込みテスト] dot言語でグラフを書いて,はてなブログに埋め込んでみたくなりました。 ので、サンプルを探して、埋め込みのテストです。 d3-graphviz というライブラリです。 表示までに数秒かかります。 // b}'); // ]]> はてなブログの記事としての知見…

memo : Magenta.js

とりあえず、メモ Magentaで開発されてきた音楽生成のモデルや、音楽の潜在表現を得るMusicVAEのモデルが、オールインワンのJavaScriptライブラリとなって登場。このMagenta.jsを利用することで、簡単にブラウザ上で音楽を生成したりすることができるように…

Canvas関係のグラフを描くライブラリを使ってみた

<概要> Canvasの練習です.前回、"Canvasで、任意長の配列で折れ線を描いてみる"してみました.次は、軸を描いてみて、グラフにしたいと思ったわけです.そういえば、ライブラリが無いわけがないと思いまして、探して使ってみました. 今回使ってみたのは、次の2…

Canvasで、任意長の配列で折れ線を描いてみるテスト

<概要>Canvasの練習です.任意長の配列で折れ線を描く.これを関数したら楽にならないかな、と思っている次第であるためです. やってみた事は単純です. 1.座標点の配列を定義 2.配列の各点を、canvasの折れ線の終点として次々に設定 : context.lineTo 3.ついで…

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

今回は、前回の記事↓に残差信号を追加してみました。ただし、簡易。 Web Audio API で、the sliding Goertzel DFT filter のパラメータを弄ってみる、とりあえず最大16バンド - shingoushori's dialy See the Pen &amp;lt;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 Speech API の Speech synthesis を試してみた

Web Speech API というものがあるんですね。とりあえず google chrome, firefox, safari で動き、Internet Explorerでは動かない、edgeでは対応検討中...だそうです。 Speech synthesis , Speech recognition があるらしい。とりあえず 今回はsynthesisして…

htmlの入力フォームの数をjavascriptで可変にしてみた

マルチバンドでなにやらしたいわけです。 ならば、バンド数に応じた数の、各バンドのパラメータやらを操作する入力フォームが欲しい。 バンド数を変えた時に、合わせて変わってしまえばいい。 まず、そんな入力フォームが作れるのかやってみました。 とりあ…

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

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

Canvasで、はてなブログに回路図を直接描いてみるテスト(Diode Clipping)

はてなブログにできるだけ写真を投稿したくない!容量が気になるから. でも、図やグラフを貼り付けたい!わかりやすいし、格好いいから. この相反する気持ちの矛先として、Canvasに目をつけたわけです. とりあえず最近のマイブーム、Diode clipperを描いてみ…

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…