関ケ原Ruby会議01に参加して、個人開発のMIDIデバイスの話をしてきました

1週間ほど経過しましたが、5/30に関ケ原ふれあいセンターで開催された関ケ原Ruby会議01に東軍中堅として参加し、Picorubyを用いた個人開発のMIDIデバイス、MIDoRIの発表をしてきました。当日の感想や発表中で伝えきれなかったことなどを書きたいと思います。

そういえば、当日発表中の自己紹介では触れなかったのですが、2010年ぐらいからRubyコミュニティに出入りしているのですが、実は遠征するタイプの地域Ruby会議参加するのは初めてなんですよ。

www.docswell.com

当日までの準備など

前回のブログでも触れているのですが、今年の3月ぐらいからちょっとずつ外に発表できるレベルに仕上がってきた、個人開発のMIDIデバイスのMIDoRIの発表先として、ちょうど募集していた関ケ原Ruby会議01のCfPに応募したところ、採択していただき、発表の機会を得ることが出来ました。ありがとうございました。

単純に次の発表の場として、気軽に申し込んだのですが、関ケ原Ruby会議は関ケ原という世界観を重要視した地域Ruby会議となっており、武将ネームの登録や数々のロールプレイを求められるなど、中々不慣れなところはありましたが、オーガーナイザーの方にもフォローいただきつつ、楽しむことが出来ました。

なお今回はMIDIをテーマにした発表だったので、かの有名なRoland製品であるところの「ミュージ郎」の名前をお借りして、名乗りを上げました。人を選ぶネーミングチョイスですが、一部の人にぶっ刺さってくれたので、概ね狙い通りだったかと思います。

なお、発表内容はRubyKaigiの時点から概ね固まっていたのですが、デモだけはRuby Illuminationでやったものとは違う方向性でやろうと思っていて、関ケ原の世界観を踏襲して和楽器を使った合奏デモにしました。普段使わない音色ばかりだったので、和楽器系のYoutube動画や音楽サイトを巡回し、どういう構成にすれば和楽器演奏っぽくなるのか学びながら作りました。

発表の補足など

今回1トラックだったので、参加者全員に発表を聞いていただくことなり、MIDIに興味がある人、そうでもない人、様々な方に感想ブログや発表終了後の休憩時間・懇親会などで感想をいただけました。ありがとうございます。その上で、当日の発表の振り返り、補足、感想に対する振り返りなどを書ければと思います。

色々前提知識などを含めて話したいこともあったのですが、20分という時間の中では語りきれないことも多く、個人的反省としては後半のpicoruby-midi標準化の下りと2つ目のデモをカットしてでも、もうちょっと前提の話をしても良かったかなと思いました。

このデバイスは何に使うのか

当日発表の中では電子音楽の中に挟み込んで、RubyでMIDIメッセージの制御を出来るんですよー、という機能的な話に留めましたが、電子音楽のジャンルの中にはマシンライブというジャンルがあり、複数の電子楽器を組み合わせて、楽曲を作り上げるプレイスタイルがあります。例えば以下のような動画です。

www.youtube.com

このように複数の楽器を組み合わせる場合において、それぞれをMIDIケーブル等で結線し、MIDIメッセージでやりとりをするわけですが、なんでも自由に組み合わせられるというわけではなく、そこにはそれぞれの機器の送信側・受信側のMIDI実装の対応状況に依存します。(加えてインターフェースが相互に異なる場合もあるので、変換などが必要な場合もあります。)また対応していても設定の切り替えが難しく、プレイ中に設定を切り替えることができないケースもあります。

これを解決する手段として、PCのDAWを経由して制御するという方法があります。例えば私はAbleton Liveというソフトを使っているのですが、一旦全ての接続をPCに集約し、そこから各機器に流し直すことで、柔軟な接続が出来ます。

ただし、これはDAWが対応している機能に限定されるので、やはりそこにも一定の限界はあります。またDAWレス派という、この手の演奏にPCを使いたくない人も一定いるので、そこに何らかの解決するデバイスが必要です。実はハードウェア的に解決するような製品もいくつかあるのですが、これらは需要も少なく一つ一つのデバイスが高価になりがちです。

MIDoRIはこういうシーンにおける課題の解決を目的としています。

MIDoRIは今後どこを目指していくのか

これは懇親会で笹田さんとお話ししたときにご質問いただいた内容で、MIDoRIは今後どこを目指していくのかという質問をいただきました。自分も今後どうしていこうかというのは、悩んでいたところでした。

直近やりたいことは、発表中にお話した通りで、
1. picoruby-midiをMIDoRI専用から分離して、他のpicorubyデバイスでも使えるようにする。
2. Bluetooth MIDIに対応して、他のMIDIデバイス同様BLE-MIDIに対応した機器も繋いでMIDoRIで制御できるようにする
3. PCでRubyのコードを書いて、MicroSD経由でMIDoRIに転送するのが面倒なので、R2P2的なソリューションを考える。(発表中ではR2P2を組み込むと説明しましたが、R2P2そのものの組み込みたいわけではなく、ブラウザなどから転送するソリューションさえ確立すれば、それで良いなと後から思いました)
4. 現状はUSB-MIDIのホスト機能だけ対応している状態なので、デバイス側も対応して、PCやホスト機能を持つMIDI機器に接続したときにMIDIデバイスとして認識させるようにする。
5. タッチUIを活かして、もっと汎用MIDIデバイスとして使えるようにUIを充実させる。例えば特定のCCを操作するダイアルを実装したり、スライダーを作ったり、XYパッドのように複数のパラメータに同時に作用させられるようなものも作れるはずです。(このあたりは笹田さんから専用のハードウェアインターフェースを拡張させることも可能なのでは、という示唆もいただいており、確かにそういう拡張が簡単にできれば、それも楽しそうだなと思ってます。)

あたりをやっていこうと思います。
このあたりはもう課題設定が完了しているので、あとは時間とやる気さえあれば出来るという状態で、今後どうしていきたいか、ところに関しては、悩ましい部分があります。

一つの方向性としては、よりデバイス単体でできることを増やして、単独で作曲をできるようにしたり、もう少し機能をDAW側に近づけていくアプローチです。この方向としては、先駆者としてM8 Trackerなどのデバイスやnanoloopというソフトウェアなどがあります。

オールインワンで何でも出来る音楽デバイスというところには魅力はあるのですが、こうなってくるとpicorubyを乗せてMIDI制御するという意味合いは薄れてきます。より楽しいデバイスにはなりそうですが、敢えてpicorubyを乗せてやるからには、もうちょっと面白い方向を模索したいところです。そもそもDAWとしての機能の充実を求めるのであれば、PCでやればいいわけで、そこと張り合うのはスペックが限定された組み込みデバイスでやるにはちょっと分が悪いです。

懇親会の中で、OSC(OpenSound Control)やMIDI2.0などに対応していくのはどうかというご意見を発表者で東軍先鋒のkazzixさんからいただきました。このあたりはそもそも対応機器を持ってないと、実装のモチベーションがない、ということもあるのですが、全然考えたこともなかったので、対応するとどういう事ができるようになるのか、含めて考えていこうかなと思います。

MIDoRI開発の楽しいところとか

あまり発表中には触れなかったことですが、普段抽象化されたレイヤーの上で、仕事をしているので、あまりコンピュータを制御しているという実感はありませんが、MIDoRIは小さい組み込み機器の中ではありますが、CPU・メモリ・各種IOなど、機器のすべてを意識しながらプログラミングをしています。画面切り替えの処理の最中に別タスクでメモリアクセスをすると死ぬとか、割込みの優先度を意識しないとフリーズするとか、Web開発をしている中では、あまり意識しないことです。

FreeRTOS上で動いているので、完全独自のOS開発をしているわけではないですが、自分のコンピュータとは別の趣味の延長上にこういう世界が見られるとは思ってもいなかったことです。

今後も何か機能実装が出来たら、お披露目していきたいと思います。発表中に楽器の収集と演奏が趣味と話した通り、開発に負けないペースで電子楽器を買っていたりもするので、毎回違う電子楽器をセットアップしてデモが出来ると楽しいなと思っています。

picoruby-midi標準化について

懇親会で、picoruby作者のhasumikinさんと、今後picoruby-midiをどうしていけば良いかについて方針を相談することが出来ました。
実はちょっと前にマージ方針を相談するissueを書いていて、それについての返信を関ケ原Ruby会議01前にいただいていたのですが、私が気づいておらず、先日ようやく確認できたところです。

その上で、以下のようにする方向で、方針を合わせました。

  • picoruby-midiは巨大なので、picorubyには取り込まず当面はmrbgemとして自分のリポジトリで管理する。
  • picoruby-usb_midi、picoruby-uart_midiなどはRP2040/RP2350などのportもできれば、改めてpicorubyで取り込むことも検討する。

自分も発表中に話したように、picoruby-midiはメモリ面の懸念があるなど、巨大になっているのが問題と思っているので、まずはもっとプリミティブなpicoruby-usb_midi / picoruby-uart_midiが省メモリで動作するようになるように見直して、その上でこれらを統合的に管理するpicoruby-midiをMIDoRIをリファレンス実装としてメンテナンスしていければ良いなと思っています。

