サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
www.g200kg.com
これは Javascript のかなり細かい部分の話なので似たようなケースで困った事がある人以外にとってはどうでも良い話だと思いますが......。 JavaScript は元々シングルスレッド構造なのであまり重い処理をさせるには向いていないのだ、という事は昔から言われていました。 重い処理をしようとした時にまず影響を受けやすいのは UI 周りの動作です。 UI をちゃんと動かしつつ重い処理をさせるためには、処理を小分けにしてタイマーから駆動する等の手法がとられます。 またこの時、コールバックで小分けにした処理を繋げるとソースが見づらくなるので Promise や async/await を使う、という手段が定石となっていったのですが、そもそも、ひとまとまりの重い処理をやらせたいならやっぱり別スレッドで走らせたい、という事で WebWorker というものが作られました。 これによって J
聴力テストを作ったりしたので、ちょっと耳系の話も書いてみます。 人間が音を感じるセンサーになる部分は耳の奥、内耳にある蝸牛と呼ばれる器官です。なんとなくイラストを見たりした事があるかも知れませんがあのカタツムリみたいな奴、乗り物酔いの原因にもなる有名な三半規管とくっついている奴ですね。 鼓膜からの振動はこの蝸牛に伝えられるわけですがそこには数万個の有毛細胞があり、その内の3500個程度が内有毛細胞というもので機械的な振動に反応するようになっています。そしてそれぞれの内有毛細胞は特定の周波数と共振してここで周波数分析が行われます。これは言わば物理的なフィルタバンク、凄いですね。そして内有毛細胞からの信号はそのまま全部パラレル(!)に脳のニューラルネットに送り込まれるわけです。人間は音程には敏感だけど位相は殆ど認識できないというのはこういう構造で脳への入力信号がそもそも周波数毎のマグニチュード
モスキート音、どこまで聴こえてますか? という事で聴力テストを行うページを作りました。 GitHub に置いてあります。 実行ページ : https://g200kg.github.io/auditory-test/ リポジトリ : https://github.com/g200kg/auditory-test 再生環境にもよりますので正確とは言えませんが、目安にはなると思います。どうやらもう12kHzあたりが限界ぽいです。 加齢と共に高い周波数の感度が下がるのは今更どうこう言ってもしょうがない事なのだけど10年前くらいなら聴こえていたはずの音が聴こえないのは残念な話です。まあ所詮人間の耳なんてそもそも犬とかに比べると全然聴こえていないんですけどね。 耳の特性が変わっていくのだから同じ音源を聴いても脳が10年前と同じ刺激を受け取る事は出来ない、という事実についてオーディオマニアな人達はどう
現在 Chrome の安定版のバージョンは 88 ですが、3月に入るとそろそろ Chrome 89 が安定版に降りてくる予定になっています。それで、Chrome 89 では工作系の人にとってはちょっと気になるかも知れない 「Web Serial API」という ブラウザ API がフラグ無しで使用可能になります。まあ今でも "chrome://flags" で "Experimental Web Platform features" を "Enable" にすれば使えるようになるんですけどね。 なお、88 ⇒ 89 で USB デバイスの接続/切断あたりのイベントの仕様に少し変更があるので、本格的に使うなら Chrome 88 でフラグをイネーブルするよりは 89 を待つか Chrome BETA で試した方が良いかも知れません。 Web Serial API の仕様書はこちらにあります。
どこかにこういうものはあるだろうと思っていたのに意外と見当たらなくて、いきなり MIDI-dump ユーティリティなんか作ったりしましたけど、SMFの扱いはそれなりに癖があるのでメモ。 https://github.com/g200kg/midi-dump ちゃんとした規格は AMEI のページから見れます。 http://amei.or.jp/midistandardcommittee/MIDIspcj.html すっかりレガシーなノウハウになってしまいましたが、これから初めて SMF を触ろうとしているなら、はまりやすいのはこんな所です: NoteOn のベロシティ 0 は NoteOff として扱う事。これと次のランニングステータスとの合わせ技でファイルサイズが小さくなる。 ( 場合によっては処理が面倒な事になったりするのだが ) ランニングステータスをちゃんと処理するのを忘れないよ
Web MIDI、Web Bluetooth、Web USB、Web Serial... と近年ハード寄りなブラウザ API がどんどん出てきていて、そこそこのものなら(ハードウェアの能力を限界まで絞り出すようなネイティブアプリがある以上完全に、とは言わないけど) Web アプリで済む世界は近いと思ってはいるのだけど、その一方でこういう話もあるのだよね。 元記事は6月末の頃のもののようだ。 厳しいなあ。 Gigazine : 「Appleが「プライバシー上の懸念あり」としてSafariへの一部ウェブAPIの実装を拒否」 面白そうな API が軒並み実装拒否対象になっている。まあ Web USB なんかが出てきた時に Web アプリからそんな所を触って大丈夫なのか? と多少は思ったというのも確かにあるけどね。Web MIDI は許して欲しいな、勝手な希望なのは承知しているけど。 対象の We
これまでに ADSR 関係の記事を幾つか書いてきたのだけど、ADSR についてはまだ言いたい事があるのだ。あなたの ADSR の実装、間違ってないだろうか? と。ADSR はシンセを構成するモジュールとしては簡単な方だし、ソフトウェアで実現するのもそれほど難しくはない。が、ここで説明する点は特に勘違いしやすいので注意して欲しい。 ADSR はざっくりと下の図のような説明がされている事が多い。ADSR の概要を説明するにはこれで問題はないのだけど、この図を見て、「完全に理解した。アタックのピークを過ぎた後は、減衰の曲線が Key On の間は Decay で Key Off になると Release に切り替わるんだね」と言う風に理解してしまうとまずい事になる。 次のような設定にした時を考えてみる。 Decay ⇒ 小、Release ⇒ 大、Sustain ⇒ 小。 音の出始めにガツンと強
エレキギターなんかに繋ぐ 6.3mm のプラグの事、何て呼んでますか? 音声用のプラグとしては最近ではポータブル機器を中心に 3.5mm 径の「ミニプラグ」とか 2.5mm 径の「ミニミニプラグ」の方が見かける機会も多いですが、あれの大きい奴、直径 1/4インチ(6.3mm)の奴です。 おそらくですが「標準プラグ」という呼び方が一番一般的なのではないかと思いますが、「モノフォン」とか「2P(ツーピー)」とか言う人もいるかも知れません。そして他の呼び方として特に PA 関係では「ヨンナナ」という言い方が一部ではされています。 これはパッチベイなどで使われていた同じ6.3mm径の「110号(ヒャクトウ)」プラグとの取り違えを防ぐため「ヨンナナ」と呼んでいた、とここまではまあまあ知られた話ではあります。 という事で「偏ったDTM用語辞典」でも「"ヨンナナ"というのは標準プラグの事」というような説
さて、2019 年になって ScriptProcessor の後継とされる AudioWorklet が Chrome で動き始めてからもう一年くらい経ちましたかね。まだまだガリガリ使われているという感じでもないのは、以前の ScriptProcessor に比べると構造が複雑になってちょっととっつきにくくなったからでしょうか。少しハードルが上がった感はありますね。 それに現状は Web Audio API の仕様とブラウザの実装がまだ少し乖離している所が残っているので気を付けないとハマるかも知れません。 とは言っても ScriptProcessor がいつまであるかもわからないし、そろそろちゃんと使わないとですね。 という事でまずはサンプルを書いてみました。 AudioWorklet (OverDrive) たいしたものではないですが、これはオーバードライブエフェクトを AudioWor
11月24日(土)は北の丸公園の科学技術館でシンセビルダーズサミット、11月25日(日)は HTML5カンファレンスが北千住の東京電機大で開催されました。 こちらは 24日のシンセビルダーズサミットの様子。 展示会場の様子です。会場のキャパ的にはかなり限界に近いという事で開催場所をどうするかというのも課題になりつつあります。 ブース配置図。自分のブースの写真を撮っていませんでした。まあ大体いつも通りなんですけど。 武田さんのリボンコントローラ演奏。ここ数年参加されていなかったのですが復帰したらしいです。 sigboost さんの midiglue。今年6月に KickStarter での人気ぶりでも話題になったブツです。筐体も少しバージョンアップしている模様。 こちらはDigiLogさんの新作。猫モジュール CAT。ユーロラックフォームファクターですね。ソフトの書き換えでシーケンサーになっ
なおサイズについては、2.5mm / 3.5mm どちらも否定はしていませんが 2.5mm 、いわゆるミニミニジャックが推奨となっています。 正式な規格は MMA のサイトでメンバー登録すればダウンロードできます。 https://www.midi.org/articles-old/trs-specification-adopted-and-released また同じく MMA のこちらのページでは、結線を 「TRS MIDI A」と「TRS MIDI B」に分けて、現在ある各社の機器がどちらの結線になっているかが書かれています。「TRS MIDI A」が今回規格になった方です。 https://www.midi.org/articles-old/updated-how-to-make-your-own-3-5mm-mini-stereo-trs-to-midi-5-pin-din-cab
8月4日、5日は東京ビッグサイトで Maker Faire 開催中です。全部をじっくり見る時間はないので、楽器系だけ見に行く感じなんですけどね。今回はなぜか楽器系がゾーンにまとまっていなくて割合分散していたようです。 いや、暑い。駅からビッグサイトまでの徒歩がもう駄目な感じの暑さですが、会場内は冷房が効いてて思いのほか快適。 看板です。 会場に一歩入った様子はこんな感じです。 いつものテスラコイルの奴。高エネルギー技術研究室さん。子供に大人気で近づけない。 IoTデバイス、Chirimenコーナー。例の赤い基板(Echigo)も置いてありましたが、今はRasPiで動くIoTプラットフォームです。 こちらはSORACOMさんのIoTデバイス。AmazonのAWS対応のボタンデバイスらしいです。 これはLittleBitsなんだけどスターウォーズとのコラボパッケージの模様 KorgさんのFL真
今日 Chrome 68 が Stable に来たようです。 それで以前から通告があったわけですが、https 接続じゃないと警告がでる、と。 それでこのざまですけど、流石にネット系銀行は対応済みみたいですが、その他の銀行関係はもう少し気にした方が良いんじゃないですかね。まだもの凄く目立つというほどではないですけど10月頃にくる予定の Chrome 70 ではこれが赤文字になるようです。 対応はサイトによって色々みたいですが、まず 証明書が EV認証かドメイン認証か EV認証だとアドレスバーに緑色で企業名。個人では取れないし高い。 EV認証(とかOV認証)に本当に意味はあるか、みたいな議論もあるみたいだし、 細々とやってる所ならとりあえずドメイン認証で充分じゃないのとは思う。 ドメイン認証だとアドレスバーが「保護された通信」になります。 http から https にリダイレクトするか 古
今まであまり気にしてなかったのだけど、良く見ると Arduino の電源部分ってなかなか興味深い事になっているのだな。 推奨される Arduino に電源を供給する手段としては ・DCジャックに 7 - 12V を供給する ・VIN端子に 7 - 12V を供給する ・USBケーブルを接続して5Vを供給する という方法があり、その他に 5V 端子に 5V を供給する、という手段も良く使われているようです。 下の図が Arduino の電源部分の抜粋なのだけど、上の段 X1 がDCジャックで逆流防止のダイオードを通した所が VIN、そこから U1 の NCP1117 がレギュレータで 5V を作っていると。一方下の段、USBVCC が USB からの 5V でこちらは MOS FET のスイッチを通して 5V ラインに直結されます。で、この MOS FET のスイッチは U5 で制御されるの
大晦日なんですけどね。 input-knobs.js というライブラリを作ったりして、ちょっとこの HTML の <input type="range"/> タグという奴と格闘していました。タグ1つで連続値を入力するスライダーが書けるのでとにかく便利。個人的に HTML5 で追加されてよかったタグ第一位くらいに位置するのですが...。 ただ、見た目がね。かなりカオスな事になっています。 現状、シンプルに <input type="range"/> と書いた時に表示されるものが下の図です。興味深いです。Macの方はそれなりに統制が取れているんですけどね。ことデザインに関しては Apple に真っ向から盾突くわけにも行かないとかいう事情があるんですかね? 経緯は知りませんけどみんな Apple の Safari に寄せて来てるんですか? 一方 Win の方はみんな自由すぎ。そもそもの MS E
これは 「WebAudio/WebMIDI API Advent Calendar 2017 Advent Calendar 2017」 用の記事です。 Advent Calendar にはこの他にも Web MIDI/Audio 関係の記事がありますのでよろしければどうぞ。 https://qiita.com/advent-calendar/2017/webaudiowebmidi W3C サイトで公開されている Web Audio API のワーキングドラフトは2年前から変わらず、2015年12月版のままなんですが、GitHub に置かれているエディターズドラフトは2017年も色々と変更が加わっています。 完全には追い切れていませんが、どんな変更があったのかざっと紹介したいと思います。なお昨年中に行われた変更は昨年の記事、「2016年、Web Audio API はどう変わったのか?」
MS-50GはZOOMのエフェクターで、ストンプ1個分のサイズにやたらと多くのエフェクトが詰め込んであるマルチエフェクターです。 今年3月にファームウェアがVer.3へアップデートされ、今までエフェクトが100種類だったものが、172種類になりました。4月に買おうとしたところしばらく入荷待ちだったのでアップデートされた状態で来るのかと思いましたが、まだVer.2のままで自分でファームアップデートする必要があります。 172種類のエフェクトをすべて本体に書き込む事はできず、PC上の「Effect Manager」というユーティリティでまず本体に使いそうなエフェクトを書き込み、その中から最大6個をシリーズに接続する形になります。本体に書き込めるエフェクトは内容によって変化し、172種類中の120~150程度です。微妙にサイズ超過で全部入れられないのはファームを強化し続けた結果、初期の設計に収ま
: サイト内検索 トップ 製品 KnobMan 偏ったDTM用語辞典 過去記事一覧 ソフトウェア/VST WebMusic その他 g200kg > Web Audio API 解説 > 01.前説 Web Audio API 解説 2019/01/1901.前説 « Prev 01.前説 02.とりあえず音を出す 03.オシレーターの使い方 04.ノードの接続 05.ノードのライフタイム 06.バッファソースでワンショットサンプルから音を出す 07.パラメータとオートメーション 08.a-rateパラメーターとk-rateパラメーター 09.スクリプトプロセッサーの使い方 10.フィルターの使い方 11.オシレーターのカスタム波形 12.アナライザーの使い方 13.ディレイの使い方 14.ウェイブシェイパーの使い方 15.コンプレッサーの使い方 16.コンボルバーの使い方 17.パンナー
8月5日~6日に東京ビッグサイトでDIY系のビッグイベント、メイカーフェアが開催されました。ごく一部ですがMUSIC関係のエリアだけざっと回ってきました。 日時 : 2017年8月5日(土) 12:00〜19:00、6日(日) 10:00〜18:00 会場 : 東京ビッグサイト(東7・8ホール) せんとれさんのブース。純粋なユーロラックシンセモジュールという形で出展しているのは少数派かも。 WOSKさん。ハンドスピナーでスクラッチプレイができるガジェット。時流に乗った新ネタの仕込みに抜かりはないようです。 これもWOSKさんで物理的なメトロノームからマスタークロックを出力するデバイス。DAWをメトロノームに同期させたりできます。これは面白い。 結構以前から謎楽器界では知名度があったSlapStickが日本上陸。「ヌードル」とも呼ばれるもので細長い鉄板を指で叩いてスラップベースっぽい音が出ま
2016年、もう11月も半ばですね。Web Audio API も2015年末の Web Audio API WD からこの1年でそれなりに変更が入っています。 完全に追い切れているわけではないけど、ざっくり。 AudioWorker が AudioWorklet という名前に変わって再設計される これにより、 AudioWorker => AudioWorklet AudioWorkerGlobalScope => AudioWorkletGlobalScope AudioWorkerNode => AudioWorkletNode AudioWorkerNodeProcessor => AudioWorkletProcessor にそれぞれ変わりました。 JavaScriptでの直接的な音声処理の手段としては、元々はScriptProcessor (JavaScriptNode) が用
今せっかくソフトウェアコンフィギュアラブルなDSPモジュールを作っているのだし、簡単に表示を変えられるようにパネルの上に重ねるオーバーレイシートを作ろうとして、この間から透明シートに白文字を印刷する方法を調べたりしているのだけど、何か手軽な方法があるだろと思って調べてみると意外にもこれがとっても難儀な事であるらしく、主に模型界隈で随分と色々試行錯誤が成されている模様です。 現状どんな可能性があるのかせっかくなのでメモを残しておきます。 ※なお、白文字じゃなくて黒文字ならこんなに苦労しなくても良いんですけどね....今更だけど ■ 印刷業者に頼む多分品質的にはこれが一番信頼できるし手間もかからないと思います。問題は値段。 そもそも10枚頼むのも100枚頼むのもあまり費用が変わりません。ちょっとテスト的に何枚か作ってみようという時は辛いです。例えばこんな感じ。 http://www.insat
数か月前、Chromeアプリ(ChromeApps)が今後廃止されるというニュースが流れてましたが具体的に何ができなくなるんだっけ、という事で。 ChromeアプリはChromeブラウザをベースにしてスタンドアロンアプリ的なものをHTMLとJSで簡単に開発するための仕組みなのですが、廃止の理由がそもそも使っている人が全体の1%程度しかいないし多くはChrome拡張で代替できたりするからという事らしいです。「Chromeアプリ、何それ?」というのがニュースに対する大体の反応だった感じだったのは仕方がないですね。 Chromeアプリでは専用の割合低レベルなapiが提供されているのですが、manifestファイルで個別にpermissionを得る必要があります。私もシリアルポートアクセスくらいしか使ったことないんですけど、このあたりの仕組みはChromeのブラウザの機能を拡張するChrome拡張
この間から時々YouTubeのライブストリーミングでだらだらとノイズを垂れ流すテストをやったりしていたのですけどね、大体気が済んだら消しているのですけど、今日ふと気が付いたら残っていたストリーミング動画に例の著作権のコメントが表示されているではないですか。 いやいや、これ私がだらだらと即興で流したノイズですから。 このコメントが意味するのは、第三者から自分が権利を持っているというクレームが入って、「まあ使わせてあげても良いけど、動画に広告を入れて収益はもらうからね」という事です。 これが正常に運用されているならば良い落としどころだとは思うのですが、厄介なのはこれに目を付けて無関係なものに権利主張をしまくる不届き者がいる事なんですよね。普通にアップロードした動画なんかでは時々あったんですけど、ライブストリーミング動画でも来るんですね、これ。 ちなみにこの著作物判定の仕組みですが、アップロード
今更という感じもあるのですが、MIDIの仕様をまとめたドキュメントが、 仕様を策定しているMMA (www.midi.org) のサイトで最近正式に一般公開されたようです。 https://www.midi.org/specifications/item/the-midi-1-0-specification 今までも断片的な情報はネット上のあちこちにあってちょっと調べれば大体の事はわかる状態ではあったのですが、 正式なドキュメントが公開されているわけではありませんでした。 最初の策定から既に30年以上経っていますけど、 誰でも仕様の原本に当たれるようになった事は喜ばしい事ですね。 去年あたりからMMAのサイトが大幅な改修が行われていて、 いつ一般公開状態になったのか良くわからないのですが...。 とはいえ、その仕様の原本自体が相当な年月をかけて修正/増築を重ねてきていますので、 なかなかわ
: サイト内検索 トップ 製品 KnobMan 偏ったDTM用語辞典 過去記事一覧 ソフトウェア/VST WebMusic その他 g200kg > Web Audio API 解説 > 12.アナライザーの使い方 Web Audio API 解説 2019/01/1912.アナライザーの使い方 « Prev 01.前説 02.とりあえず音を出す 03.オシレーターの使い方 04.ノードの接続 05.ノードのライフタイム 06.バッファソースでワンショットサンプルから音を出す 07.パラメータとオートメーション 08.a-rateパラメーターとk-rateパラメーター 09.スクリプトプロセッサーの使い方 10.フィルターの使い方 11.オシレーターのカスタム波形 12.アナライザーの使い方 13.ディレイの使い方 14.ウェイブシェイパーの使い方 15.コンプレッサーの使い方 16.コン
Web Audio API Working Draft 08-Dec-2015 翻訳完了しました。 http://g200kg.github.io/web-audio-api-ja/ Working Draft としては WD10-Oct-2013 から2年振りの更新ですが、どう変わったのか軽く見てみます。 ScriptProcessor の廃止予定と AudioWorker の追加 JavaScript で直接音データを操作する ScriptProcessor ノードが廃止予定となり、代わりに AudioWorker が定められました。変更として多分これが一番大きいもので、仕様書上も AudioWorker 関係がかなりの部分を占めています。 そして困った事にこの AudioWorker を実装したブラウザはまだ存在しません。@mohayonaoさんが polyfill を作ったりしてい
ここに置いてあります CD74HCxx.zip 全部を一覧できるように並べた図がこちら CD74HCxx.pdf 今年に入ってからKiCadを触り始めていてまあ結構使えるかなとは思っているのですが、やはり部品ライブラリについては自前での整備がかなり必要そうです。取りあえずこれはどうしたものかと思ったのが標準ロジックのシンボルなのですが、サイズがでかいんです。 ゲート1個がオペアンプよりかなり場所を取るのはなぁ...どうもなぁ...。 デジタルオンリーで書いてる内は良いかも知れないけど混ざるとかなりの違和感。遠近感がおかしい感じに。 という事で自分が使う奴だけでもと思ってちまちま作り直しはじめたのですが、 それが結構揃ってきてしまったのでまとめておきました。単体のロジックICは流通量も少なくなってきていますが、74HCxxシリーズで現在でも千石電商とか秋葉原の店で普通に入手可能なものだけ90
Dave Yarwoodさんという方がテキストエディタで音楽を記述するための「Alda」という言語を提案しています。 readmeを見ると「PPMCK」、「LilyPond」、「ChucK」あたりにインスパイアされたという事ですが、ざっと見た感じ、いわゆるMML (Music Macro language)を拡張したような雰囲気になっています。ちなみにPPMCKはNES(ファミコン)用のMML拡張、LillyPondはノーテーション(記譜)用のフォーマット、ChucKはCSoundみたいな音響記述言語ですね。 こういうテキストエディタで簡単にメロディが書ける言語はちょこっとした音楽系アプリなんかで良く欲しくなったりするのですが、なんとなくMMLというジャンルの緩いデファクトスタンダードみたいなものしかなくて、実装毎にみんなちょっとずつ解釈が違うという困った状態になっています。みんな毎回独自
WebAudioAPIのワーキングドラフトはまだ2013年10月版から更新されていないのですが、最新のエディターズドラフトでは、既に様々な変更が入ってきています。 大きな所は ・AudioContextのsuspend()/resume()/close()が追加された ・AudioWorkerノードが追加され、ScriptProcessorノードはDEPRECATED扱いに ・StereoPannerノードが追加された というあたりです。他にも色々細々と変わっています。 仕様の日本語訳も更新したい所ですので早めにワーキングドラフトになってくれるとうれしいですね。 WebMusicハッカソン#4も近づいてますし取りあえず日本語訳ページにちょこっと注記だけ入れておきました。 Web Audio API (日本語訳)
次のページ
このページを最初にブックマークしてみませんか?
『g200kg Music & Software』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く