4月の開発記録 (2021)

4/25にはM3 2021春がありました。サークルとして申し込んでいたのですが、その時はある程度MML + tracktion_engine + オーディオプラグインの制作環境で音楽を演奏できるだろうくらいの軽い気持ちで、申込内容は「ソフトのデモと展示」という趣旨になってい…

KotlinクロスプラットフォームMIDIエコシステムの構築

android-audio-plugin-frameworkにMIDIまわりの機能をいろいろ追加したいのと、いいかげん音楽制作のためにC#で作ってしまっていたツールをLinuxデスクトップでも開発できる言語環境で開発を再開していきたいという気持ちが、ずっと燻っていました(います)…

3月の活動記録(2021)

3月の開発記録です。長くなってしまったので分割して、こっちは「その他」編です。 VST3とSFZ探訪 2月にリリースされたWaveform 11.5がLinuxでVST3をサポートするようになりました。これによって、昨年10月で書いていた、プラグインをtracktion_engineとWave…

2月の開発記録(2021)

今月は前のめりにまとめた完全自分用の開発作業記録です。今月は上旬にちょっとDSPまわりの勉強をしていた以外は、だいぶAndroidAudioPlugin関連の開発に時間をつぎ込めた感じです。 s:/aria2web/aqua/ 割とどうでも良い前フリから。もう半年以上前ですが、a…

音声信号処理勉強会のKPT

1年前にMusic Tech Meetup #1 (Night)を開催したのですが、その頃すでにコロナの足音が聞こえてきていて、オフライン勉強会の開催はギリギリ可能という感じでした。その後はとても同様の勉強会を開催できるふいんきではなくなってしまいました(夏頃ならでき…

1月の作業記録 (2021)

恒例の自分用作業記録です。これが自分用でなくなる日は来るのだろうか。 making aap-juce hackable again aap-juceはandroid-audio-plugin-frameworkからJUCEプラグインの移植が無駄に大きくなりそうだったので切り離して作られたリポジトリですが、これも…

JUCE+CMake+Android now works

JUCE6はCMakeに対応していますが、実はCMake対応の恩恵を受けられないプラットフォームが存在します。Androidです。 「は?」というのが多分一番正しいでしょう。何しろCMakeはだいぶ前からAndroid Studioでサポートされているわけで、むしろ一番恩恵を受ける…

2020作業記録総括

2020年はあまりアウトプットに結びつかない1年(当社比)だったような気がしたので、そもそもどういう流れで今に至ったのかを振り返ってみました。(android-audio-plugin-frameworkに関連する話題がメインなのでMusic Tech Meetupなどの話は書いていません…

Q4の活動記録 / ネイティブコードを伴うAARパッケージ編成のベスト?プラクティス

10月後半から今日に至るまで最近の活動記録を流していなかったわけですが、実際引っ越したり錬金術の変拍子ゲームをやっていたり技術記事を書いたりしていて、あんましコードを書いてはいませんでした。というのは半分くらいは本当で、半分くらいは、やっ…

「DAW・シーケンサーエンジンを支える技術」第2版リリース

昨年M3 2019秋で刊行した「DAW・シーケンサーエンジンを支える技術」の第2版を改訂版としてリリースします。第1版のPDFをお持ちの方は後述の方法ですぐ入手できます。 技術書典10でも新刊とみなされて販売されます(第1版の書籍を第2版としてアップデートし…

prefab: Android Studioの最新ネイティブライブラリ依存解決機構

Android Advent Calendar 2020の20日目はAndroid NDK方面で今開発が進んでいるPrefabパッケージ機構についていろいろまとめます。タイトルに書いている「ネイティブ」とはC/C++等のコンパイラが生成するCPUネイティブなコードの意味です*1。 目次 Prefabとは…

JUCE vNext?に入りそうなMIDI 2.0サポートについて

JUCE Advent Calendar 2020 5日目が空いていたので、今週developブランチに追加されたMIDI 2.0 UMPサポートを実装するコードについて解説します。 https://github.com/juce-framework/JUCE/commit/9032f58 先月のADC 2020でJUCEブースに行って「MIDI 2.0をサ…

JUCEで作られたOSSオーディオプラグインをかき集めてみた

JUCE Advent Calendar 2020 3日目のエントリーはゆる〜く自分がこれまでかき集めてきた「JUCEで作られたOSSのオーディオプラグイン」をいろいろ紹介します。 目次 Rationale Birch-san/juicysfplugin osxmidi/SFZero-X TheWaveWarden/odin2 artfwo/andes asb…

M3 2020秋 サークル参加情報

今回も直前まで書かずに来てしまいましたが、明日10/25のM3 2020秋にサークル"ginga"として参加しています。割と最近(数週間くらい)に気づいたんですが、同人音楽サークルとしてgingaって名前だとgingaレーベルと紛らわしいんですよね…*1 追記: 素で書き忘…

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月からいよいよ世間がコロナ一色になって落ち着かないですね。わたしは世間一般でようやく…