2022-01-01から1年間の記事一覧

12月の開発記録(2022)

大晦日、1年分の振り返りを書く時間がなさそうなので、いつも通りひと月分だけのアップデートです。 Zrythm/DAW勉強会の下準備 12/11にはZrythm DAW勉強会を開催しました。いつも20人いれば多いほうかな?みたいなノリでやっていたところに、最終的に50人近く…

JUCE 7.0で追加されたLV2サポートについて

JUCE Advent Calendar 2022、2日目のエントリーです。 2021年の半ば頃からJUCE開発者がサポート計画を公言して以来、コミュニティで話題になっていたLV2プラグインフォーマットのサポートが、ついにJUCE 7.0のリリースで実現しました。 LV2プラグインなんて…

VitalにCC0ライセンスのWavetableを大量に取り込む

DTMテクニック集 Advent Calendar 2022、初日が空いていたのでトップバッターをつとめることにしました。 1月にVitalのウェーブテーブルとして使えるフリー素材を大量にVital用ファイルとして取り込んだリポジトリを作ったので、その話を書きます。CC0ライセ…

11月の開発記録(2022)

毎年「えっ、11月って31日まで無かったっけ?」って思ってしまう人です(時候の挨拶) 勉強会: Zrythmから読み解くDAWの作り方(12/11) music-tech.connpass.com 10月に「あと11月のうちに1回オンライン勉強会をやっておきたいですね。」などと書いていたので…

10月の開発記録(2022)

M3 2022秋の出展 10/30のM3 2022秋 (50回目だったらしい)に「オーディオプラグイン研究所」として出展参加しました。技術書典13で発行した「CLAPオーディオプラグイン開発ガイド」に加筆修正を加えた「正式版」の印刷版・電子版と、「Linux DTMガイドブック…

9月の活動記録(2022)

9月がいつの間にか過ぎていました(忘れてた)。9月はまだ半分以上台湾で過ごしていたんですよね。いつの間にかすっかり日本で落ち着いてしまいました。9月は表立った活動としては技術書を2冊書いたのが主だったところです。 CLAPオーディオプラグイン開発者…

8月の開発記録 (2022)

ちょっとだけ台湾生活のようす 台湾で日常生活を送りながら日暮しPCに向かいて過ごしています。日本も医療崩壊がひどいことになっていますが、安全に過ごせる度合いは台湾とどっこいどっこいなところがあるなあと感じています。公共交通機関でマスクを外す人…

オーディオプラグインのパラメーター変更と通知に関する覚書