picoruby-midiの標準化に興味がある方や、自分のプロダクトに取り込みたいと言っていただける方もいたので、これは話せてよかったなと思います。まずはリポジトリから用意していこうと思います。

他の人の発表、感想

どの方の話も楽しく聞かせていただいたのですが、自分と同じ枠で発表していた西軍中堅のpockeさんの発表には触れておかないといけないというかw

今回RubyKaigi中にpockeさんからは「実はMIDIの話なんですよ」と事前情報をいただいており、MIDIの話が来るということが分かっていたので、コントラスト映えするような内容にしようと意識していたのですが、MIDIキーボードで文字入力という発想には恐れ入りましたw

ただ、よくよく考えてみればMIDoRIでも今後USB-MIDIデバイス対応の過程でついでにHIDデバイスクラスを作れば同じ事ができるな…とも思い。1つのUSBに複数のデバイスクラスを持たせるのはPCはともかく電子楽器では対応していないこともあるので、実際にやるかどうかはともかく別観点のヒントを頂けました。

お互いのネタをオープンにしたときに、「これ運営、ニコニコしながらこの対戦カード組んだでしょうね。」という話にもなり、今回組まれたタイムテーブルにはそういう運営の妙が光ってましたね。

Rubykajaとか

そういえば、Roppongi.rbからRubykajaに推薦していただきました。ありがとうございます。
Roppongi.rbはOmotesando.rbからスピンオフして生まれた背景もあり、共同開催することもありますし、自分の所属する企業が六本木ということもあるので、積極的に参加していたのですが、気が付いたらroppongi.rbオーガナイザーの独断で推薦されました。こういう選出方法でもいいんだ…w

kaja.rubyist.net

自分が主催するomotesando.rbはというと、特にkajaを推薦しよう、という話があったわけではなく、(仮にあったとしても)自分が選出されてマッチポンプになる雰囲気もあったので、まあそれならいいか…というつもりで今回は不参加でした。
なんですけど、これをやると今後も推薦できなくなるなー、ということに後から気づいてしまったので、まあ次からはちゃんと参加しましょうね…という反省です。

観光など

二次会、三次会と普段RubyKaigiでしかお話ししないような遠方にお住いの方も含め、色々な方とお話ししながら、総じて楽しく関ケ原Ruby会議を堪能させていただきました。運営の方ありがとうございます。
今回武将として参加することで、運営と参加者のちょうど中間ぐらいの立ち位置で参加することができ、普通に参加しているだけでは得られない経験が得られました。

2日目は、何も用がなければ早々に帰ろうとも思っていたのですが、関ケ原なんて人生で2度来るかどうか分からん、ということもあり、車を借りて、養老方面に出かけました。

養老に出かけたのは、養老焼肉街道というのが、なんとも美味しそうだったのと、養老天命反転地という謎のネーミングの公園、養老の滝などもついでに見るか、という感じで、車でぐるっと観光してきました。

残念ながら焼肉はランチ時間の終了で、食べられなかったのですが、養老ビーフのステーキランチは養老焼肉街道の近くの店で食べられました。美味しかったです。

最後に

たまたま発表するネタがあったから、ということで参加した地域Ruby会議への初遠征ですが、とても楽しかったです。
さすがに毎回は参加するのは、金銭的にも時間的にも厳しいので、またしばらくはないと思いますが、またたまには顔を出せればよいなと思います。

改めて、運営の皆さん、参加者、発表者、大将の皆さんお疲れさまでした。

RubyKaigi & Ruby Illuminationsで個人開発のMIDIデバイス「MIDoRI」の発表をしてきました

RubyKaigi 2026のDay3イベントの「Ruby Illuminations」で現在個人開発中のデバイス、MIDoRIの発表をしてきました。
スライドは以下で公開しています。

www.docswell.com

MIDoRIとは

MIDoRIは、「MIDI on Ruby Interpreter」から名付けられており、複数のMIDI入出力のルーティングやパラメータ制御などをRubyスクリプトで制御出来るようにするデバイスです。

github.com

例えば以下のような問題を解決します。

  • MIDIキーボードの任意のキー入力を任意のMIDI chに変換して送りたい
  • プログラム上でシーケンスパターンを作って、別のMIDIデバイスに流し込みたい
  • MIDIキーボードから入力したコードに3度と5度の出力を追加して、コードハーモナイザーとして使いたい

類似の問題を解決するデバイスとしては過去にmidiglueというデバイスがクラウドファンディングで販売されており、私も1台持っているのですが、部品が製造できなくなった等の理由で、現在は入手困難品です。パフォーマー視点から見ても、技術者視点から見ても非常に完成度の高いデバイスなんですけどね。

sigboost.audio

MIDoRIは、汎用デバイスであるM5stackやM5stack Tab5上で動作することを目的としており、デバイスの入手容易性を考えると、現在この手の問題を解決する現実的な選択肢となります。

MIDoRIの生まれた背景

今から3年前、松本で開催されたkeebkaigiでPRK_FirmwareにMIDIを実装した話に遡ります。このときはあくまでキーボードにMIDI出力の実装を乗っけただけだったので、ただのMIDIキーボードを作って終わりだったのですが、自分が趣味としている電子楽器を使ったDTMで使うためには、もう少し本格的にMIDIをこねくり回せるデバイスを作りたいという野望がありました。つまり3年越しのKaigiEffectです。

kirika.hateblo.jp

これを実現するためには、Raspberry PI picoよりももっとスペックの高いマイコンチップ(当時ならESP32)、より潤沢なメモリ、専用のユーザーインターフェースの設計などが必要でした。
当初は自作キーボード作りもやっていたことがあり、自分でデバイスを開発するということも考えたのですが、基盤設計までやり切るだけの時間も知識も足りず、しばらく塩漬けされていました。

転機が訪れたのは、2025年の年明け、ESP32上でpicorubyが動くようになった情報からでした。

rubykaigi.org

これでやりたいことが実現できるかもしれない、とターゲットデバイスをM5stack CoreS3に定め、開発に着手しました。過去の散財ブログでもちょっと触れてますね。

kirika.hateblo.jp

M5stack CoreS3はESP32-S3を搭載し、PSRAMを8MB搭載したデバイスです。タッチスクリーンディスプレイを搭載しており、当初考えていた要件を満たしています。
なかなか個人開発に集中する時間が取れず、プロジェクトが進んでいなかったのですが、急激に賢くなったClaude codeがこれを一気に解決してくれました。

MIDoRIの内部実装については、関ケ原Ruby会議でお話する予定なので、それまで伏せておきます。(まあgithubのコミットログを見れば分かるのですが)

RubyKaigiの参加等

ある程度動くものが出来たので、なるべく展示・発表イベントには参加させてもらうつもりで申し込みをしました。以下申込順です。

関ケ原Ruby会議01

RubyKaigiのCFPはもう締め切られていたので、最も近い地域Ruby会議にCFPを出しました。
結果無事採択され、東軍中堅としてお話させていただくことになります。
西軍中堅のpockeさんとRubyKaigiでちょっとだけお互いのネタを開示したのですが、なるほどこれは好カードw、という感想でした。楽しみですね。

Ruby Illuminations

Pixivさん主催のRuby Music Mixinの後継イベント。
光・音・映像をテーマにした発表&DJイベントということで、今回の自分のテーマにピッタリだと思い申し込みました。
結果無事採択され、発表の機会をいただけることになりました。

折角ライブハウスで演奏させてもらえるということで、自分の持っている電子楽器の中でも、Ableton Push 3 standaloneという滅多に家から持ち出すことがない大物を持ち込みました。
スーツケースの重さが17kgになり、手荷物検査のときに受け取ってもらえるかちょっと不安でした。(重量制限20kgまでらしい)

音楽機材たち

ちなみに2つ目のパフォーマンスはAbleton Live 3からMIDIをMIDoRIに送って、MIDoRIがLUMI keysを発光させるパケットに変換するというデモなのですが、再生している間は自分はやることがなくなるので、手拍子と振り付けで盛り上げることにしました。家でも練習していたのですが、この力強さで手拍子を4分ぐらいやっていたので、終わったときには手が青アザだらけになりました。

SmartHR ShowCase郭 & HR Music Arena

Ruby Illuminationsに出すことが決まっていたので、もういいかな…と思っていたのですが、SmartHRさんの直前勉強会のときにmakicamelさんに「まきさんも当然出しますよね?」とお声がけいただいたのでw Ruby Illuminationsのネタバレにならない程度に出すことにしました。

すると、ShowCase郭の横でHR Music Arenaというイベントもやるらしい、ということを前日に知ったので、オフィシャルパーティ中に企画者のosyoyuさんを探して、自分も出してもらえないかお願いしに行きました。時間が厳しそうということだったので、risgkさんのシンセにMIDoRIをドッキングさせて共演する、ということになり、(この時点でrisgkさんには多分にご迷惑お掛けしているのですが…)時間があったらMIDoRIとrisgkさんの自作シンセを繋いでなんかやろうという話をしていたのが、ぶっつけ本番のステージで実現することになりました。

というわけで、オフィシャルパーティ後のomotesando.rb midnight meetup in Hakodateで、急遽接続テストをすることに。

具体的にどうドッキングさせるかとか、全くノープランだったのですが、Seaboard BLOCKSというMPEに対応した特殊なMIDIキーボードを持ち込んでいたので、出力はrisgkさんのシンセサイザー1本で、risgkさんの持っているMIDIコントローラーはそのままパススルーさせつつ、自分の持っているMIDIキーボードをrisgkさんの音源に転送する、というツーマンセル構成で動くようにスクリプトを組みました。

こちらの意図通りにスクリプトは組めていたのですが、Seaboard BLOCKSが元々MPEを前提としたキーボードだったので、途中で飛ぶMIDIメッセージの挙動が大分怪しく、終始risgkさんが首を傾げていたのが印象的でした(本当にすみません😅)。これについては、後日Seaboardが出力したMIDIメッセージのログをrisgkさんに提出して、何が起こっているのか細かく解析しようという話になり、そのうちリベンジすることになるかと思います。

コード懇親会

コード懇親会では、普段picoruby-esp32を使って開発している人たちが(ほぼ全員?)集まり、ワイワイと意見交換できました。
picoruby-esp32をR2P2-ESP32に統合するという話が上がり、「ここにいる人達が誰も異論なければやっても良さそう」という話になり、その場で決定しました。RubyKaigiみがありますね。
自分も今回の参加で、MIDoRIにR2P2-ESP32を取り込むモチベーションが高まったので、次回までに対応できればと思ってます。

まとめ

MIDoRIはまだ完成度としてはベータ版ぐらいの完成度なので、一般公開出来るレベルには達していないのですが、ある程度デモが出来る程度には仕上がってきました。
今回のRubyKaigiで今後の方向性も見えてきたので、もうちょっと仕上げたら一般公開しようかなと考えています。

今回発表の場として素晴らしい場所を提供していただいた、SmartHRさん、Pixivさんには大変感謝しております。ありがとうございました。

今年買ったものを振り返る 2025 Edition

もはや年一行事になりつつある、今年買ったものを振り返るコーナーです。

レギュレーション

  • 2025年~12月までに買ったものを時系列に並べる
  • 家計簿アプリの毎月の出費の中に「散財」カテゴリがあるので、そこに分類されているものを列挙。
  • 1万円以下のものを含めると終わらないので、1万円以上のものを対象
  • 書く前の予想としては、今年は中盤ぐらいの出費が激しかった気がするが、後半は控えた印象。今年は印象に残るものが最低3つはある。(フラグ)

1月

iPad(第10世代ぐらい)

実家に帰ってやることもないので、ビックカメラの初売りに並んで、特に欲しいものがあったわけではないけど、まあiPadぐらいかな…と思ったら当たってしまったので購入。
自分はiPad Proがあるので、特に不要なのでそのまま子供行き。最近はYoutubeとロブロックスばかりやってて、たまに取り上げられたりしているようですが。

M5stack Core3 SE & Module LLM

AliExpressからの購入だったので、一瞬何かと首をかしげましたが、M5stackとLLM Moduleでした。アリエク価格で15000円程度。
ESP32シリーズは2018年ごろから開発ボードを触っていて、小さなアプリはいくつか作っていたのですが、もうちょっと統合された環境が欲しいなと思い、ちょうどLLM ModuleというローカルLLMを動作させる拡張モジュールも販売されていたため、一緒に購入。ESP32はPSRAMが乗っていて16MBまでメモリ使用可能なのですが、LLM Moduleの方は何とメモリ4GB積んでいて、これ単体でUbuntuが動くというぶっ飛び性能。M5stackの拡張モジュールとして販売されていますが、これ単体で動作し、M5stackとはUARTで通信するだけというキワモノです。

自分は結構早くに手に入れていたのですが、しばらく品薄が続いていたと思ったら、販売終了した模様。

LLM Moduleの方はあまり触れていないですが、M5stack CoreS3 SEの方は個人開発で活用してます。

2月

モンスターハンターワイルズ

store.steampowered.com

9900円なので、ぎりレギュレーション圏外ですが、PCでモンハンワイルズを買っていた模様。
モンハンはPS4版のMonster Hunter Worldをプレーして以来ですが、快適動作圏内のグラボ(RTX3080)を積んでいることもあり、今回はPC版を選択。
昔一緒にやってた友人とシナリオクリアまでは持っていきました。忙しかったので、エンドコンテンツは残念ながら未挑戦です。

リンク調べると今は45%で買えるんですねぇ。(遠い目)

3月

Apple Macbook Air M4

ノートPCを5年ぶりに新調しました。前回はMacbook ProIntel Core i5、メモリ16GB)からの乗り換えです。
前回のMacbook ProはちょうどM1が出たばかりの年で、Intel Macを買うか、M1を買うかで悩んでいたのですが、まあ初物に手を出すのは危なかろう、とIntel Core i5を買ったのですが、予想に反してM1の評判が良かったですね。自分もあそこでM1買ってれば、もうちょっと延命できていたと思います。Touch Barも評判良くなかったですけど、あれはあれでロマンがあったと思います。

あれから対応アプリケーションは大体問題なくなってきたというのもあり、Intel Macにまだ値段がつくうちに売って、買い替えてしまおうということで、Macbook Air M4を購入しました。
ただ、家ではデスクトップマシンを使ってるし、外には会社のMacbookを持っていっている(どのみち、何かあった時のために持っていかざるを得ない)のでちょっと存在感薄いんですよね…。実家に長期間帰省するときの個人開発用途とかでしょうか。(あまり思いつく例がなく目が泳ぐ。)

4月

伊織 バスタオル

RubyKaigiで松山に行ったときに、道後温泉駅前のアーケードにある伊織本店でバスタオルでも買って帰ろうと、家族分含めて3枚購入。
全国の百貨店に入っている有名店なのでどこでも買えるものではありますが、今治タオルは個人的に買うならお土産でぐらいしか買わないと思い。
というか、利用履歴を見て気づきましたが、あそこが本店だったのか…。

www.i-ori.jp

家族(特に子供に)にも好評で、ちょっと高かったけど買ってよかったなと思います。

5月

NIKKOR Z 26mm/f2.8

nij.nikon.com

ニコンのZマウントのパンケーキレンズ。68000円。
一応Nikon Z7というZマウントのカメラを持っているのですが、レンズはFマウント時代に必要なレンズは全部揃えていたため、ZマウントのレンズはNikkor Z 24-200mm/f4-6.3の便利ズーム1本のみで、あとはFTZを使ってFマウントレンズを使っていたのですが、FTZマウントアダプタとFマウントレンズにするとカメラが大きくなってしまうので、そろそろ本格的にZマウントに移行していこうと思い、まずは薄型のパンケーキレンズを1本。

非常に薄型のレンズで、FTZのマウントアダプタぐらいのサイズしかないのですが、きちんとボケて、パキッとした解像感もある良レンズです。
ただ、やっぱりちょっと高いかも…というのと、プロテクターを取り付ける場合は、追加のアダプタをつける必要があり、それをつけると折角の薄型レンズの特徴を生かせない、というのが残念なところですかね。

今後Fマウントのレンズを少しずつZマウントに移行していくので、それに向けて予算確保を頑張っていくつもりです。

6月

Teenage Engineering OP-1 field

store.minet.jp

元々OP-1というおもちゃみたいなシンセサイザーが2010年代に売られていて、おもしろそうだけどおもちゃに10万はなぁ…という気持ちで眺めていたところに、突如後継機のOP-1 fieldが登場。著しい機能アップデートはなく、初代OP-1のマイナーアップデート版ぐらいの位置づけで、ボタンの押し心地や筐体の頑丈さなどがアップ、それに合わせて値段も26万へとアップ…と誰が買うねん、と内心思っていたのですが、最近の円安と世界的インフレであれよあれよと37万まで値上がりし、いよいよ買えない高嶺の花状態だったのですが、突如公式で41%OFFのキャンペーンが開始され、22万まで値段が下がりました。

icon.jp

やっぱ売れてなかったんだろうなぁ…というのと、いやそれでも22万はたけーよ。というツッコミはありつつ、このセールを逃すと本当に買うことはないだろう、と思い、ポチってしまいました。

感想としては、おもちゃみたいな見た目なのに、Macbookを半分にしたPCを持っているような重量と高級感。
バッテリーは20時間以上持つし、USBバスパワーで外付けのMIDIバイスに電源供給しながら稼働することができます。
スピーカーも内蔵しているし、おもちゃとして遊ぶには非常に楽しめると思います。ただ…音の出るだけ機材に22万出す感覚が分からない人は素直にMacbookでも買っておいた方がいいような気がします。

7月

RIMOWAのスーツケース

7月は家族旅行で沖縄に4泊5日で行っていたこともあり、ジャングリア沖縄のオープン2日目入場とか、その体験自体が散財ではあるのですが、分類上旅行カテゴリに属しており、レギュレーションには含まれておらず。
代わりに、沖縄で立ち寄った免税品店でREMOWAのキャリーを買ったので、こちらが散財カテゴリに入っていました。

www.rimowa.com

元々家には新婚旅行の時にイタリアで買ったドイツの無名メーカーのポリカーボネートのスーツケースがあったのですが、これが思った以上に頑丈で、壊れたら次を買うつもりでいたのですが、いつまでたっても壊れる気配がなく、15年ぐらい愛用してました。
ただ外見はまだまだ使えそうなのですが、内装の布とかが破れ始めており、これはそのうち買い替えることになるな…、ということで、次に買う候補として目をつけていたのがこのRIMOWA。

沖縄の免税品店で2万ぐらい安かったので、嫁と相談して、新しいキャリーとして購入しました。
ただ、高級品なので気軽に持ち運ぶ使い方が出来ず、長距離移動のトランクに預けるのも怖いので、まだ古い方のキャリーを使っていますw
キャリー用のAirタグを買ったら使おうと思います。

8月

沖縄旅行などの前月の散財が尾を引いたためか、大きな散財はなし。

9月

ミューシグナル FJ1

正確には今年の散財じゃないのですが、2年ぐらい前にクラウドファンディングで始まった、ポータブルDJ機器の開発に自分も1台分支援をしていて、それが2年の月日をかけて開発完了して、受け取ることが出来ました。クラウドファンディングは開発遅延は当たり前のように発生するし、ハードウェアの作り込みとか色々トラブルあったんだろうなぁ、というのもうかがえる経過報告だったので、静観していましたが、こうして手元に届くととても嬉しい。

www.makuake.com

DJは殆どやったことのない初心者なので、見よう見まねで適当に遊んでいるだけですが、パーティとかキャンプとかに持ち出して、手元の音楽流して楽しんでます。
ただ問題は最近サブスクで音楽聞いているだけなので、MP3のデータが少ないことですかね…。いくつか入れてみたい曲もあるので、久々にCD買って吸出しからやろうと思います。

10月

Spectrasonic Omnisphere 3

dirigent.jp

DTMやってる人じゃないとさっぱり分からない製品ですが、元々Omnisphere2というソフトシンセ音源があって、1万音色以上使えて、あまりの量の多さに何を使っていいのか分からない、という定番ソフトシンセなのですが、これが突如アップデートされて、Omnisphere3として新たにリリースされました。前のOmnisphere2もあまりの音色の多さに使いこなせてはいなかったのでアップデートするか悩んでいたのですが、Hardware Integrationという既存ハードの設定と融合して使用できるモードに大量に対応する機材が増えたようで、それ目当てにアップデートしました。

感想としては、目当てのHardware Integrationに関してはもうちょっとプロファイルが増えて欲しいのと、なんかちょっとバグがある…?のかAbleton Live経由じゃないとうまく動かないものが多く、前バージョンも10年近くアップデートを続けてくれた製品ということもあり、今後の改善に期待したいところです。

Nintendo Switch 2

www.nintendo.com

ニンテンドーオンライン加入者だったので、公式の抽選販売に申込。プレイ時間も条件クリアなので、割と早く手に入るかなと思っていましたが、5回の抽選販売にはすべて落選。その他一般販売の抽選も全部落ちていた状態だったのですが、その後の招待販売の1回目で無事当選。ついに我が家に一台目のSwitch 2がやってきたのでした。

ただ、10月は公私含めて近年稀にみる忙しさであったのと、そもそもSwitch2でやりたいゲームがあんまりないということもあり、完全に家族のゲーム機となってしまい、自分はまだほとんど遊べてないです。今はドラクエ1・2をSwitchでやっているということもあり、当分触ることはないかも。あ、子供はマリオカートゼルダ無双をやってます。

Western Digital 内蔵SSD 2TB

www.amazon.co.jp

Amazonプライムデーか何かで購入。使ってるデスクトップのSSDが1TBのが刺さっていて、残り容量が厳しくなったので拡張しようと思って購入。
ただ、これのアップデートが非常に大変だったというか、ちょうどWindowsのバグで復元ディスクからマウスとキーボードが使えなくなるバグを踏んでしまったために換装時期が大分ずれ込んでしまい、結局交換完了まで1か月以上かかってしまった。

この後、例のDRAM高騰騒ぎにより、SSDの価格も1万以上高騰してしまったので、良い時期に買ったのかもしれません。

11月

Keyball 44

shirogane-lab.net

前から気になっていたのですが、ずっと品薄で手に入らなかったKeyballが最近は割と手に入るみたいなので今更ながらに購入。
ただ、はんだ付けする時間がないので、まだ組み立ててない状態です。ちゃんと組み立てたら感想を書きたいところ。
というか、まずキースイッチを買わないとな…最近のキースイッチ事情がよく分からないので、まずはそこから調べていきたいところです。

12月

ARTURIA astrolab 37

今年最後の散財(多分)
そして発売日が12/28なので、お金は払ったもののまだ家に届いてません。
元々atrolabシリーズは61鍵と88鍵のシンセサイザーがあったのですが、サイズが大きく、既に別の61鍵のシンセサイザーが鎮座している状態なので、あまり買うつもりもなかったのですが、突如37鍵のサイズで出す、という発表があり、このサイズなら……ということで買いました。海外価格$799(実勢$699)だったので国内販売価格がいくらになるかが不安だったのですが、国内は11万円で落ち着いたようです。そしてどのショップも在庫切れの状況。

ARTURIAのシンセサイザーは2年前にMinifreakというシンセサイザーを買っていて、ACアダプタが必要だったのが難点だったのですが、今回のastrolab 37はUSB-Cが搭載されており、もしかするとモバイルバッテリーで駆動するのではないかなと思います。まだ届いてないので、届くのが楽しみです。

www.arturia.com

まとめ

今年は色々忙しかったこともあり、ストレス解消の向きが買い物に行ったようで、例年よりちょっとだけ散財が多かったように感じますね。
昔はPC関係のものにお金を使っていましたが、最近はそんなにスペックが必要なことをしていないので、PC更新の頻度は4,5年ぐらいの周期なので、お金を使うものとしてはそんなに目立たなくなってきました。最近は半導体や円安の影響を受けやすいものになっちゃったので、一層減っていくかなと思います。

カメラ関係は必要なレンズを揃え切ったこともあり、ここ数年は入れ替えがなかったのですが、そろそろお気に入りのFマウントレンズだけ残して、あとはZマウントに入れ替えていこうかなと思っています。
音楽関係はそろそろスペースの問題で購入に頭打ちが来そうな予感。まあこれはお金をかけても時間をかけないと上手くならないこともあり、音楽趣味に充てる時間が少ないので、ここからは持ってる機材を入れ替えながら楽しむ感じになるかなー、と思います。

そんな感じで今年の振り返りでした。

RubyWorld Conference 2025で発表してきました

RubyWorld Conference 2025でお仕事の話をしてきました。
今年は映像配信はなさそうですが、講演資料は多分公式から上がるのではないかと思うので、そちらをお待ちください。

今回は話す内容が多く、デモ2本+3章分話し切るのに5分ぐらい足りないぐらいという見積もりだったので、時間が足りなかった場合は、後半のデモを飛ばして時間内に話し切るという見積もりだったのですが、思ったよりもゆっくり話し過ぎたみたいで、結局丸々一章飛ばしてしまったのですが、それでも様々な人から多くのフィードバックを頂き、総じて発表してよかったなぁと思います。

今回お話しできなかった部分についても興味を持っていただけた人も結構いたので、その部分についても補足できればと思います。

CFP提出まで

前回RubyWorld Conferenceでお話ししたのは2018年のことだったのですが(その時はmruby/cの話で業務は全然関係なく)、その後転職して、ずっと今のシステムを作っていました。
そもそもリリースまで3年かかったこともあり、中々外に発表する機会もなかったのですが、リリースから更に3年改善を重ねてきて、ようやく外に話せる状態になったかなと思い、申し込みました。こういう業務システムの話をするときに、発表する場所はRubyWorld Conferenceぐらいしかないような気がするんですよね。

なお、CFP作成にあたってはclaudeにひたすら壁打ちしてもらいました。なおAI相手の壁打ちでもRubyの話が少ないというのは散々言われましたw

話した内容

6年間やっていることなので、話す内容には困らなかったのですが、話したいことがありすぎて絞り込むのには苦労しました。
ただ、細かいことまで伝えることは絶対不可能なので、分かりやすいデモをしっかりやるということだけは決めていました。発表の冒頭でやったデモは、誰もが経験のある歯科医院の通院経験と歯科医院の裏側をリンクさせたもので、自分が初めて歯科医院の裏側を知った時の驚きポイントをデモに詰め込んでいます。

デモの後、以下の3つを話した(or 話すつもり)でした。

1. 医療会計の複雑さについて

保険会計も自分ぐらいの世代だと3割負担ぐらいしか関わりがなかったりするのですが、日本の保険制度は超複雑で、保険、全国公費、地域公費、高額療養費の組み合わせによっては、負担額が誰にも分からなくなるような事例があるよ、という話がしたかったので入れました。ただ、一番闇深い地域公費の説明をする時間があまりなかったのでカットした都合でちょっとだけトーンダウンしちゃいましたが、複雑さは伝わったのではないかなと思います。

