shingoushori's dialy

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

PythonでSimutransの全乗り物の待機を上書きしてみた

GUIでぽちぽち1000台以上のバスの情報を設定するのは苦しいので、Pythonでやってみました。 正しくは、とりあえずやれたのが、まずこれだけ。最大の苦戦どころが、 ・xmlデータだって言っても、CDATA なるものに対応するのが辛い → いっそテキストで全読み込…

Simutransで人工地盤してみる

素敵なフリーの輸送会社経営シミュレーションゲーム Simutrans で人工地盤っぽいことを初めてみました。 ↓実験の光景↓ 強引な開発ぅ #Simutrans pic.twitter.com/GG7EqKp3TC — shingoushori (@shingoushori) 2017年8月12日 白黒の見切れているのが、役場です…

PythonでMIDIをWAVにする ...

Python で MIDI をいじってみています。とりあえず、pretty_midi にしています。 http://shingoushori.hatenablog.jp/entry/2017/06/11/233154 今回は、MIDIをWAVにしてみました。 ... 結論・FluidSynth 頼み・サウンドフォントっていうのでMIDIをWAVに置き…

Pythonで楽曲のスペクトルの動画の作成 のメモ

以下が構成するモジュールとかアプリケーション・matplotlib・imagemagick・FFmpeg・PyAudio・NumPy 以下のページのサンプルが素敵Frequency spectrum of sound using PyAudio, NumPy, and Matplotlib · GitHub matplotlibがmp4が描き出せるというのが、楽曲…

Pythonでプロトタイプするときはモジュール化しておこう...

Pythonでプロトタイプするときはモジュール化しておこう...と思った とりあえず、main でも test でもなんでもいいから関数化しておくだけでも随分違いそうなことがわかった 今、PythonでMIDIをいじってみていますちょっとしたパターンを生成するソースは、…

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

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

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

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

PythonでMIDIをいじってみる準備 とりあえず、pretty_midi

Python で MIDI をいじってみようとしています。とりあえず、pretty_midi にしました。 ・なぜ pretty_midiか理由1:ノートのon/offを1回の関数呼び出し(?)でできる。理由2:和音できそう。理由3:TensorFlow製音楽生成プロジェクト「Magenta」で用いられ…

スマフォからの投稿

やれるだろうなと思っていましたが。当然のようにできるんですね。スマフォからのはてなブログへの投稿。 はてなブログ純正っぽいAndroidアプリで、今打ち込んでいます。 ところがこのAndroidアプリ、Google PlayのDLページのレビュー欄に並ぶコメントが不安…

Pythonで音信号処理する環境づくり on Mac のメモ

<経緯>メインPCがMacです。Pythonで音信号処理する環境づくりをやりました。恥ずかしいことに、これまで何度も挑戦しては挫折してました。今回は今の所すんなり綺麗にできているので、メモをば。 <Python本体>まずバージョン。Python2, Python3 をそれぞれ入れて適宜切り</python本体>…

デジタルネイティブ

雑談です。 "デジタルネイティブ" って言葉を目にしませんか。この言葉に徐々に違和感が膨らんでおります。ついぞ先日、ぽろっと言語化に至りました。ゆえに、ここで雑談です。 ... 結論としては、"デジタルネイティブってITであってデジタルじゃないよね""…

元博士後期課程の学生

そういえば、ブログの設定も更新していませんでした。下記のように更新してみました。 旧:音信号処理を専ら研究している博士後期課程の学生によるメモ新:音信号処理を専ら研究していた元博士後期課程の学生によるメモ 2016年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…

Simutransで, "日本の役場セット"の問題を無理やり直す

<欲望>筆者は, 鉄道経営シミュレーションが好きである.Simutrans(http://japanese.simutrans.com)は, 素晴らしい. "日本の役場セット" ( アドオン/建物2 - Simutrans日本語化・解説 ) は, なかなかニヤける.しかし, 一番大きい庁舎(building.05_CITY.pak)に変…

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フィルタ…

Simutransで, 建築物を弄る

<欲望>筆者は, 鉄道経営シミュレーションが好きである.Simutrans(http://japanese.simutrans.com)は, 素晴らしい.今回は, 建築物を弄ります. 特に, 建築物の所在地を変換するのが第一の目的です.建築物の所在地を調整することで, 市域を調整することができま…

論文・文献徘徊メモ 160219-1 Pease FFT / Korn–Lambiotte FFT

FFTといえば, Cooley–Tukey FFTが一番有名で, Stockham FFTが二番であろうと思います. 工学書を覗いてみると, だいたいここ2つではないでしょうか. Cooley–Tukeyはわかりやすいとして, Stockhamはぎょっとします. Webサイトによっては, よくよく線を辿ってみ…

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…