shingoushori's dialy

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

memo : DKA法

代数方程式の解を、
"Aberthの初期値を用い,DK式を反復計算することで, rf_dka.eq1.gif個の根を得る方法をDKA(Durand-Kerner-Aberth)法と呼ぶ.(引用 : DKA法 - PukiWiki for PBCG Lab)"

複素数を考慮するのがポイント

 

DKA法 - PukiWiki for PBCG Lab

qiita.com

エクセルで操る!デュラン・ケルナー・アバース法(DKA法)による高次代数方程式の解計算

 

Durand-Kerner法によるARモデルから極表現への変換 ...

 

https://www.jstage.jst.go.jp/article/sicetr1965/34/6/34_6_607/_pdf/-char/ja

 

 

www.jstage.jst.go.jp

"midiglue" - Programmable MIDI/CV Controller & Effects Unit

"midiglue" - Programmable MIDI/CV Controller & Effects Unit

www.kickstarter.com

... のバッカー?になりました

midi信号をプログラマブルエフェクターしちゃうもの?です

デモではアルペジエイターです 発想しないとですね

 

ところでMIDI規格は、なんとこれから大幅アップデートが行われるらしいです

RA: ニュース: MIDIの”大幅アップデート”に向け、Ableton、Native InstrumentsらがMIDI規格団体に加入

となると、このようにMIDIを応用しようという道具の登場が嬉しい

 

個人的趣味としては、
右上のエフェクターが BOSS FZ-3 っぽいところにグッときました
BOSSのFuzzだとFZ-5のみが現行商品 つまみの数はFZ-3と同じなものの、左下の COSM のロゴがあります この画像だとそれがないので、FZ-3じゃないかな!

↓ ここのページの画像が比較しやすいと思う
BOSSのファズ3種 | さすらいのギター日記

なんか好きなんですよ FZ-3 が

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

とりあえず、メモ

Python のコードを JavaScript で実行したいんだが、という調べ物
手軽にWebアプリ化できるといいのだが

Brython ... Pythonコマンドプロンプトを作っちゃう?
その実行ファイルの大きさとアクセスの負荷が心配
とりあえず Brython 本家のものが公開されていそうだが、使いまくるのは気がひける

www.brython.info

 

"nbconvertでhtmlファイルに変換する" というのが主
そのままWebアプリ化できるわけではない

qiita.com

futurismo.biz

 

とはいえ、最近の雰囲気としては iPython Notebook -> GitHub Gist ? が、良さそう
Webアプリにはならなさそうだが、やりたい人たちはすぐ Fork して使えるだろう

徳井先生 がやってるのがとても面白い

Spectrogram Phase Reconstruction Test - Comparison between LWS and GriffinLim · GitHub

https://towardsdatascience.com/neuralfunk-combining-deep-learning-with-sound-design-91935759d628

 

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

[趣旨]
Simutransのセーブデータ弄りであるとか、もちろん信号処理のなにやらづくりに向けて、デスクトップからファイルをドラッグする処理 〜 を準備します。

 

今回は、Simutransのセーブデータ (非圧縮xml のみ) をパースしてエディットして、また書き出しです。

路線情報を悪戯してみます。路線番号を各社ごとの数字に振り直します。
Simutrans本体にて新規路線を作ると、全社跨いで通しの数字が振られているようです。
そんな数字を、各社ごとでの通しの数字に置き換えます。[路線編集]ウィンドウで見た時に、ちょっと気持ちいい。

↓ Simutransのセーブデータ (非圧縮xml のみ) をドラッグアンドドロップすると、「ダウンロード」と書かれたリンクが追加されます。"output.sve"としてダウンロードできるはず。開発環境は、macchrome

Drop files here

                                   

 

 