なお、複雑さを語るのにスライドを使いすぎたので、ここを話してる最中に残り7分とかになったのが見えたのは焦りました。
後で他の方と話していた時に、この部分は医科と同じだしカットして、歯科特化の話をすれば良かったですかねー?という話をしたのですが、話してた内容は大分シンプルにまとめられてたし、この闇深い制度を共有するには価値があるとフィードバックを頂けました。(いや、そうなんですよ本当に…)

ここはほぼロジックの話だったので、Rubyの話を半ば強引に入れるためにbitemporalなデータ構造を使っているという話をしたのですが、SmartHRの方々に突き刺さったようで…。向こうもbitemporalなデータ構造の話がここで出てくるとは思わなかったというフィードバックを頂きました。このデータ構造、いい話ばかりではないので、辛みは分かります。

2. 保険医療の複雑さについて

医療会計の複雑さに時間を使いすぎちゃったので、ちょっと焦り気味に話しちゃったのですが(翻訳の方すみません…)診療行為を登録するまでにどういうことをやっているのか、という話をしました。1つ1つ細かく説明していく予定だったのですが、時間がなかったのでざっくりと説明したので、どこまでお話しできたか覚えていないのですが、診療行為一つ一つにチェックルールがあって、月に算定できる回数や、一緒に算定してはいけないもの、事前に算定しておかないといけないものが決まっています。

この部分は厚労省の通達文章に明記しているものはマスタデータとして構造化されてルールベースでチェックされているのですが、明記されていないルールなどもたくさんあります。そういうルールを都度追加していってるんですよ、という話をする予定でした。ちなみに歯科の処置行為は1000種類ぐらいあって、現在そのうちの300種類ぐらいは追加の独自ルールを定義しています。こういうのが診療報酬改定のメンテナンス工数に響いてくるんですよね。

ここで、歯科医院特有の事情として、何故歯科の定期メンテナンスに通うと2回治療することになるのか、何故2回目は次月に回されるのか、という話をしました。
恐らく皆さん経験されたことがあることだと思うので、初めて理由に納得がいったという方も多くいらっしゃいました。(あと、更にその後何故3か月後を目処にまた来てください、と言われるのかという話もあるのですが、それは機械的歯面清掃処置という歯のクリーニング作業が3か月に1回しか算定できないから(糖尿病・妊婦の方は例外あり)なんですよねー…という話をおでん電車の中で話をしました。)

ここではRubyの話として追加・変更・削除に合わせて点数計算や依存関係のチェックなどをActiveRecord callbackに書いていたら複雑すぎて崩壊したので、いわゆるサービスクラス相当であるInteractor gemを使ってシンプルに制御しているという話をしました。あとでジョーカーさんから、サービスクラスの良い使い方と言ってもらえたので、ここは自分もうまく設計できたポイントの一つだったので嬉しかったです。

3. 歯科特有の情報処理について

ここは時間がなくて完全にすっ飛ばしたのですが、実はRoppongi.rbのスポンサードLTの時に1回話していて、その時も評判が良かったので、同じ内容を組み込んでいます。
具体的にどういう話かというと、入力した処置に連動して口腔情報データを書き換えるためにどういうデータ構造にしているかという話で、処置の追加・変更・削除に合わせて、歯を欠損状態にしたり、詰め物を入れたり、歯を分割したり(自分もこの仕事を始めるまで知らなかったのですが、世の中には歯を分割して、残った片側を使うという治療もあるのです。)するという話をするつもりでした。

その場合の指定した日付の口腔情報はどういう状態かを得るためのデータ構造の設計ポイントなどをお話しする予定でした。
これは完全に時間がなくて落としちゃったので、2日目のおでん電車の中で少数の方だけに再演しました。また誰か聞きたいという人がいれば、どこかのコミュニティイベントでします。

これは一部の方にしかお話ししてないのですが、pockeさんからblogでフィードバック貰えました。
2025-11-07 - diary

宿に戻ってから考えたことだけど、自然をモデリングする難しさがあるのかなと考えていた。今まで自分は人工物(レシピだったり、記事だったり、帳簿だったり)を対象としたアプリケーションを書いていた。それらは人間が作り出したものであるから、作られたものには何かしら意図があり、その意図をうまく表現したモデリングが必要である。一方で歯というのは自然に生えてくるものであり、そこに人間が何かしらの意図を持って介入するわけで、後から想定しきれなかった要素が出やすいのではないか、と思考を巡らせていた。全然深く考えてないから人工物かどうかに難しさが本当に関係しているのかはよく分からない。

今回話したシステムって、レセプトコンピューターの側面と電子カルテの側面を両方持っていて、レセプトコンピューターの側面では国に請求するフォーマットに合わせる必要があるので、ある程度規格化されたデータを扱うことになるんですけど、医学的判断みたいなものが伴うと、その規格を無視したデータも生まれるわけで(事前に厚生局に話を通しておくことで、診療として認められるというケースがあります)そういう矛盾したデータをある程度許容するような設計が求められます。データ不整合を防ぐためにガチガチにバリデーションを入れたら、入力できないと怒られることになる…みたいな。

なので、データ構造の設計については、ある程度後戻り可能なデータ構造にして、リリース後に最適を探るということもちょいちょいありますね。

まとめ

発表が終わった後は、レセプションで挨拶回りしたり、二次会でイツメンと飲んでたり、おでん電車乗ったりして、RubyWorld Conferenceをエンジョイしました。
心残りなのは「佐香や」という店が自分が前回松江に来た2018年には存在しなかった概念で、夜な夜なRubyistを集めていたらしく、結局今回は行けずじまいだったので、また次回来た時にでも行ってみたいなと思います。(仕事で松江に来ることが今後増えそうなので、またその時にでも)

総じて色々な方から感想もらえ、また他の方の発表も興味深く聞け、とても楽しい時間を過ごせました。いつもありがとうございます。
10月はこの件含めて、色々な仕事の締め切りを10月末に設定しまったため、非常に多忙だったので、11月・12月はちょっとゆとりのある生活を心がけようかと思います。
またどこかのイベントでお会いしたらよろしくお願いします。

今年買ったものを振り返る 2024 Edition

年末なので、昨年同様去年買ったものを振り返ってみようかなと思います。

レギュレーション

  • 2024年1月~12月までに買ったものを時系列に並べる
  • 家計簿アプリの毎月の出費の中に「散財」枠があるので、そこに分類されているものを列挙
  • 1万円以下のものを含めると終わらないので、とりあえず1万円以上のものを対象
  • まだ書き始める前だけど、去年よりは散財はしてない気がする(フラグ)

1月

ECOVACS DEEBOT N10 PLUSロボット掃除機

www.ecovacs.com

初のロボット掃除機の導入。
毎日掃除機をかけないとホコリたまるなーと思っていたので、Amazonの割引に合わせて導入(約55000円)
日々のストレスが大幅軽減されてなかなかいい感じです。

ただ、残念なところとしては、完璧な掃除をしてくれるわけではないので、どこかで手動で掃除機をかけるタイミングがあるのと、時々記憶したマップをきれいさっぱり忘れて、登録した障害物情報もきれいさっぱり忘れてしまうところですかね。ちょいちょいメンテナンス部品代がかかるところも、まあ…という感じですかね。



YAMAHA SEQTRAK

jp.yamaha.com


YAMAHAから突如出てきた、小型グルーブボックス。
このタイプの製品としては、TEENAGE ENGINEERINGのOP-1 Fieldとか候補にあがったりするのですが、こっちは30万オーバーで、完全にお金持ち専用ハードになってしまったので、ここに参入プレーヤーが増えてくれるのは素直に嬉しい。

見た目も素材ももうちょっと拘って欲しいという気持ちはあったけど、価格高騰気味にある音楽市場で5万円台で出してくれるのはとても嬉しい。細かいパラメータのカスタマイズはアプリでやればいいじゃんという割り切りも良い。まあただ簡単なLCD表示ぐらいは欲しかったですかね。

MIDIがついてるので、色んな機器とテンポ同期させて楽しく使ってます。

Anker Prime Charging Station 6-in-1 140W

仕事で使ってるMacbook Proに電源を供給する用に買ったAC電源。
出力アンペアと電圧が可視化されるのが特徴で、ちゃんと正しく充電できてるかどうかをモニタリングできるのがいいところ。
ただ、この後買った液晶ディスプレイのUSB-Cで充電と映像出力ができるようになったので、主に楽器演奏時に電源供給するときに役立ててます。(まあ、その用途だと、そこまでの出力は必要ないんですけどね)

2月

天童木工 ダイニングチェア

shop.tendo-mokko.co.jp

shop.tendo-mokko.co.jp


昨年に引き続き、天童木工のアウトレットセールで欲しかったダイニングチェアを追加購入。全部で6万ぐらい。
子どもが複数人座っても大丈夫なようにベンチを入れてみましたが、これは素直にダイニングチェア4脚買っておけばよかったかも、とちょっと反省。それはともかく、丈夫な椅子なので長く使えそうです。
前回ソファーとダイニングテーブルを買ったときに、送料が4万ぐらい掛かったので、今回は現地(浜松町)で車を借りて往復しました。おかげでそこは節約できましたが、結構な重労働でしたw

3月

Ableton Live 12 Suite Upgrade

