Q3〜10月前半の開発記録

7月の作業記録は別途書いてあって、8月の作業記録はMIDI 2.0本の告知がだいぶ持っていってしまったのですが、他のこともちょろちょろとあったので、最近までの自分用開発記録をまとめておきます。時系列は順不同です。 ADLplug/VST3 on LinuxとJUCE6+LV2 JUC…

MIDI 2.0 UMPの中にメタデータを埋め込む

今日SMFに近い演奏データのデータフォーマットをMIDI 2.0 UMPベースで実装しようとしていて気付いた小ネタ。いろいろ増やしてMIDI 2.0 UMPガイドブックの改訂版を出す場合はその時に取り込もうと思っています。(改訂版は技術書典サイトとboothではアップデ…

技術書典9で買って読んで良かった新刊リスト

技術書典9の気になった新刊リストその2…を書くタイミングではないので、実際に買って読んだ本について一昨日くらいに書いた感想ツイーヨの配列を返します。手抜きでアレですが読まれてほしい〜 浮動小数点小話、標準の規定から言語実装ごとのゆらぎ、ハード…

MIDI 1.0/2.0はどのくらい「現役」の規格なのか?

MIDI 2.0の同人誌を出して、ぼちぼち売れているのですが*1、この本にどういう意義があるのか説明しておいたほうがいいかなと思いました。 みんな「MIDIなんてもう使われていない古い規格じゃないの?」とか「新しいバージョンを出して何の意味があるんだ?」っ…

技術書典9の気になった新刊リスト(その1?)

技術書典9、まだ始まっていないけどどんな本があるかはこれまでと同じくサークルチェック…ならぬ気になった本チェックができるようになっています。 techbookfest.org というわけで、さっそく新刊を全部チェックして面白そうなものに♡を付けて回っていました…

新刊のお知らせ2: LV2オーディオプラグイン開発ガイド

昨日に引き続き技術書典9 & M3 2020秋の新刊リリースのお知らせです。2冊目、というか書いた順としては1冊目なのですが、8月に予定として発表した「LV2オーディオプラグイン開発ガイド」です。 techbookfest.org 書籍紹介は序文からのコピペなのですが、ここ…

新刊のお知らせ(MIDI 2.0 UMPガイドブック)ほか

(8月の作業記録のつもりでまとめ始めたのですが思いのほかMIDI 2.0祭りになってしまったので新刊告知エントリとして生まれ変わりました…!) MIDI 2.0 UMPガイドブック @ 技術書典9 / M3 2020秋 lv2-midi2 cmidi2: allocation-free, header-only MIDI 2.0 UM…

MIDI 2.0 UMPにおけるノートオン命令について

正式なリリースについてはまだ白紙状態なのですが、いまMIDI 2.0 UMP (Universal MIDI Packet、雑にいえば新しいMIDIメッセージのフォーマット)に関する調べ物をしていたらだんだん同人誌化できそうな感じになってきたので、そのうちまとめて出そうと思って…

7月の作業記録

ひさしぶりに半ば自分用メモであるところの作業記録を書くわけですが、ここ1ヶ月強の成果を振り返ると、びっくりするくらい何もない…! どうしてこうなった…?と冷静に振り返ってみると、(6月にも書いたのですが)自分のメイン開発マシンであったところのHP S…

6月の作業記録

このシリーズのタイトル使うのひさしぶりなんですが、先月書いたaria2webも実質的に作業記録みたいなものなんで、掘り起こして復活させた、みたいな感じではありません…。 6月の、と書き出してしまいましたが、前回からの差分だけにしておきます。3週間くら…

aria2web: SFZ ARIA GUI extensions on Web UI (Part II)

復習と後半の導入 オーディオプラグインフレームワークの選択 LV2 UIの独立ライブラリ設計 LV2プラグイン実装のトレンドに関するフォローアップ LV2 External UI LV2 UIのプロセス分離 オーディオ処理部分とのやり取りとウィンドウ管理 AtomとPatch ウィンド…

aria2web: SFZ ARIA GUI extensions on Web UI (Part I)

目次 動機: なぜSFZを使うのか ARIA GUIとは何か webaudio-controlsを活用してHTML UI化する なぜWeb AudioでもないのにWeb UIなのか 後半へ続く 4月頃に、自作オーディオプラグインフレームワークのUI構想についていろいろ検討していて、SFZサウンドフォン…

LV2のGUIサポートのトレンドに関する覚書

追記: zrythm作者からいただいたコメントがプラグイン開発者側の最新のトレンドについて詳しく言及しているのでそちらも参照されたい。 目次 オーディオプラグインのGUI実装の一般論 LV2 UI feature UI拡張API GUIフレームワークのミスマッチ suil Gtk3サポ…

オーディオプラグインの動的ポートに関する覚書

最近自分がやっていることは多分もう自分以外の人にとっては完全にイミフだと思うが、後で歴史を発掘する作業も必要になってくると思うので、記録を残しておこうと思う。自分のオーディオプラグインフレームワークで最近ずっと悩みつつ進めている動的ポート…

PACEによるJUCEの買収とJUCE6開発計画が予告された件

4月になってからJUCE方面の動きが大きい。今日はついにPACE社がJUCEを買収したというニュースが出てきた。それなりにセンシティブな話題で、ある程度JUCEにコミットメントがある人には書きにくい話もあると思うので、完全に無責任な立ち位置で書いておこうと…

3月の開発記録

4月ももう1/3くらい過ぎているのに3月かよ?ってなりますが、PCを修理に出したり、そこに至るまでそもそもPCの不調にやられたりでいろいろ止められていた感じです。 3月からいよいよ世間がコロナ一色になって落ち着かないですね。わたしは世間一般でようやく…

2月の活動記録

早くも冬が終わりそうで、基本的に冬型人間のわたしとしてはこのままずっと冬が続いてほしいし皆さんには永遠に春が来ないでほしいと思っているのですが、いかがお過ごしでしょうか。(時候の挨拶) というわけで2月の活動記録です。 目次 Music Tech Meetup…

JUCEベースのオーディオプラグインを自分のフレームワークに輸入する

こちらは二部構成の後編になる。前編はこちら。 atsushieno.hatenablog.com タイトルは対照的ではないけど、今度は「JUCEでカスタムAudioPluginFormatをホストする」の反対側、すなわちJUCEを使って自分のプラグインフレームワーク用のオーディオプラグイン…

JUCEでカスタムAudioPluginFormatをホストする

そろそろ忘れそうなので備忘録的に書いておく。 自分で独自のオーディオプラグインフレームワークを開発していて課題になるのは、自分でフレームワークからアプリケーションまで全てを開発するのは不可能だということだ。そういうわけで可能な限り既存のリソ…

1月までの開発記録

前哨戦 2019年はちょっと仕事をしてすぐ辞めてまた無職に戻るという謎ムーブをしていましたが、それは主として自分のやりかけのプロジェクトをかたちにしてそっちの道を進んだほうが良いと考えたからでした。 11月下旬から週休5日になってだいぶ余裕は出来た…

Music Tech Meetup #1 (Night)を開催します

ここ1年くらいずっと「音楽ソフトウェア系の開発者とユーザーの両方をターゲットにした音楽技術の勉強会をやりたい〜」などと言っていたのですが、ようやく時は満ちた…! ということで来月2/6に開催します。 connpass.com 今日の正午くらいに募集開始したので…

さいきょうのCode of Conductを求めて

こんど新しく勉強会を立ち上げるのだけど、2020年に新規コミュニティを立ち上げるのは、自分が今までやってきたような勉強会(Xamarin.Forms読書会とかmono meetingとか)を作ってきたようなのとはだいぶ状況が違うようだ。特に最近よく話題になるのはCommun…

juce_emscripten: 最新のJUCE on WebAssembly

English version 目次 juce_emscriptenを体験する JUCEのプラットフォームバックエンドの基本 自分のプロジェクトをjuce_emscriptenでビルドする際の注意点 missing modules missing Projucer builder type missing resources 足りない機能は自分で移植でき…

2019年の仕事振り返り

仕事と言っても無職だけどな…! 2019年は、1年半前に始まった大無職時代をどのように生きるか、という問題に立ち向かった長い1年でした(こう書くと物は言いようっぽい)。音楽ソフトウェア開発者として、何もなかった頃の1年前と比べると、割といろいろ勉強…

libinstpatchとは

音楽技術etc. Advent Calendar 2019の…うーん…とりあえず21日目くらいにしようかな…のエントリーです。残りは上手く埋まったら埋めていきます。とりあえず今回はlibinstpatchについてです。短めに。 github.com libinstpatchはswami projectの一環として公開…

Xamarin/binding-tools-for-swiftについて

Xamarin Advent Calendar 2019 24日目のエントリーです。えっオマエ生きてたの?って感じですが、軽めのネタ・調べ物で参戦です。 目次 what is it? 今使えるの? どんなバインディングが出来るの? swiftライブラリのメタデータ構築 独自swiftc拡張 ラッパーsw…

LV2の概要

音楽技術Advent Calendar 2019の11日目のエントリーです。(まあだいぶ穴が開いているのですが、マイペースに埋めていきます。) What is LV2? LV2は主にLinux環境で利用できる、クロスプラットフォームのオーディオプラグインの仕様です。 オーディオプラグ…

JUCEにおけるz-orderの扱い

また音楽技術Advent Calendar 2019とJUCE Advent Calendar 2019のcross postingです。(現状どっちもとても埋まる気がしない) JUCE GUIのComponentには、その内容としてchild componentsをaddAndMakeVisible()関数を使って載せることができます。これはやや…

オーディオプラグインの理想的なGUIフレームワークを模索する

音楽ツール・ライブラリ・技術 Advent Calendar 20197日目のエントリーです。今日はポエムに近いです。 オーディオプラグインのGUIの要求事項 オーディオプラグインフレームワークというソフトウェアはやや特殊な世界で、歴史的な経緯を脇に置いて2019年現在…

MIDI 2.0の時代に備えて「FPGAとARMで作る自作 USBオーディオインターフェース」(同人誌)を読み解く

これは【推し祭り】技術書典で出会った良書 Advent Calendar 2019とhttps://adventar.org/calendars/3997のクロスポスティングです。 目次 音楽技術書をもっと増やしたい…! 本書の内容 MIDIの基礎知識 MIDI回路(FPGA) USB USB-MIDIの仕様 USB-MIDIの実装 MID…