最近自分のプラグインフレームワークでプラグインパラメーターのサポートを設計しているのだけど(パラメーターのサポート無かったの!?と思われそうだけど、これまでは古いLV2と同じでパラメーター毎に「ポート」を用意するスタイルで実現していたのを再設計…

Android 13のMIDI 2.0サポートについて

Android 13正式版がリリースされてAOSPにcode dropされたようです。 Android 13には興味深い新機能がいくつかあって、個人的にはLE Audioサポートの追加で音楽ソフトの体験が変わりそうなのとAndroid 12Lで追加された(主に)タブレット向けの複数Activity並…

7月の開発記録 (2022)

COSCUP 2022に登壇するために台湾に来ています。 台湾はまだ観光ビザで訪問できないので、就業金卡というビジネスビザの一種で来ています。ある種の職能スペシャリストビザの一種で、いくつかの条件を満たせば申請が受理される見込みがまあまああるのですが…

CLAP 1.0公開を機にオーディオプラグイン規格の何たるかを知る (4) 拡張機能・各論 ほか

一般的な拡張機能 状態(state)の保存・復元 DAWで音楽を打ち込んだ内容をセーブすると、各トラックに設定されたプラグインのパラメーター等をひと通り操作した状態(state)を保存することになります。逆に楽曲データをロードすると、プラグインのパラメーター…

CLAP 1.0公開を機にオーディオプラグイン規格の何たるかを知る (3)オーディオ処理のパイプライン

オーディオ処理部分の基本形 オーディオプラグイン規格は、それぞれ互換性が無いものですが、楽器やエフェクターとしての基本的なオーディオ処理の部分には共通の部分が多いです。以下に擬似コードで列挙します。 create(): プラグインを生成する activate()…

CLAP 1.0公開を機にオーディオプラグイン規格の何たるかを知る (2)オーディオプラグインの拡張機能の種類

連載2回目の本エントリーでは、オーディオプラグインの「拡張機能」としてどのようなものが存在するのか、CLAPとLV2を例としていくつか見ていきましょう。各拡張機能の詳しい内容には今回は踏み込みません(以降の回に期待して下さい)。 まずはCLAPにどのよ…

CLAP 1.0公開を機にオーディオプラグイン規格の何たるかを知る (1)

5月に「CLAPオーディオプラグイン is 何?」という雑なLT(LTなので!)を行いました。このときは短時間だったので技術的な詳細には踏み込ませんでしたが、より多くの人が踏み込んで技術的に評価できるように、もう少し技術的な詳細に踏み込んだ解説があるべき…

6月の活動記録 (2022)

6月は雨が多くて好きじゃないという人も少なくありませんが、わたしは好きじゃないですね(時候の挨拶)。 AAPのPrefabパッケージ化とlibcxx-provider AAPの開発がAndroid Studioのデバッグ実行まわりの不安定さに引っ張られてスムーズに進まないので、今月…

モバイル・エコシステムに関する競争評価(中間報告)に対するパブリックコメント 最終版

話題の*1「モバイル・エコシステムに関する競争評価(中間報告)に対するパブリックコメント」を自分でも書いたので公開しておきます。 public-comment.e-gov.go.jp 以下本文: この報告書の位置づけに対する理解 (この項目は、提出用フォーマットの「2.記載…

5月の開発記録 (2022)

5月、割と大したことをしていないうちにあっという間に過ぎましたが、ちょいちょい活動していました。 MIDI Innovation Awards応募記録 これは正確にはほとんど4月なのですが、4月にオーディオ開発者界隈でちまちまと話題になっていたMMA (MIDI Manufacturer…

4月の開発記録 (2022)

4月が終わろうとしています。今月は副業で某XIVの冒険者を始めてしまって進捗がひどいことに… ADC21セッション動画鑑賞会 #1 をやった 4/6にひさしぶりにオーディオ開発の勉強会を開催しました。 music-tech.connpass.com 見たのはVitalの開発者がウェーブテ…

オーディオプラグインのインスタンス生成スレッドに関する覚書

AAP (android-audio-plugin-framework) のホスト実装のひとつとして、JUCEのAudioPluginHostを利用しているのだけど、最近全面的に再構成しているホスティングAPIに基づいてJUCE統合(AndroidAudioPluginFormat)を書き直していて、だいぶ行き詰まった問題が…

3月の開発記録 (2022)

早いもので3月が終わろうとしています。2月の終わりから全く世界情勢が安定せず、誰もが落ち着かない雰囲気の中で日々を過ごすことになったと思います。自分も例外ではないところですが、多かれ少なかれ影響を受けつつも、自分の作業は進められるだけ進めて…

JUCE on Android : fixing ClassNotFoundException on non-main thread

調査の端緒 JUCE on Androidには、メインスレッド以外ではJNI経由でAndroid frameworkとJUCEのクラス以外でまともにJNI呼び出しが行えないという問題が存在する。自分が初めての発見者というわけではないようで、JUCE forumに同様の報告がある。 forum.juce.…

2月の活動記録 (2022)

先月ちらっと書いたのですが、今月はAndroidオーディオプラグインの抜本的な仕切り直しを計画していました。 今年は完全個人プロジェクトを卒業して他の人にも使ってもらえるようなところまで持っていきたいという気持ちがあります。去年も1人で続けていまし…

1月の活動記録(2022)

2022年最初の活動記録です。といっても実のところ今月は書けるようなことがびっくりするくらい無いですね。というのは、昨年末に書いた話ですが、いじっていたemscriptenまわりのやつとか、他にも何点かあるんですが、ほとんど全滅状態で、あとAndroidオーデ…