裏目小僧 https://fanblogs.jp/urame3/ 音を計算式で作る。その面白さを知って欲しくて windowsで簡単に音が出せるツールを作成しようとして、windowsアプリでは誰もダウンロードしてくれない問題に直面。そこでJavaScriptに挑戦中。その作成過程も見てもらえれば それもまた有益情報になるのではないかと公開しています ja https://fanblogs.jp/urame3/archive/30/0 スマートウォッチで血糖値を測る仕組み 血糖値が測れるというスマートウォッチが安価になっていたので購入した。どんなセンサーが付いているのかと楽しみだった人感LEDとか非接触体温計で製造量が増して安価になった焦熱センサを使ってるのかとかワクワクしてでも、測定時は血圧を測定する緑LEDが点灯するだけだった。他には脈拍を測定するための赤LEDがあるがそちらは点灯しない。緑LEDが参照光だとしてもグルコースを測定するなら赤外LEDが必要だろう。砂糖水は透明だから可視光では測定出来ないからね。1,脈拍はLEDの反射光で測定出.. 雑談 裏目小僧 2023-10-26T14:15:39+09:00 https://fanblogs.jp/urame3/archive/29/0 遅くなるWindowsアプリと高速になるJavaScript ClipBd電卓という名前でエディタで作業中に数式をクリップボードに入れて計算させるツールを作っていた。高速に応答するようにexeサイズを100kb程度になるように作っていたのだが、昨年PCを購入直後は高速だったのに4か月程経過した今は、時に秒単位の遅れがある時がある。比べてJavaScriptはいつも同じ応答時間。考えて見ればjavascriptがネイティブコードの1/10だとしても10年前のPCのネイティブコードより早いのだ。という事は10年前にネイティブコード出来ていた.. JavaScript 裏目小僧 2023-04-09T04:58:06+09:00 https://fanblogs.jp/urame3/archive/28/0 JavaScript で Audio() 3音にしたら、だいぶ良い感じ wavFileでダウンロード 3音分のAudioオブジェクトを確保して順に使ってみました。同時に音が出るとクリップするので少し音量を下げています。前回の1音のものと比べてブツブツ切れる感じが減っていると思います。これで「計算による音作りを楽しんでもらう」という目標の為にはEVALでJavaScriptを直接入れてもらうと達成なような・・・でもそうするとJavaScriptで悪戯も可能なので、何か制限をかけて(簡易言語のような方式で)出来ないか考慮中あ、画面幅によっては、鍵.. JavaScript 裏目小僧 2023-04-06T05:26:34+09:00 https://fanblogs.jp/urame3/archive/27/0 JavaScripで音を出す 初めの一歩 wavFileでダウンロードボタンを押すと音が出ますから注意して下さい。マウスを波形の上に持ってゆくと波形がスクロールします。web Audio APIではなく Audioクラスのplayで音を出しています。そのためにbase64エンコードが必要なようでFileReader()オブジェクトを使う為に音が出るまで遅延が酷い。やはりweb Audio APIを調べないといけないようです。JavaScriptソースを見たい人はこちら パソコン 裏目小僧 2023-04-04T19:09:05+09:00 https://fanblogs.jp/urame3/archive/26/0 3枚の内歯車 比率歯数 [外歯数][外比率] 偏芯運動する外歯に回転する内歯車の内側に偏芯しながら回転する内歯車息抜きに パソコン 裏目小僧 2023-04-04T02:36:17+09:00 https://fanblogs.jp/urame3/archive/25/0 Z変換とラプラス変換も同時に処理できる事に気づいた グラフ上マウス等でf0付近をドラッグすればf0を変更可 3月の初めころから頑張って作っていたけど、1,Z変換式をグラフ表示するツールをpascalで作ってからJavaScriptで動かそう2,ある程度動いたけど、アナログとの比較の為にラプラス変換のグラフも出来た方がいい3,まあラプラス変換はZ変換より簡単だからJavaScript側で変更すりゃいいか4,おお中間コードに変換しない分 半分以下のサイズになったぞ5,あれ? Z変換も同じように出来るんじゃないか?6,あZ変換もラ.. (カテゴリなし) 裏目小僧 2023-03-31T16:32:57+09:00 https://fanblogs.jp/urame3/archive/24/0 JavaScriptでラプラス変換の伝達関数を求める f0 Q w0=2PI*f0; 1/(1+w0/s); w0=2PI*f0;1/(1+s/w0); w0=2PI*f0;w2=w0*w0;s2/((w2+w0/Q*s+s2); w0=2PI*f0;w2=w0*w0;w2/(w2+w0/Q*s+s2); w0=2PI*f0;w2=w0*w0;w0/Q*s/(w2+w0/Q*s+s2); w0=2PI*f0;w2=w0*w0;(s2+w2)/(w2+w0/Q*s+.. (カテゴリなし) 裏目小僧 2023-03-25T09:10:29+09:00 https://fanblogs.jp/urame3/archive/23/0 JavaScriptでGUI 比率 歯数N 歯数M Z変換でグラフ表示する部分がほぼ動くようになった。ただスライドバーで特性を動かすとなると画面作りが面倒になる。そこで画面内をGUI的に動かすようにしたい。その実験として以前作りかけた4つの歯車をマウス操作で動くようにしてみた。面倒なのはmousemoveにはoffsetXがあるのに touchmoveには無い事。この歯車のソースコードは4つの歯車 (カテゴリなし) 裏目小僧 2023-03-21T07:50:17+09:00 https://fanblogs.jp/urame3/archive/22/0 pascalとJavaScript 関数内関数でハマった Z変換の周波数特性表示の為に 数式処理をpascalコードからJavaScriptの変換作業をしてるのですが最初クラスで書いてJavaScriptに変換しようとすると大量のthisに溢れたコードで鬱陶しくなり、これはダメだと 関数内関数に変更しました。問題は数式処理をreplaceのコールバック関数を使った為にpascal側では関数内関数をコールバック出来ない事。仕方なくpascal側ではreplace関数をexecで展開して呼ぶように修正。さて大丈夫かと思ったら、大量の実行.. Lazarus 裏目小僧 2023-03-19T04:35:50+09:00 https://fanblogs.jp/urame3/archive/21/0 閉じなくなったコンソール 少し前 printfデバッグの為にコンソールを使う話を書きましたが、GUIアプリでAllocConsoleでコンソールを開いてFreeConsoleで閉じようとして奇妙な事に気づきました。32bit時代にはFreeConsoleで閉じていた窓がWin11で閉じなくなったのです。64bitアプリだけかと思いましたが32bitでも同様の状況。検証1FreeConsoleして残ったコンソールを閉じた場合 →GUIアプリはそのままです。検証2AllocConsole → FreeCo.. パソコン 裏目小僧 2023-03-16T12:21:46+09:00 https://fanblogs.jp/urame3/archive/20/0 やっとグラフを描画するJavaScriptが動くようになった pascal側の case文はcaseの中でbreakすれば外のループが抜けるが、そのまま switchに変換したら ループを抜けてくれない。 caseの外のループ文にラベルを置いて、break ラベルと変換しないといけないようだ。変換ツールをそういうふうに対応させたが、多重になった時の動作が心配になり、結局出来るだけcase文でbreakはしないように元コードを直す事に。でグラフ表示がJavaScript側でも出来るようになったので、Lazarus側で作ったZ変換から作った.. パソコン 裏目小僧 2023-03-15T16:13:46+09:00 https://fanblogs.jp/urame3/archive/19/0 久しぶりに数式処理を書いた Z変換で周波数特性を表示させるJavaScriptを書くためにPascalで先に書いて動くコードをJavaScriptに直す事にした。数式処理はGIkoBasicをベースにAddSub/MulDivと再帰下降で書いていたのを手直ししていただけなので正規表現で分解された要素が引数として与えられて処理する方式となるのは初めてのスタイルだ。 async/await を使えば再帰下降のままでも処理出来そうだが、Pascal側にその機能がないので先にコードが書けない。四苦八苦してとりあ.. Lazarus 裏目小僧 2023-03-11T05:14:41+09:00 https://fanblogs.jp/urame3/archive/18/0 LazarusでprintfDebug Lazarusにはデバッグコンソールがなく GUIアプリだとprintfデバッグが面倒です。GUI画面が固まる前ならメモ帳でも張り付けて出力出来るのですけどね。もちろんGUIからでも windows.AllocConsole;でコンソールは開くのですがその場合 コンソールを手動で閉じてしまうとアプリも落ちてしまいます。つい邪魔でデバッグ中にコンソールを閉じたつもりでアプリを終了させてデバッグ失敗をなくすためにコンソール窓の右上の[X]を無効にしてしまいます。それは2か所からの.. Lazarus 裏目小僧 2023-03-05T08:24:50+09:00 https://fanblogs.jp/urame3/archive/17/0 JavaScriptを学んでゆこう 比率 歯数N 歯数M 音の事を説明しようとすると周波数特性とかのグラフを見せないと伝わらない。静止画ではなく係数がこう変化したらこうなるというグラフを見せたい。といってwindowsのexeで作ってもウイルス扱いされてダウンロードしてもらえない。いっぽうJavaScriptはダウンロードの必要もなく、誰にでも見てもらえます。上の描画はJavaScriptで描いています。描くだけなら少しの知識で出来ます。問題はGUI処理。これを学んでゆきたいと考えています。あ、上の歯車はサイ.. パソコン 裏目小僧 2023-03-04T04:28:49+09:00 https://fanblogs.jp/urame3/archive/16/0 SIMD命令をDelphiでも動かす Delphiといっても普段使ってるのはDelphi5です。XEあたりまでは飛び飛びのバージョンでも持っていますが、軽くて小さいexeが作れて使用許諾がオンラインでないので仮想環境でも面倒なく使えますからね。AVX命令で10倍もの速度が出るのならDelphi5でも使ってみたくなります。問題はDelphi5のアセンブラにはAVXどころかSSEもない事です。そこでFPCのObjDump(GCCのと同趣旨のもの)を呼び出して アセンブラ命令を DB命令(バイトデータ)に置き換えて見事.. Lazarus 裏目小僧 2023-03-03T07:30:42+09:00
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: