
サンプル音源を管理するアプリはいくつか持っていたはずだが、なぜか見当たらない。しかたがないので、Codexを使ってMacでサンプル音源管理アプリを開発した。
以下の基本機能は数時間でできた。
ディレクトリを指定すると、配下のサンプル音源を再帰的に検索して登録する ファイル名からジャンル、楽器、BPM、キーなどを検出して自動タグ付け。手動でのタグ追加にも対応 サンプル音源の波形を見ながら試聴する タグによる絞り込み検索 ワンショット、ループの判定(厳密ではない) 聴いているサンプルと似た音を探す(ファイル名、タグ、オーディオ特徴量の距離計算、時間、波形エンベロープの形状) 選択したファイルのコピー、パスの取得 目立ったバグもないため、さっそく実践投入するかと、Native InstrumentsのExpansionsのサンプル約9万ファイルを登録したところ、動きがもっさりして使い物にならない。
Codexと一緒に原因を調べたところ、リスト件数ぶんのSQLを無駄に発行していたり(つまり9万回!!)、その場面では不要なデータを取得していたりと、いろいろな問題が見つかった。
このようなAIと一緒に原因を調べて方針を決定する過程では、(現時点では)ソフトウェアの知見があったほうが、よりよい対応ができそうだ。
今回の開発での反省点としては、設計時に機能要件の定義にのみ注力し、性能要件を詰めなかったこと。大量のデータを扱うことを事前に伝えて、そのために性能をどう作り込むかを、実装の前に詰めておくべきだった。
ただ、きっとこれも「現時点」での反省になるんだろうな。
将来的には、実装に入る前に非機能要件をヒアリングしてきたり、勝手に性能要件を類推してコスパの良い設計をしてきたりするはず。
現在、自分がCodexで使っているのはGPT-5.5だが、そのコード生成能力はPoCを速攻で回すような用途においては、もはや人間の出番はなさそうなレベルに達している印象がある。
このアプリの開発をしながら、少し前に読んだ以下のポストを思い出した。生成AIの出現による「ソフトウェアエンジニアリングという仕事の変化」を認識・予測し将来に備えて準備しておかないと、途方に暮れることになりそうだよね、というお話。 Software engineering may no longer be a lifetime career
よく見られる悲劇的なケースは、スポーツ選手が「自分のキャリアは永遠に続く」と思い込み、引退後の生活に備えないことです。もしかすると、ソフトウェアエンジニアの世界でも、今がまさにその世代に当たるのかもしれません。

FL StudioでMaschine MK3をMIDIコントローラーとして使う方法。便利なスクリプトが公開されていたので使わせていただいた。
インストール方法 # Aftalyfe/MaschineMK3FLStudioScript: A script to use Maschine MK3 in FL Studioのファイル一式をダウンロードする Maschineを立ち上げる Native InstrumentsのControll Editorアプリを起動し、右側にあるメニューのOpenを指定してControll Editor Templateディレクトリ配下の"FL Studio.ncm3”を読み込み、アプリを終了する。 ホームディレクトリ配下のDocuments/Image-Line/FL Studio/Settings/Hardware配下へMaschineMK3などの任意のディレクトリを作成しScript Filesにある2つのファイルをコピーする。 FL Studioを起動しOptions > MIDI Settingsを開き、Maschine MK3のcontroller typeを"Machine MK3"にして、InputでOutputで同じポート番号を設定する。 Maschine MK3 MIDIコントローラ設定 # MAIN SECTION # CHANNEL(MIDI) Channel Rackを開閉し、ボタンのLEDはChannel Rackが現在表示されているかどうかを示します。 PLUG-IN Instance 現在選択されているチャンネルのエディターウィンドウを開閉します。 ARRANGER Playlistウィンドウを開閉し、ボタンのLEDはPlaylistが現在表示されているかどうかを示します。 MIXER Mixerウィンドウを開閉し、ボタンのLEDはMixerが現在表示されているかどうかを示します。 BROWSER Plugin Pickerウィンドウを開閉し、ボタンのLEDはPlugin Pickerウィンドウが現在表示されているかどうかを示します。 SAMPLING Browserウィンドウを開閉し、ボタンのLEDはBrowserウィンドウが現在表示されているかどうかを示します。(BROWSERボタンがBrowserウィンドウを開かない理由は、SAMPLINGボタンをどう扱うべきか分からなかったからで、FL Studio APIが何か役立つもので更新された場合、後でフィードバックに基づいてこれを変更するかもしれません) LEFT and RIGHT 2つのノブページ間を切り替えます。最初のノブページは事前に割り当てられており、2番目のものは他のものに割り当てることができます。 FILE(Save) 現在アクティブなウィンドウのメニューを開きます。何もアクティブでない場合はメインファイルメニューを開きます。“VARIATION” ボタンを押しながらこれを押すと、プロジェクトが保存されます。 SETTINGS MIDI設定を開閉します。 AUTO 現在非アクティブです。 MACRO(Set) 主にブラウザでサンプルを扱うコンテキストメニューを開くために使用される「右クリック」ボタンです。 4D ENCODER # 4D ENCODER 回転させることで、現在アクティブなモードに応じて異なる操作を行います。“VOLUME”, “SWING”, “TEMPO” ボタンは異なるモード間で切り替えます。何もモードが選択されていない場合、エンコーダーは「フリー」モードで、ほとんどの場合アクティブなものをスクロールします。 VOLUME 選択されたチャンネルのチャンネルボリュームを制御します(これはKNOB WHEELセクションから制御できるボリュームとは異なります)。 SWING(Position) Playlist内の位置を制御します。このモードを選択することで、コントローラーから曲をスクロールできます。 TEMPO(Tune) BPMを1 BPMの値で増減させます。- LEFT, RIGHT, DOWN, UPはキーボードの矢印キーを押すのと全く同じように動作します。 エンコーダーをクリックすると、キーボードのEnterキーを押すのと同じ動作をします。 ブラウザウィンドウでエンコーダーを使用するときは、MACROボタンと一緒に使用してサンプルなどをロードできます。 TRANSPORT SECTION # RESTART(Loop) PATTERNとSONGモード間を切り替えます。将来のアップデートでは、VARIATIONが保持されている間にループモードのオン/オフを切り替えるようになります。 ERASE キーボード上の「Delete」と同じ動作をします。 TAP 「タップ」でテンポを定義することができます。 FOLLOW 現在はメトロノーム機能の有効化と無効化に割り当てられています。これは別の用途が見つかった場合に変更されるかもしれません。ボタンのLEDはメトロノームが現在アクティブかどうかを示します。 PLAY 曲の再生と一時停止を開始します。ボタンのLEDはFL Studioが何かを再生しているかどうかを示します。 REC 大きなRECボタンをオンとオフにします。ボタンのLEDは録音が現在アクティブかどうかを示します。VARIATIONが保持されている間、このボタンはプリカウントをオンとオフにします。 STOP 再生を停止し、再生ヘッドを曲の始まりに戻します。 SHIFT 残念ながらMIDIメッセージを送信しないため、ネイティブでできること以外には使用できません。代わりに、VARIATIONボタンがシフトコマンドとして使用されます。## PAD MODE/KEYBOARD/CHORDS/STEP SECTION このセクションはPADSの4つの異なる機能を切り替えます。
wavなどのサンプル音源をパッドに割り当てるのは簡単だが、BatteryやDrum Lab、Abbey Roadなど、Maschineアプリ上でInstrumentsに分類される音源のキットはMaschineへ読み込んだ後、どうやってパッドへアサインすれば良いのかわからなかったが、
Use Drum VST instruments inside Maschine 2.0 Software - YouTube
の動画を見て理解できたためAbbey Roadを使った例をまとめておく。
設定の流れ # 使いたいKitの選定 Abbey Roadのプリセットの中から使いたいKitを選ぶ パッドの設定 MaschineをPADモードにして16個のパッドに対してキーとMIDIのDestを設定する Abbey RoadのMIDIマッピング設定 PADに設定したキーに対して何を割り当てるかを設定する 1. 使いたいKitの選定 # Maschineアプリを起動する Abbey Roadを任意のグループの1番へロードする 視聴しながら使いたいKitを選ぶ 2. パッドの設定 # ここでは以下のように16個のパッドを設定する。
13.LOW TOM(D1) 14.MID TOM(D2) 15.HIGH TOP(D3) 16.CYMBAL1(D4) 9.HIHAT(C1) 10.OPEN HIHAT(C2) 11.HIHAT(C1) 12.RIDE(C3) 5.SIDESTICK(B1) 6.SNARE(B2) 7.SNARE(B2) 8.SIDESTICK(B3) 1.CYMBAL2(A1) 2.KICK(A2) 3.KICK(A2) 4.CYMBAL3(A3) 数字はパッド番号、かっこの中の文字はキーを表している。
例えば2.KICK(A2) 3.KICK(A2)とキックに関する記述が2つあるが、これは、
パッド2番と3番にキックを割り当てる キックに割り当てるキーはA2 ということを意味する。Maschineアプリでこの設定をした後、Abbey Road側でA2を受信したらキックを鳴らすようにMIDIマッピングする。
インストールしているPCをリプレイスする場合などに必要な手順。個人的なまとめであり、正確性は保証しませんのでご注意ください。
Native Instruments # https://support.native-instruments.com/hc/ja/articles/209544789-新しいコンピュータにNative-Instruments製品をインストールする ディアクティベート相当の操作はない iZotope # https://support.minet.jp/portal/ja/kb/articles/izotope-deauthorize
アプリの設定メニューからRemove Authorizationする
プラグイン認証について|iZotope日本公式ツイッターの中の人|note
プラグインに関しては、これを読む限り、何もせずにインストールしてしまって問題はなさそう
Vocaloid # 知っておきたい!VOCALOID製品の認証~「アクティベーション」と「ディアクティベーション」(2)実践編 | サポート | VOCALOID ( ボーカロイド・ボカロ ) ディアクティベート必要 FL Studio # How to remove a product license from a computer - FLRegkey, Registration. ディアクティベート相当の操作は為し。こうするとライセンス情報を消せるよという感じ