本記事は、やっていることの整理のための脱線です。元々検討していた内容が泥沼にハマり、ディスプレイ上で燻り続けているわけです。
それは、xml形式のセーブデータ弄りではなく、binary形式、binaryのbzip2圧縮した形式のセーブデータの読み込み/書き出しでした。これが全然できない上に、どうも泥臭く元々のソースコードを丸々JavaScriptに移植する羽目になりそうでした。
そのサイズともなると、はてなブログの記事に書くのが怖くなりました。GitHubの出番でしょう。
そんなわけで、できる範囲の中で価値がありそうなネタを捻り上げてみたのでした。

 

なお、苦労。
xml の "CDATA" っていうのが、xmlでも特殊でパーサーがパースしてくれない!!

というわけで、以下のような置き換えを行なっています。

[読み込み時]

    var xml = e.target.result;
    // CDATA対策
    xml = xml.replace(/<!\[CDATA\[/g,'')
    xml = xml.replace(/\]\]>/g,'')
    // XMLのDOMをパースする
    var parser = new DOMParser();
    var dom = parser.parseFromString(xml, 'text/xml');

[書き出し時]

    var xmlString = serializer.serializeToString(dom);
    xmlString = xmlString.replace("><", ">\n<");
    // CDATA対策
    xmlString = xmlString.replace(//g,'<!\[CDATA\[')
    xmlString = xmlString.replace(/<\/CDATA>/g,'\]\]>')
    xmlString = xmlString.replace(/<CDATA\/>/g,'<!\[CDATA\[\]\]>')

 

[参考文献]

クライアントサイドJavaScriptでXML文書のDOMをパースする

XML Parser

Blob - Web API インターフェイス | MDN

HTML非表示・使用不可メモ(Hishidama's disabled/visibility/display Memo)

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

[趣旨]
Simutransのセーブデータ弄りであるとか、もちろん信号処理のなにやらづくりに向けて、デスクトップからファイルをドラッグする処理 〜 を準備します。

 

今回は、Simutransのセーブデータ (非圧縮xml のみ) をパースしてエディットして、また書き出しです。

ちょっとしたエディットとして、「年代設定」をOFFにします。

↓ Simutransのセーブデータ (非圧縮xml のみ) をドラッグアンドドロップすると、「ダウンロード」と書かれたリンクが追加されます。"output.sve"としてダウンロードできるはず。開発環境は、macchrome

Drop files here

             

 

 

「年代設定」をOFFにする。これが一連のxml弄りonはてなブログの発端です。

ただし、非圧縮xmlでだけできるようなツールでは微妙。
アンケートを募ったところ、全然使われていないっぽい。

サーブデータ弄り本編には関係ないxmlをいじる準備は、まだまだ続きます。

 

なお、苦労。
xml の "><" の間にちゃんと改行がないと、 Simutrans 読んでくれない!!

というわけで、以下のような置き換えを行なっています。

var xmlString = serializer.serializeToString(dom);
// !!! this is the essential, 'cause Simutrans's xml-parser is pretty neat !!!
xmlString = xmlString.replace("><", ">\n<");

 

[参考文献]

クライアントサイドJavaScriptでXML文書のDOMをパースする

XML Parser

Blob - Web API インターフェイス | MDN

HTML非表示・使用不可メモ(Hishidama's disabled/visibility/display Memo)

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

[趣旨]
Simutransのセーブデータ弄りであるとか、もちろん信号処理のなにやらづくりに向けて、デスクトップからファイルをドラッグする処理 〜 を準備します。

 

今回は、Simutransのセーブデータ (非圧縮xml のみ) をパースし始めてみました。

パースといっても、一番上の階層のAttributeだけです、まずは。

ドラッグアンドドロップされたSimutransのセーブデータの、 version と pak を表示します。

Drop files here

 

[参考文献]

クライアントサイドJavaScriptでXML文書のDOMをパースする

XML Parser

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

Simutransのセーブデータ弄りであるとか、もちろん信号処理のなにやらづくりに向けて、デスクトップからファイルをドラッグする処理 〜 を準備します。

↑ こちらのページのソースをコピペしてみました ...

ドラッグアンドドロップされたファイルの、 name と type と size と lastModifiedDate を表示するサンプルであるようです

↓ 動きました はてなブログ 万歳!

Drop files here