https://www.ableton.com/ja/live/

Ableton Live 11からAbleton Live 12にアップグレード。MIDI Toolに自動生成機能がついたりと色々アップデート。ただ今年は忙しすぎてあまり使いきれてないので、積極的に使うシーンを作りたい。

Switchbotカーテン

家のカーテンを自動開閉させたくて導入。カーテンを自動開閉するのも毎日のことなので、この作業がなくなるのは嬉しい。
スマートスピーカーから開閉させたい場合はSwitchbot Hubも必要なので、後でSwitchbot Hubも導入しましたが、結局スマートスピーカーから動かすことは基本なく、タイマーによる自動開閉しか使わなかったので、あんまり要らなかったかも。

4月

1010music Bluebox

1010music.com

音楽機器が増えてきたので、ミキサーを新たに入れようと思っていたものの、大抵の多チャンネル入力のミキサーは大型なものが多く、導入をためらっていたのですが、モジュラーシンセベンダーの1010musicが小型ミキサーを出しているのを見つけて、セールのタイミングで購入。


ミキサーとしては破格の小ささと、MIDIコントローラを外部につなげてパラメータをマッピングできるのが売り。
ただ、これを買ってしまったことで今年話題のミキサーLiveTrak L-6に手を出せなくなってしまったのと、1010musicの他の機種も欲しくなってしまったのが、難点ですかね…(結局Blackboxは買ってしまった)

5月

この月は目立った買い物はないが、沖縄に行ったりしてて、色々お金使ってた模様

6月

この月も目立った買い物はない模様。やはり沖縄の余波が……。

7月

DELL U4025QW

www.dell.com

自分が液晶モニタに求める要件をすべて満たすモニタ。お値段20万Overというのがネックだったのだけれども、25000円ほど割引が入ったタイミングで、どうしても欲しくなったので購入。

自分が液晶モニタに求める要件としては、

  • 大型液晶であること。(少なくとも4Kで文字の大きさ100%にして視認できないようなモニタはだめ)
  • USB-Cモニタ接続ができ、60W以上の電源が供給できること
  • 複数入力を備え、Picture in Pictureができること
  • KVM機能を有していること+ホットキーで画面を切り替えられること

最後のKVM機能が重要で、これがないと別途切替器が必要だったりと、取り回しがめんどくさくなるので、高いKVM機器を買うか、EIZOの高いモニタを買うかの2択だったのですが、DELLが自分の要望を満たす完璧なモニタを出してくれたので、満を持して購入。

結局KVM機能はソフトウェア制御だったのですが、専用ソフトを対象のPCに入れてしまえば、後はショートカットで切り替えられるようになるので、かなり満足して使ってます。
なお割引きがあったとはいえ、お値段…。

8月

7月のDELLの液晶の余波か、目立った買い物はなかった模様

9月

GPD WIN 4 2024

コミュニティ活動のオンライン配信をZoomからYoutube Liveに切り替えてみたところ、プライベートで使用しているMacbook ProIntel Mac / Core i5 / 2020)のスペックが追い付かず画面がちらつき始めたので、新しいPCが必要ということで購入。
一応Apple Siliconも視野に入れたのですが、今回のような特定の問題だけに対応するためにはコストパフォーマンスが悪すぎるため、もっと携帯性に優れていて、性能が良いPCを探していたところ、ここにたどり着きました。ゲームもできるしね!

この領域の携帯ゲーミングPCはASUSMSIなどの企業も色々出していて賑わっているのですが、スペックだけで見るとGPD WINが頭一つ抜き出ているので、これに決めました。

ゲームもできるしね!というつもりで買ったのですが、時間がないのもあり、今のところ本格的にゲーム用途には活用できておらず、モンハンとロマサガ2の体験版をこれでやった程度ですかね。配信PCとしては十二分に役割果たしてもらってます。

10月

1010music Blackbox

1010music.com

4月に買ったミキサーBlueboxの兄弟機。サンプラーとしての役割を果たします。
Bluebox買うと、Blackboxを揃えたくなるんですよねー、という1010music沼にまんまとハマり、ブラックフライデー前のハロウィンセールで25000円ほど安くなったタイミングで揃えました。

今年はミキサーはZoomのLivetrak L-6、サンプラーRolandaira compact P-6というのが話題になったのですが、Blueboxを買っていたため、L-6には手が出せず。Blueboxを買ってしまったためにBlackboxが欲しくなり、P-6にも手が出せず、という呪いのような機材でしたw

なお使い方については、まだ色々模索している模様…。

11月

特に目立った買い物はなかった模様

12月

ECOFLOW Delta3

Amazonブラックフライデーで50%OFFで売られていて、お買い得だったので購入(ただしお買い得とはいえ7万円…)。
ポータブル電源はキャンプ用にAnkerのPowerHouseを持っていたのですが、これは出力が140Wまでと特に冬場の温熱器具が欲しくなる時期には厳しい製品で、あまり使用用途なく家に保管されていたのですが、こっちは1500Wまで行けるので、良さそうと思い購入。まだ実践投入されていないので、どれぐらい使えるか未知数なのですが、これからの冬場のキャンプでは活躍してくれそうです。

PolkAudio Reverse 100

www.polkaudio.com

今年最後の(?)買い物。2006年からBOSE 125というスピーカーを使ってて、このスピーカーは見た目の高級感と低音はすごくいい音を鳴らすスピーカーなんだけど、ここ数年音楽関係にお金を使ってると、どうしても中音域・高音域に対してもいい音を鳴らしたいという欲が生まれてきて、18年ぶりにスピーカーを変えました。

最終的にDALIのMENUET、Oberon 1 / 3あたりと悩んでたんですけど、中音域・高音域の伸びが良いDALIとすべてをフラットに表現するPolkAudio Reverseシリーズで最終的には後者を選ぶことにしました。

GenerecとかFocalのアクティブモニタスピーカーとかも検討したんですけどね。別にマスタリングのプロになりたいわけではないし、やっぱり、もうアンプ入れちゃってたんで、それは資産として生かす方向で、今回もパッシブスピーカーを選ぶことにしました。

まとめ

「去年より散財してないといったな、あれは嘘だ。」というわけで、今年もいろいろ買ってましたね。
今年は新規にものを足すというよりは、既存のもののアップグレード・リプレースが目立った1年でした。

あとやっぱり円安が厳しいので海外製品はなるべく控える傾向でしたね。セールなどで安く出してくれるタイミングを使うので、そこまでという感じではありませんが、セールで値下げした価格が、値上がり前の標準価格ということもあるので、やっぱ円安が何とかなるまでは海外製品に手を出すのは若干ネガティブかなと思います。

来年は何を買ってるんでしょうね。別途予想してみるのも楽しいかもしれません。

今年買ったものを振り返る

この記事は、2枚目 大阪工業大学 Advent Calendar 2023 の9日目です。
adventar.org

2000年入学(2004年情報科学部卒、2006年大学院卒業)のKirikaと申します。
大学は20年近く前に卒業した気がしますが、時々Advent Calendarに参加しています。
在学中はHxSコンピューターサークルで、5代目代表やってました。
さすがにコロナを跨いでもう残ってないとは思いますが、ハンバーガーを大量に食べるお祭りがまだ継続していたら、それは我々の代の所業です。(本当に申し訳ない…)

特に書くネタはないので、年末らしく今年1年買ったものを振り返って、簡単なレビューをしようと思います。

レギュレーション

  • 2023年1月~12月までに買ったものを時系列に並べる
  • 家計簿アプリの毎月の出費の中に「散財」枠があるので、そこに分類されているものを列挙
  • 漫画・ゲームなどのコンテンツ系は上げるときりがないのでカット
  • 1万円以下のものを含めると終わらないので、とりあえず1万円以上のものを対象

1月

CureSynth mini

価格:20400円(当時のBOOTH価格)

www.curesynth.net

CureSynth MIDIというフリスクサイズのMIDI音源を買っていたようです。
作者のけしかんさんは以前からCureSynthというMIDI音源を作っていて、ニコニコ動画などで公開していたのですが、いつか販売されるのだろうか…と見守っていたら、フリスクサイズのCureSynthを出されたので、躊躇する間もなく、速攻でポチりました。とはいうものの、個人製作の少数生産の上、初回ロットは5個しか販売が行われず、告知20分後に気づいたものの初回ロットは買えず……。2次ロットの告知でようやく購入できました。

GS音源/XG音源互換サウンドとということで、早速手元にあるMIDIを再生……、と思いきや、インターネット上からはMIDI楽曲を配っているサイトは既に殆どが現存せず、手元のバックアップとして残してあるMIDIは実家にMOディスクとして残してあるはずですが、果たして再生できるのだろうか……。

YAMAHA PACIFICA012

価格:しょぼいアンプとかチューナーとかケースとか色々セットで29200円(島村楽器価格)

store.shimamura.co.jp

ぼっち・ざ・ろっくの影響……というわけではなく(いや、でもちょっとはあるか)、以前から月末にセッションしている友達がいて、自分もギターを始めようかなと思って、購入。(ちなみに自分の本来のパートはKey)本当は仕事などで忙しく、ほとんど練習する時間は取れないので、時間が取れるようになったら買うつもりでいたのですが、時間なんていつ空くか分からないし、とりあえず買って暇なときにやるのだ!という不退転の思いでポチったのですが、蓋を開けてみるとやっぱり練習する時間があまりとれず、時々コードの練習で使われる程度という結果に。

来年から頑張る。

2月

天童木工 ブルーノ・マットソン イージーチェア3脚

値段:33万ぐらい(配送料含む)

flymee.jp


家のインテリアで、10年ぐらいニトリの3人掛けの電動ソファーを使っていたのですが、新居に引っ越した際に角部屋の都合で壁側が全面窓ガラスになったためにテレビ・ソファの配置に制約が生まれたのと、ソファーが重すぎて、掃除をするにも、さっとレイアウトを変更するのにもコストがかかりすぎるため、代わりのソファーを買おうと思って探していたところ、大手百貨店でこのソファーを見つけて、即決衝動買い……はしなかったものの、買うチャンスをうかがってました。

普通に買うと1シート15万円、3シートで45万円ぐらいするため、さすがに手が出なかったのですが、天童木工のアウトレットで展示品価格で3シート30万で売りに出ていたため、即決。

ソファーに出す価格としてはとても破格ですが、木材以外の材質は使っておらず、とても少ない部材でソファーを構成しており、部屋のレイアウトをさっと変更するのにも、掃除でちょっと部屋の隅によけておくのにも便利で、高級感も相まって、とても所有欲を満たしてくれるプロダクトでした。今年買ったものの中では一番買ってよかったものかも。

3月

3月は2月の出費がでかいのと、その他いろいろな支払いが重なったせいか、特に大きな買い物はしてなかったようです。
まあ家族と北海道に行ったり、スキーしに北国に行ったりしているので、そっちが充実していたということで。

4月

この月も特に大きな買い物はしていない模様。GWで実家に家族で帰省していたので、あまりお金を使うこともなかったのかも。

5月

Novation Circuit Tracks

価格:忘れたけど3万ちょい

なるべく最小の構成でビートメイクができることを目的として買った。
プリセットとパターンを適当に繋ぐだけでも楽しいが、本格的にやろうと思うと結構まじめに打ち込みが必要になるので、それ以上は触れてない。

Ableton Push3+Ableton Live 11 Suite

価格:258000円+26900円(Standard → Suiteへのアップデート)

www.ableton.com

この月、Ableton使いには待望のAbleton Push3が発表され、光の速さでポチった模様。
Ableton Push 3はNUCを内包するスタンドアロン版があり、PCがなくても楽曲製作ができるということもあり、普通のMIDIコントローラ版の2倍の価格がするのですが、大は小を兼ねる理論でスタンドアロン版を買いました。

Ableton Push 3にはAbleton Live 11Introが無償でついているのですが、既にAbleton Live Standardを持っていたため、サポートにSuiteへのアップデートをお願いしたところ、特別価格で提供してもらえました。

楽しい!……が触る時間があんまりないので、そこが悩み…。

6月

GMKtec Ryzen5 ミニPC(Mem16GB、SSD512GB)

価格:37584円

Twitter上でミニPCが安いという評判があり、そんなに安いなら子供用のPCでも1台買うか、とRyzen5でメモリ16GBのミニPCを1台購入。
バリバリの3Dゲームは厳しいけど、子供が遊ぶマインクラフトぐらいならサクサク動くので、とりあえず目的は達成。

7月

SONY ZV-1M2

価格:103240円

www.sony.jp

私は時々趣味でオンライン配信をしていて、これまではNikonのZ7というカメラを使って配信をしていたのですが、広角レンズを使う関係で、非常に大きいレンズを使うため、毎回準備が大変なのと、今後は家の中だけでなく、外に機材を持っていって使用することが多くなるため、代用として使えるWebカメラを探していたのですが、候補の1つに考えていたZV-1シリーズの広角版が出るらしいということが分かり、即ポチはしなかったものの、インターネット上の使用感などを確認しつつ、これが代用になるのではないかと思い、満を持して購入。

18-50mm/F1.8-4.0という自撮り特化の画角を持ち、USB-C1本でPCと繋いでライブストリーミングができる手軽さがとても良いです。
毎月ライブ配信時には使用しています。

ただ、電池が1時間弱しか持たず、公式の紹介のように、外に持ち出してVLOCCAMとして使用するのはやや厳しいような…。ライブ配信時は常時AC電源から供給しています。

Arturia MiniFreak

価格:Yahooショッピングの超Pay祭りで買ったので、実質は8万を切るぐらい

www.arturia.com

昨年10月か11月ぐらいに発表された、Arturia Microfreakの後継。
発売直後は円安の影響もあり、14万ぐらいで価格が推移していて、手が出るような価格ではなかったのですが、しばらくして落ち着いてきたのか、もしくは価格的にあまり売れなかったのか、値段的にようやく買ってもよいレベルまで落ち着いてきたのと、日本販売代理店のKORGがPigments4を無償提供する、というキャンペーンを打ったため、購入。

電子楽器はご覧の通り、毎月何か買ったりしていたのですが、アナログシンセサイザーはこれ以外ではNovationのCircuit Mono Stationしか持っていなかったため、本格的に触るアナログシンセとなりました。Circuit Mono Stationは鍵盤がついていなかったのですが、こっちは鍵盤があるため、より直感的に音作りができます。

残念な点としては、ACアダプタ必須なのと、ちょっと機材としては大きいのでパッと取り出して、何か遊ぶということはできず、月1回押し入れから取り出されて出番を持つ、という感じになりました。そういう意味では、ちょっと前に買ったYAMAHAのReface CPの方は機能としては一回り劣りますが、電池駆動で一回り小型なので出番があるかも。

8月

Roland VR-1HD

価格:Rock on Storeのセール価格で58000円

proav.roland.com

毎月開催していたオンラインイベントをオフラインに移行させるにあたり、これまでオンラインで参加してくれていた人たちも参加できるようにハイブリッド開催にしようと思い、司会進行業と配信業をワンオペでこなすために購入。元々機材自体は以前から有名Youtuberなどが紹介していたので、知っていたものの、15万近くする機材だったため手が出なかったのですが、Rock on Storeで展示品処分の品が59800円で売りに出ていたため、購入。

毎月使用していますが、SONYのZV-1m2とPC、後で紹介するマイクなどを組み合わせて、月次のイベント司会進行業務を無理なくこなしてくれる優秀な相棒です。

9月

SHURE PGA58

価格:10000円

Hollyland Lark M1

価格: 15840円(Amazon安売り価格)

www.hollyland.com

上記の配信の気づきで、オフラインイベントでハイブリッド配信をするときは、発表者用、質問者用で最低でも2本以上マイクが必要で、イベント会場に備え付けのマイクに頼るのでは、設備がない会場で辛い、ということも分かったので、イベント司会用のマイクと発表者・質問者用のマイクを購入。

SHUREのマイクは定番のダイナミックマイクですが、ワイヤレスで使えた方がいいということもあり、ワイヤレス化キットも一緒に購入。

BOSS WL-30XLR

価格:90000円(ふるさと納税

www.boss.info

HollylandのLark M1は無名メーカーですが、Youtubeで評判などを確認してから購入。安いということもあり、性能はめちゃくちゃいいわけでもないのですが、動作自体は良好で配信業務をしっかりサポートしてくれます。もしかするとより良い音質を求めて、RODEあたりのもっといいマイクに変える可能性はあるかも。

オフラインイベントの配信業務も今年3回目の配信を最近終わらせて、大分安定して回せるようになってきました。

Analogue Pocket Limited Edition + Analogue Dock

価格: 62000円ぐらい(国内配送費込み)

www.analogue.co

ハイスペックレトロゲーム互換機のAnalogue Pocket。

かなり前から機会があればいつか買おうと思って見守っていたのですが、いつも予約から発送まで1年以上かかるような状態で、もう買うことはないかもな…とあきらめ気味に見ていたのですが、最近Limited Editionという形で、次々と新型を出しており、相変わらず発売開始10分程度で完売する状況ではあるものの、購入できれば2週間程度で発送されるということで、頑張って争奪戦に参加し、なんとか1台入手することができました。

海外製品の購入は極力控えようと思っていたものの、こればかりは円の値段に関係なく買わざるを得なく…$450で6万円…ちょっと高い。

時々電源を入れて触ったりしていますが、何か目的があって買ったわけでもないので、まだ有効に活用はできておらず、OpenFPGAのキットをインストールしてみたり、まだまだこれからです。

UDG U9102BL/OR Ultimate バックパック

価格: 20000円ぐらい

上記のイベントや、Ableton Push 3を持ち運ぶバッグがなかったため、大型の音楽機材持ち運び用途に購入。
これまでカメラ用のバックパックに機材を入れて持ち運んでいたのですが、PC2台、配信機材、カメラ、三脚その他を全部入れるだけの収納力のあるカバンが手元になかったため、このタイミングで購入しました。

見ての通り、音楽機材の運搬に特化してることもあり、自分の所有するAbleton Push 3やMPC Live2などを楽々収容するサイズ持ち、かつ中身には衝撃吸収材がしっかりと使われていて、安心して持ち運ぶことができます。

ただ、PC複数台、配信用ビデオミキサー、カメラ、マイク、三脚を入れたカバンが、そう軽々と持ち運べるわけではなく、持ち運んだ次の日はいつも腰痛になります…。

ちなみにAbleton Push3は本家サイトのUDGでは既にAbleton Push 3用のケースが発売されており、国内販売も2024/01月に行われるらしいので、国内販売されれば、Ableton Push 3の運搬はそちらで行う予定です

www.udggear.com

10月

9月の出費が激しすぎたためか、11月のブラックフライデーまで待つつもりだったのか、あまり大きな出品はなかった模様

11月

Positive Grid Spark Go

価格:16500円(ブラックフライデー特別価格)

www.minet.jp

今年のブラックフライデーでは楽器関連のものには手を出さない、と思っていたのに、今年発売されたPositive Grid Spark Goが5000円割引で出たとたんに、あっさりと手のひらを返し、ポチった1品。

最初に紹介したギターはアンプシミュレーターを使っていたので、音を鳴らすのにPCが必要だったのですが、小型のギターアンプがあれば、もうちょっと練習するかな、という思いで買いました。

小型ですがしっかりと音が出て、(まあその分小型アンプの割には割高ですが)安っぽくない作りなのが好きです。

Novation LaunchContro XL Mk2

価格:20000円

kcmusic.jp

サウンドハウスブラックフライデーでNovation製品が10%OFFだったため、前々から買おうと思っていて買う機会を伺っていたNovationのLaunch Control Mk2を購入。先のビデオミキサーのVR-1HDと接続してオーディオミキサーのインジケータを増やしたり、Ableton Push 3と接続してミキサーのインジケータを増やす目的で買ったのですが、実はまだ未開封で、具体的な活用はできておらず…。

年内には開封したいところ。

まとめ

というわけで、今年も色々買いましたね。
最近は物価高なので、去年や一昨年に買ったものは軒並み値上がりしていて、中古で売り出しても買った時より高く売れる、みたいなことになっているので、あまり買うことには抵抗はないのですが、さすがに部屋を圧迫してきているので、定期的に機材の見直しが必要ですね。

あと、買うものを増やすと1つあたりのガジェットに割ける時間が減っていくので、来年以降は1つのガジェットに割く時間も増やしていきたいなと思います。

ここまで読んでいただきありがとうございました。

keebkaigi2023でPRK_FirmwareにMIDIを実装する話をしました #keebkaigi

松本から帰宅して、しばらく療養生活をしていたため、ブログに書くのが遅くなりましたが、5/11~5/13に松本で開催されたRubyKaigi 2023の前日イベントとして開催されたkeebkaigiにLTスピーカーとして話してきました。

keebkaigi.org

2018年にキーボード会議を開催して以来、最近のRubyKaigiでは何故かキーボード勢として参加している気がしなくもないのですが、これまでゲリラ開催だった突発的キーボードミートアップが、オーガナイザーの手により、一イベントとして独立するようになったことに嬉しさを感じ、日常の多忙さ(仕事・家庭・etc)に二の足を踏みつつも、無謀にLTを申し込んだのでした。

資料もアップしようかと思いましたが、当日はYouTubeチャンネルで中継があり、YouTubeにもしっかり発表記録が残っているため、そのまま流用させてもらいます。
www.youtube.com

発表の意図など

発表内容はLTとは関係なく以前からやろうと思って考えていたもので、選考があるとは聞いていたものの、内容的にACCEPTされる可能性は高いと考えており、LT申込をした時点から実装を開始しました。

当初から目指していた実装目標として、以下のようなものを考えていました。

実際、ギリギリではありましたが、すべての実装が発表に間に合い、無事LTに持っていくことができました。
その分発表資料を練る時間には回せなかったので、そこはまずまず…でしたが、発表自体もあんまり練習もなく一発勝負で臨んだ割には、ほぼ5分ぴったりにLTが収まったのは良かったなと思います。

個人的反省としては、実装したものや背景を紹介するのに必死すぎて、いまいち内容が伝わってなかったんではないかと思いました。
ネタバレを防ぐつもりで、デモを展示の場に出していなかったのも敗因ですね。

次の日以降RubyKaigiには、デモ機(iPad)とキーボードの最小構成デモを持ち歩いて、作ったものをプレゼンし歩いてました。

開発の裏側

MIDI自体は非常にシンプルなパケット(2~3バイトの組み合わせ)なので、Ruby<->C言語のブリッジを書いてしまえば、後はRuby側でパケットを作って配列を渡すだけで良く、さほど苦労もなかったのですが、一番苦戦したところは、MIDIバイスとしてPRK Firmwareを認識させる、というところだったりします。

PRK Firmwareは複合デバイスとして作られており、キーボード以外にも(マウス・ジョイコン等の)HIDデバイス・シリアル通信・ストレージデバイスPRK Drive)などとしても振舞うため、複数種類のデバイスクラスを持っており、ここにさらにMIDIバイスクラスを追加する、という改修を入れました。MIDIバイスクラスのサンプルを参考に実装したのですが、当初は全くUSBデバイスが反応しなくなり、そのたびにpicoprobe(デバッグモニタ)とキーボードを繋いで、gdbデバッグをしてました。

Windowsで開発していたのでUsbTreeView.exeも役に立ちましたね。おかげでUSBディスクリプタがバイナリのままでもある程度読めるようになりました。
infinitegra.co.jp

USBディスクリプタが正しく動くようになったとしても、その後ブートしてRubyVMが立ち上がり、そのうえでRubyバイトコードが動くようになるまでデバイスとして表示されることはないため、暗中模索で本当にこれで大丈夫なんかいな…と不安でした。gitのコミット日付によるとMIDIの実装を完了したのが4/16で、実際動作して、ドレミファソラシドが叩けるようになったのは4/30らしいです。ギリギリすぎますね。

MIDIバイスとして動作するようになってからは、シリアルコンソールが動作するようになったため、デバッグが大幅に楽になり、残りの実装をGW中に終わらせました。
ほぼすべての休日をこれに充てていたので、家族には感謝です。

当日の話

 当日はLTが終わるまでは多少の緊張はあったものの、デモも事故なく終えることができました。他の方の発表もみんな色んな着眼点を持っていて聞いていて楽しかったです。
 好きなものにかける情熱の話は聞いていて楽しいですね。そこに人が集い、新たなコミュニティが生まれるというのはとても心地よく感じました。

 私もMIDI方面で、これまでお話したことがなかった方たちとお話しする機会を沢山いただき、RubyKaigi中を含め、楽しい時間を過ごすことができました。
 オーガナイザーの皆様、お疲れさまでした&ありがとうございました。

After Keebkaigiの話

 東京に戻ってきて、いくつかやり残したことがあり、土日で片付けてました。
 Keebkaigi前にこの発表で使用したコードを事前にDraft PRを出していたのですが、これをちゃんと本PRにしようかどうか悩んでました。

github.com

 取り込んでもらいたいのは山々なのですが、既存のキーボードクラスにがっつりと食い込むうえに、リソースを食うので、やるにしても環境変数をつけてビルドするオプショナルなやり方かなぁ…と。QMK Firmwareコンパイル時にMIDI使用のオプションで振り分けるやり方ですし。
 最近SQLiteの取り込みがPICORUBY_SQLITE環境変数を使ったオプショナルになったっぽいので、それに倣おうかと考えてます。

 このPRを提出した際に、case whenのwhenを大量に書くと落ちる、という問題があり、それを解消する必要があったのですが、prk_firmware作者のhasumikinさんとお話しして、Debug print有効化のオプションがあることを教えてもらい、この土日でオプションを有効化して調査したところ、parserのstackがオーバーフローしている問題に関連していることが分かり、現在サイズの拡張を提案中です。

Syntax Error at case / when statement · Issue #145 · picoruby/picoruby · GitHub

 ただ、このスタックサイズの拡張で問題は解決したのですが、PRK Firmwareに持っていったときに、またしてもRubyVMが立ち上がる前にファームウェアが死ぬという問題に当たってしまい、まだ原因の特定に至っていないのですが、安易なスタックサイズの拡張でいいんだろうか、という迷いもあります。この話に決着をつけたら、ようやく自分のKeebkaigiが終わりそうです。

 次は発表の内容にも書いていたように、次は手元のMIDIキーボードをPRK Firmware化するのにチャレンジしようかなと思います。

おまけの話

あと、もう一つ電子楽器周辺の話をもうちょっとしたかったなと思っていて、自分のトークでは語りきれなかったのですが、もし興味持った方のため、自分の推しのYouTubeチャンネルを紹介しておきます。

Jay Hosking氏、プロのミュージシャンですが、ライブ演奏を動画で公開してくれてて、見てると一日時間が解けます
www.youtube.com

Geoffroy AULAGNER氏。まだチャンネル登録者数は少ないですが、最近YouTubeで定期的にプレイ動画を上げてくれてます。
使ってる機器は自分とほぼ同じなのですが、ぐっと引き付けるメロディラインがいいですね。こういうの聞くとセンスの世界だなと思います。
www.youtube.com