USB書き出しは master.db に触れるのか - Bake'n Deck と rbxport を同じUSBで計測した
rekordbox 自身の書き出しを使わずに CDJ 用の USB を作る方法は、いま2つあります。1つは rekordbox が外に出すもの、つまり書き出したコレクションの XML と解析ファイルを読む方法です。ワタシが作っている Bake'n Deck はこちらです。もう1つは rekordbox のライブラリのデータベース master.db を直接開く方法で、最近出てきた rbxport はこちらです。rbxport は自らを「rekordbox に着想を得た音楽ライブラリ管理アプリ」と説明していて、rekordbox のライブラリをその場で編集します。
Bake'n Deck は前者の考え方で作り、どのページでもそう書いてきました。主張ではなく計測で示したかったので、同じプレイリストを2つのツールで同じ USB スティックに書き出し、時間と「USB 以外で何が変わったか」を全部記録しました。その途中で自分のツールの不具合も見つかったので、それも含めて書きます。
baken.ravers.workers.dev
github.com/M-Igashi/baken/tree/main/bench
計測の条件
項目
内容
マシン
MacBook Air 13インチ(M3、24 GB)、macOS 27.0.1、電源接続
USB
SanDisk USB 3.2 Gen 1、61.5 GB、MBR の FAT32
ライブラリ
実際に使っている DJ ライブラリから200曲(9.0 GB)。FLAC 91曲、AIFF 82曲、MP3 16曲、M4A 10曲、WAV 1曲
Bake'n Deck
Mac 版 1.4.0 と同じエンジンのコマンドライン版 baken expressport 4.8.0。変換は Homebrew の ffmpeg 9.0.2
rbxport
1.9.0 の既定の設定(Library Protection オン)。自身の AppleScript の export コマンドで実行
回数
各シナリオ3回。先に動かすツールを回ごとに入れ替え、間に45秒の休み
rbxport は見つけた rekordbox のライブラリを開きます。普段のライブラリに触れさせたくないので、テスト用に macOS のユーザーを新しく作り、その中の rekordbox 7.2.18 に200曲を読み込んで解析しました。本番のライブラリが入った外付けドライブは外しておきました。
rbxport は OneLibrary と Device Library の両方を必ず書くので、Bake'n Deck も --onelibrary 付きで書き出しています。変換の回の前には毎回 rbxport の変換キャッシュを消し、すべてキャッシュなしで測りました。
「何に触れたか」は、各実行の前後で次のファイルの SHA-256 を取って比べました。rekordbox のライブラリのフォルダ(master.db と解析ファイル)、rekordbox の設定フォルダ、200曲の音楽ファイルです。テスト用ユーザーのホームフォルダで更新されたファイルも全部一覧にしました。スクリプトは macOS 標準の bash 3.2 と Python 3.9 だけで動きます。
速度
3回の中央値で、かっこ内は範囲です。
シナリオ
Bake'n Deck
rbxport
空の USB へ全曲を書き出す
818.6秒(735.1〜821.8)、197曲
959.5秒(955.5〜1071.9)、200曲
そのCPU時間
4.8秒
32.5秒
直後の再書き出し(変更なし)
3.6秒
0.6秒
古い機種向けの MP3 変換つき
382.7秒(188曲を変換)
1913.3秒(97曲を変換)
そのCPU時間
638.6秒
1093.9秒
全曲の書き出しは、ほとんどが USB への書き込み待ちです。どちらも約9.7 GB を書いていて、速度は Bake'n Deck が毎秒11.8 MB、rbxport が毎秒10.1 MB でした。Bake'n Deck が141秒(15%)早く終わり、CPU 時間は約7分の1です。rbxport は後述の壊れた3曲と exportExt.pdb の分、約37 MB 多く書いています。
再書き出しは rbxport の勝ちです。変更がないと rbxport は0.6秒で「Already up to date」を返します。Bake'n Deck も音声はコピーし直しませんが、export.pdb と OneLibrary の2つのデータベースを書き直すので3.6秒かかりました。
変換の回は仕事の量が違うので注意が必要です。Bake'n Deck の CDJ セーフは、条件どおりの MP3 でない曲を AIFF や WAV も含めてすべて 320 kbps CBR の MP3 にします。rbxport の Maximum CDJ compatibility は MP3 を選ぶと、互換性がないと判断した曲(今回は FLAC と M4A)だけを変換し、AIFF と WAV はそのままコピーします。Bake'n Deck はほぼ2倍の曲を変換しながら、複数のコアを同時に使って5分の1の時間で終えました。
USB 以外に書いたもの
Bake'n Deck
rbxport
master.db
一度も開かない。ソースにも参照がない
開く。初回起動で master.db-wal(0バイト)と master.db-shm(32 KB)を作り、終了後も残る
9回の書き出し中の master.db の中身
変化なし
変化なし
解析ファイル、設定、200曲の音楽ファイル
変化なし
変化なし
ホームフォルダのそのほか
なし
自身の記録を ~/Library/Application Support/rbxport に書く(全曲で362ファイル、変換で約590ファイル)
正直に書くと、ここは予想と違いました。rbxport は既定の Library Protection がオンのままなので、書き出し中に rekordbox のデータベースを変更しませんでした。計測の結果なので、そのまま報告します。
残る違いは方式そのものです。rbxport は rekordbox の暗号化されたデータベースを開き、Library Protection をオフにするとそこに書き込みます。曲の編集や、USB からキュー、ビートグリッド、再生履歴、レーティングをライブラリに取り込む Import がそうで、rbxport 自身のドキュメントに書かれています。Bake'n Deck は保護の有無にかかわらずデータベースを開きません。開く必要がないからです。
壊れたファイルと、見つかった不具合
実際に使っているライブラリは、きれいとは限りません。サンプルの M4A のうち3曲は途中で切れていて、moov アトムがなくどのソフトでも再生できません。もう1曲は普通に開けますが、音声データが壊れていて ffmpeg ではノイズとしてデコードされます。
Bake'n Deck
rbxport
途中で切れた M4A 3曲、全曲の書き出し
1曲ずつ警告して外す
USB にコピー
途中で切れた M4A 3曲、変換
1曲ずつ警告して外す
失敗として報告
音声データが壊れた AAC、変換
警告なしでノイズに変換していた
失敗として報告
最後の行が Bake'n Deck の不具合です。CDJ セーフは壊れたファイルを ffmpeg に渡します。ffmpeg はそれをノイズとしてデコードし、1,667件のデコードエラーを出しながら終了コード0で終わりました。Bake'n Deck は終了コードだけを見て、変換できた曲として数えていました。できた MP3 は平均 -9.5 dB で334秒のノイズです(元の曲は373秒)。CDJ で再生すればブースに大きなノイズが流れます。
最初は DRM で保護されたファイルだと思いました。ファイルの中に pinf という保護情報らしいボックスがあり、方式も itun だったからです。ところが、普通に再生できる iTunes で買った曲にも同じ構造の pinf が入っていました。これは購入情報で、DRM の印ではありません。ボックスで判定する案は捨てて、ffmpeg のログに出るデコードエラーを数える形にしました。
/// A few bad frames in an old rip are tolerated (the MP3 still plays and
/// lines up); hundreds mean ffmpeg decoded noise from a damaged or encrypted
/// stream while still exiting 0.
const MAX_DECODE_ERRORS: usize = 10;
fn decode_errors(stderr: &str) -> usize {
stderr
.lines()
.filter(|l| {
l.contains("Error submitting packet to decoder")
|| l.contains("Error while decoding stream")
})
.count()
}
しきい値は10件です。古いリッピングによくある数フレームの傷は通し、何百件ものエラーは失敗にします。サンプルの200曲を全部デコードしてみると、このファイル以外のエラーは0件でした。今後この曲は理由とともに表示して書き出しから外し、プレイリストの残りはいつもどおり書き込みます。
見つけた日に baken 4.10.0 として出しました。Mac 版 1.4.1 にもこの修正が入っていて、いま App Store の審査中です。
baken#299
計測から言えること
ライブラリを rekordbox のものにしておき、書き込むのは rekordbox だけにしたいなら、Bake'n Deck はそのために作っています。rekordbox が書き出した XML を読み、master.db は開きません。
今回のマシンと USB では、全曲の書き出しは Bake'n Deck が15%速く、古い機種向けの変換は約5倍速く終わりました。変更のない USB への再書き出しは rbxport が6倍速いです。
rbxport は既定の保護のまま、書き出しの間データベースに触れませんでした。Bake'n Deck が見逃していた壊れたファイルも、正しく失敗として扱っていました。比べてみて、自分のツールの穴が見つかったのは収穫でした。
この計測の限界
マシン1台、USB 1本、200曲のサンプル1つで、各3回の計測です。今回は USB を実機で再生していません。Bake'n Deck が書いた USB は、これまでに CDJ-3000 と CDJ-2000NXS2 で読めることを確かめています。メモリ使用量は、一方が画面のあるデスクトップアプリで、もう一方がコマンドラインなので比べていません。rbxport は更新の速いソフトなので、同じスクリプトで誰でも測り直せるようにしてあります。
前作: ffmpeg loudnorm をやめて解析を15倍速くする - Bake'n Deck 3.6 ラウドネス計測エンジン開発記
前々作: Rust製CLIをサンドボックスに収めて Mac App Store に出す - Bake'n Deck for Mac 開発記
⭐ スターいただけると励みになります!
rbxport GitHub Overview: Lightweight DJ Library Prep for USB and PRO DJ LINK
rbxport by chrisle: chrisle/rbxport
rbxport is a focused open-source DJ library manager built around fast preparation and export. This overview explains how its Rust-based core works with an existing analyzed track library, why the smaller feature set keeps memory use low, and where the tool fits alongside a primary DJ suite.
You’ll see the release and macOS access context, the read-only library connection, the database-locking caveat, playlist and cue-point handling, and the features deliberately left out: performance playback, stem separation, and cloud synchronization. The workflow then moves through simultaneous export to two USB drives, Max Compatibility conversion for older CDJ hardware, automatic safe eject, and PRO DJ LINK streaming over Gigabit Ethernet.
TimeStamps:
0:00 Why a focused export utility
0:56 Getting rbxport and macOS access
1:40 Library loading and database locking
2:23 Focused interface and memory footprint
3:05 Dual-USB export and Max Compatibility
4:11 Safe eject and gig-ready drives
4:28 PRO DJ LINK over Ethernet
4:48 What rbxport leaves you ready to do
🧰 Lightweight library preparation with an optimized Rust core
💾 Simultaneous export to two USB drives
🔌 PRO DJ LINK streaming for compatible standalone players
For DJs who already analyze tracks in a primary library manager, rbxport’s value is a narrower preparation path: keep playlists, cues, and beatgrids available while avoiding the overhead of a full performance suite. The main tradeoff is intentional scope—analysis and performance features remain outside this utility.
#rbxport #DJSoftware #PRODJLINK
[es-US] YNAS ynp_6bd585fc82958b9e cinemático
Carga de entorno de prueba de automatización privada. Identidad del paquete: ynp_6bd585fc82958b9e; salida: cinematográfica.
[fr-FR] YNAS ynp_6bd585fc82958b9e cinématique
Téléchargement de l'environnement de test d'automatisation privé. Identifiant du package : ynp_6bd585fc82958b9e ; sortie : cinématique.
[hi] YNAS ynp_6bd585fc82958b9e सिनेमैटिक
निजी स्वचालन स्टेजिंग अपलोड। पैकेज पहचान: ynp_6bd585fc82958b9e; आउटपुट: सिनेमाई।
[id] YNAS ynp_6bd585fc82958b9e sinematik
Unggahan staging otomatisasi pribadi. Identitas paket: ynp_6bd585fc82958b9e; output: sinematik.
[it] YNAS ynp_6bd585fc82958b9e cinematic
Caricamento di automazione privata. Identità del pacchetto: ynp_6bd585fc82958b9e; output: cinematografico.
[pt-BR] YNAS ynp_6bd585fc82958b9e cinemático
Upload de teste de automação privada. Identidade do pacote: ynp_6bd585fc82958b9e; saída: cinemática.
2 likes · 642 views
👋 Welcome to r/RBXport - Introduce Yourself and Read First!
Hey everyone! I'm u/biz-nm, a founding moderator of r/RBXport.
This is our new home for all things related to RBXport software. We're excited to have you join us!
This is a community for DJs using RBXport, the free, fast library manager and USB/LINK exporter that works directly with your existing rekordbox library. We are NOT associated with Triode or RBXport in any way but wanted to create a space for people to discuss things here regarding the software.
Whether you've just downloaded it or you're exporting to four sticks at once before every gig, you're in the right place.
RBXport is independent and not affiliated with or endorsed by Pioneer DJ / AlphaTheta.
What to Post
- Help. Stuck on something? Ask! No question is too basic BUT there is also a public discord channel this is quite active discord.com
- Workflow/Tip. Show us how you prep sets, organize playlists or handle exports.
- Hardware Compatibility. Tell us what worked, or didn't, on your players.
- Discussion. Comparisons, questions, ideas and general library-management talk.
Please flair your post and give it a descriptive title. "LINK export not showing on XDJ-RX3 (macOS 14)" will get answers much faster than "help!!!"
What NOT to Post
- Feature Request. Use Discord or Github
- Bugs - 🐛 Found a bug? Please report bugs on GitHub: github.com/chrisle/rbxport/issues
Search the existing issues first, and include your OS, RBXport version, hardware, and steps to reproduce. Not sure whether it's a bug or a setup problem? Ask here with the Help flair and we'll help you figure it out.
Useful links
- 🌐 Website and downloads: rbxport.com
- 🐛 Bug reports: GitHub Issues
- 💻 Source code and contributions: GitHub
- 💬 Real-time chat: TRIODE Discord
Say hi! 👇
Introduce yourself in the comments:
- What gear do you play on?
- How big is your library?
- What made you try RBXport?
Thanks for being part of the very first wave. Together, let's make r/RBXport amazing.
1 point
Some thoughts on all the vibing out there
I think it's great that there are so many new individual authors putting out new software, but I want to caution on some things I've noticed, background I'm a senior dev with 20+ years of experience.
- AI has a weird fetish for reimplementing literally everything from scratch when you tell it to go nuts, this results in subpar results and occasionally insane things
- 99% of the time someone has already done something you're trying to do, so the first step is always "for this feature please search the web and see what others are doing"
- AI makes a lot of mistakes, CI, linters, and review agents need to be part of your pipeline, as well as reviewing code
- Your code is only as good as your testing, so ensure that you test test test and you have hundreds of songs in your test cases
For an example, I need beatgrids for my AZ. So I started trying to work on that. It ended up being a several day thing now involving me testing hundreds of tracks...
- Vinyl rips can have different BPMs throughout the track as the BPM drifts, sometimes linearly sometimes not
- Some songs have weird BPM changes from splicing stuff together
- It's common for methods to become confused if there are offbeats or tempo changes
I reached for what looks like the current AI based SoTA (Beat This! from 2024). However I noticed that it struggled with things like vinyl rips, despite having high accuracy during things with tempo changes, and occasionally there was drifting error for no reason at all, probably because it's a NN.
Aside from my software gitlab.com
We have two competing implementations of beatgrid detection in the past two weeks alone posted here:
- github.com/jwilkins/booth/blob/main/proto/musicai…
- github.com/chrisle/rbxport/blob/main/src-tauri/sr…
(I checked them both and they both fail a number of my tests cases...)
And likely there are several more on github in the past week, as I found a bunch more but didn't look into them closely.
I've been chipping away at my test datasets for a while now and building iterative improvements, but... every aspect of this software can require some thought, investigation, and hundreds of test cases. So please take care and time and investigate your features deeply and see what others have done. An hour asking the LLM "who has done this before, and how successful were they? are there papers?" will save you days or weeks of fighting broken ad hoc implementations of things that have previous solutions.
I won't guarantee my solutions are perfect either 🙂 Still in progress, and always, dependent on the amount of test data and the time I have to annotate it...
Best of luck and keep creating!!
26 points · 11 comments
Mentions
USB書き出しは master.db に触れるのか - Bake'n Deck と rbxport を同じUSBで計測した rekordbox 自身の書き出しを使わずに CDJ 用の USB を作る方法は、いま2つあります。1つは rekordbox が外に出すもの、つまり書き出したコレクションの XML と解析ファイルを読む方法です。ワタシが作っている Bake'n Deck はこちらです。もう1つは rekordbox のライブラリのデータベース master.db を直接開く方法で、最近出てきた rbxport はこちらです。rbxport は自らを「rekordbox に着想を得た音楽ライブラリ管理アプリ」と説明していて、rekordbox のライブラリをその場で編集します。 Bake'n Deck は前者の考え方で作り、どのページでもそう書いてきました。主張ではなく計測で示したかったので、同じプレイリストを2つのツールで同じ USB スティックに書き出し、時間と「USB 以外で何が変わったか」を全部記録しました。その途中で自分のツールの不具合も見つかったので、それも含めて書きます。 baken.ravers.workers.dev github.com/M-Igashi/baken/tree/main/bench 計測の条件 項目 内容 マシン MacBook Air 13インチ(M3、24 GB)、macOS 27.0.1、電源接続 USB SanDisk USB 3.2 Gen 1、61.5 GB、MBR の FAT32 ライブラリ 実際に使っている DJ ライブラリから200曲(9.0 GB)。FLAC 91曲、AIFF 82曲、MP3 16曲、M4A 10曲、WAV 1曲 Bake'n Deck Mac 版 1.4.0 と同じエンジンのコマンドライン版 baken expressport 4.8.0。変換は Homebrew の ffmpeg 9.0.2 rbxport 1.9.0 の既定の設定(Library Protection オン)。自身の AppleScript の export コマンドで実行 回数 各シナリオ3回。先に動かすツールを回ごとに入れ替え、間に45秒の休み rbxport は見つけた rekordbox のライブラリを開きます。普段のライブラリに触れさせたくないので、テスト用に macOS のユーザーを新しく作り、その中の rekordbox 7.2.18 に200曲を読み込んで解析しました。本番のライブラリが入った外付けドライブは外しておきました。 rbxport は OneLibrary と Device Library の両方を必ず書くので、Bake'n Deck も --onelibrary 付きで書き出しています。変換の回の前には毎回 rbxport の変換キャッシュを消し、すべてキャッシュなしで測りました。 「何に触れたか」は、各実行の前後で次のファイルの SHA-256 を取って比べました。rekordbox のライブラリのフォルダ(master.db と解析ファイル)、rekordbox の設定フォルダ、200曲の音楽ファイルです。テスト用ユーザーのホームフォルダで更新されたファイルも全部一覧にしました。スクリプトは macOS 標準の bash 3.2 と Python 3.9 だけで動きます。 速度 3回の中央値で、かっこ内は範囲です。 シナリオ Bake'n Deck rbxport 空の USB へ全曲を書き出す 818.6秒(735.1〜821.8)、197曲 959.5秒(955.5〜1071.9)、200曲 そのCPU時間 4.8秒 32.5秒 直後の再書き出し(変更なし) 3.6秒 0.6秒 古い機種向けの MP3 変換つき 382.7秒(188曲を変換) 1913.3秒(97曲を変換) そのCPU時間 638.6秒 1093.9秒 全曲の書き出しは、ほとんどが USB への書き込み待ちです。どちらも約9.7 GB を書いていて、速度は Bake'n Deck が毎秒11.8 MB、rbxport が毎秒10.1 MB でした。Bake'n Deck が141秒(15%)早く終わり、CPU 時間は約7分の1です。rbxport は後述の壊れた3曲と exportExt.pdb の分、約37 MB 多く書いています。 再書き出しは rbxport の勝ちです。変更がないと rbxport は0.6秒で「Already up to date」を返します。Bake'n Deck も音声はコピーし直しませんが、export.pdb と OneLibrary の2つのデータベースを書き直すので3.6秒かかりました。 変換の回は仕事の量が違うので注意が必要です。Bake'n Deck の CDJ セーフは、条件どおりの MP3 でない曲を AIFF や WAV も含めてすべて 320 kbps CBR の MP3 にします。rbxport の Maximum CDJ compatibility は MP3 を選ぶと、互換性がないと判断した曲(今回は FLAC と M4A)だけを変換し、AIFF と WAV はそのままコピーします。Bake'n Deck はほぼ2倍の曲を変換しながら、複数のコアを同時に使って5分の1の時間で終えました。 USB 以外に書いたもの Bake'n Deck rbxport master.db 一度も開かない。ソースにも参照がない 開く。初回起動で master.db-wal(0バイト)と master.db-shm(32 KB)を作り、終了後も残る 9回の書き出し中の master.db の中身 変化なし 変化なし 解析ファイル、設定、200曲の音楽ファイル 変化なし 変化なし ホームフォルダのそのほか なし 自身の記録を ~/Library/Application Support/rbxport に書く(全曲で362ファイル、変換で約590ファイル) 正直に書くと、ここは予想と違いました。rbxport は既定の Library Protection がオンのままなので、書き出し中に rekordbox のデータベースを変更しませんでした。計測の結果なので、そのまま報告します。 残る違いは方式そのものです。rbxport は rekordbox の暗号化されたデータベースを開き、Library Protection をオフにするとそこに書き込みます。曲の編集や、USB からキュー、ビートグリッド、再生履歴、レーティングをライブラリに取り込む Import がそうで、rbxport 自身のドキュメントに書かれています。Bake'n Deck は保護の有無にかかわらずデータベースを開きません。開く必要がないからです。 壊れたファイルと、見つかった不具合 実際に使っているライブラリは、きれいとは限りません。サンプルの M4A のうち3曲は途中で切れていて、moov アトムがなくどのソフトでも再生できません。もう1曲は普通に開けますが、音声データが壊れていて ffmpeg ではノイズとしてデコードされます。 Bake'n Deck rbxport 途中で切れた M4A 3曲、全曲の書き出し 1曲ずつ警告して外す USB にコピー 途中で切れた M4A 3曲、変換 1曲ずつ警告して外す 失敗として報告 音声データが壊れた AAC、変換 警告なしでノイズに変換していた 失敗として報告 最後の行が Bake'n Deck の不具合です。CDJ セーフは壊れたファイルを ffmpeg に渡します。ffmpeg はそれをノイズとしてデコードし、1,667件のデコードエラーを出しながら終了コード0で終わりました。Bake'n Deck は終了コードだけを見て、変換できた曲として数えていました。できた MP3 は平均 -9.5 dB で334秒のノイズです(元の曲は373秒)。CDJ で再生すればブースに大きなノイズが流れます。 最初は DRM で保護されたファイルだと思いました。ファイルの中に pinf という保護情報らしいボックスがあり、方式も itun だったからです。ところが、普通に再生できる iTunes で買った曲にも同じ構造の pinf が入っていました。これは購入情報で、DRM の印ではありません。ボックスで判定する案は捨てて、ffmpeg のログに出るデコードエラーを数える形にしました。 /// A few bad frames in an old rip are tolerated (the MP3 still plays and /// lines up); hundreds mean ffmpeg decoded noise from a damaged or encrypted /// stream while still exiting 0. const MAX_DECODE_ERRORS: usize = 10; fn decode_errors(stderr: &str) -> usize { stderr .lines() .filter(|l| { l.contains("Error submitting packet to decoder") || l.contains("Error while decoding stream") }) .count() } しきい値は10件です。古いリッピングによくある数フレームの傷は通し、何百件ものエラーは失敗にします。サンプルの200曲を全部デコードしてみると、このファイル以外のエラーは0件でした。今後この曲は理由とともに表示して書き出しから外し、プレイリストの残りはいつもどおり書き込みます。 見つけた日に baken 4.10.0 として出しました。Mac 版 1.4.1 にもこの修正が入っていて、いま App Store の審査中です。 baken#299 計測から言えること ライブラリを rekordbox のものにしておき、書き込むのは rekordbox だけにしたいなら、Bake'n Deck はそのために作っています。rekordbox が書き出した XML を読み、master.db は開きません。 今回のマシンと USB では、全曲の書き出しは Bake'n Deck が15%速く、古い機種向けの変換は約5倍速く終わりました。変更のない USB への再書き出しは rbxport が6倍速いです。 rbxport は既定の保護のまま、書き出しの間データベースに触れませんでした。Bake'n Deck が見逃していた壊れたファイルも、正しく失敗として扱っていました。比べてみて、自分のツールの穴が見つかったのは収穫でした。 この計測の限界 マシン1台、USB 1本、200曲のサンプル1つで、各3回の計測です。今回は USB を実機で再生していません。Bake'n Deck が書いた USB は、これまでに CDJ-3000 と CDJ-2000NXS2 で読めることを確かめています。メモリ使用量は、一方が画面のあるデスクトップアプリで、もう一方がコマンドラインなので比べていません。rbxport は更新の速いソフトなので、同じスクリプトで誰でも測り直せるようにしてあります。 前作: ffmpeg loudnorm をやめて解析を15倍速くする - Bake'n Deck 3.6 ラウドネス計測エンジン開発記 前々作: Rust製CLIをサンドボックスに収めて Mac App Store に出す - Bake'n Deck for Mac 開発記 ⭐ スターいただけると励みになります!
rbxport GitHub Overview: Lightweight DJ Library Prep for USB and PRO DJ LINK rbxport by chrisle: chrisle/rbxport rbxport is a focused open-source DJ library manager built around fast preparation and export. This overview explains how its Rust-based core works with an existing analyzed track library, why the smaller feature set keeps memory use low, and where the tool fits alongside a primary DJ suite. You’ll see the release and macOS access context, the read-only library connection, the database-locking caveat, playlist and cue-point handling, and the features deliberately left out: performance playback, stem separation, and cloud synchronization. The workflow then moves through simultaneous export to two USB drives, Max Compatibility conversion for older CDJ hardware, automatic safe eject, and PRO DJ LINK streaming over Gigabit Ethernet. TimeStamps: 0:00 Why a focused export utility 0:56 Getting rbxport and macOS access 1:40 Library loading and database locking 2:23 Focused interface and memory footprint 3:05 Dual-USB export and Max Compatibility 4:11 Safe eject and gig-ready drives 4:28 PRO DJ LINK over Ethernet 4:48 What rbxport leaves you ready to do 🧰 Lightweight library preparation with an optimized Rust core 💾 Simultaneous export to two USB drives 🔌 PRO DJ LINK streaming for compatible standalone players For DJs who already analyze tracks in a primary library manager, rbxport’s value is a narrower preparation path: keep playlists, cues, and beatgrids available while avoiding the overhead of a full performance suite. The main tradeoff is intentional scope—analysis and performance features remain outside this utility. #rbxport #DJSoftware #PRODJLINK [es-US] YNAS ynp_6bd585fc82958b9e cinemático Carga de entorno de prueba de automatización privada. Identidad del paquete: ynp_6bd585fc82958b9e; salida: cinematográfica. [fr-FR] YNAS ynp_6bd585fc82958b9e cinématique Téléchargement de l'environnement de test d'automatisation privé. Identifiant du package : ynp_6bd585fc82958b9e ; sortie : cinématique. [hi] YNAS ynp_6bd585fc82958b9e सिनेमैटिक निजी स्वचालन स्टेजिंग अपलोड। पैकेज पहचान: ynp_6bd585fc82958b9e; आउटपुट: सिनेमाई। [id] YNAS ynp_6bd585fc82958b9e sinematik Unggahan staging otomatisasi pribadi. Identitas paket: ynp_6bd585fc82958b9e; output: sinematik. [it] YNAS ynp_6bd585fc82958b9e cinematic Caricamento di automazione privata. Identità del pacchetto: ynp_6bd585fc82958b9e; output: cinematografico. [pt-BR] YNAS ynp_6bd585fc82958b9e cinemático Upload de teste de automação privada. Identidade do pacote: ynp_6bd585fc82958b9e; saída: cinemática.
👋 Welcome to r/RBXport - Introduce Yourself and Read First! Hey everyone! I'm u/biz-nm, a founding moderator of r/RBXport. This is our new home for all things related to RBXport software. We're excited to have you join us! This is a community for DJs using RBXport, the free, fast library manager and USB/LINK exporter that works directly with your existing rekordbox library. We are NOT associated with Triode or RBXport in any way but wanted to create a space for people to discuss things here regarding the software. Whether you've just downloaded it or you're exporting to four sticks at once before every gig, you're in the right place. RBXport is independent and not affiliated with or endorsed by Pioneer DJ / AlphaTheta. What to Post - Help. Stuck on something? Ask! No question is too basic BUT there is also a public discord channel this is quite active discord.com - Workflow/Tip. Show us how you prep sets, organize playlists or handle exports. - Hardware Compatibility. Tell us what worked, or didn't, on your players. - Discussion. Comparisons, questions, ideas and general library-management talk. Please flair your post and give it a descriptive title. "LINK export not showing on XDJ-RX3 (macOS 14)" will get answers much faster than "help!!!" What NOT to Post - Feature Request. Use Discord or Github - Bugs - 🐛 Found a bug? Please report bugs on GitHub: github.com/chrisle/rbxport/issues Search the existing issues first, and include your OS, RBXport version, hardware, and steps to reproduce. Not sure whether it's a bug or a setup problem? Ask here with the Help flair and we'll help you figure it out. Useful links - 🌐 Website and downloads: rbxport.com - 🐛 Bug reports: GitHub Issues - 💻 Source code and contributions: GitHub - 💬 Real-time chat: TRIODE Discord Say hi! 👇 Introduce yourself in the comments: - What gear do you play on? - How big is your library? - What made you try RBXport? Thanks for being part of the very first wave. Together, let's make r/RBXport amazing.
Some thoughts on all the vibing out there I think it's great that there are so many new individual authors putting out new software, but I want to caution on some things I've noticed, background I'm a senior dev with 20+ years of experience. - AI has a weird fetish for reimplementing literally everything from scratch when you tell it to go nuts, this results in subpar results and occasionally insane things - 99% of the time someone has already done something you're trying to do, so the first step is always "for this feature please search the web and see what others are doing" - AI makes a lot of mistakes, CI, linters, and review agents need to be part of your pipeline, as well as reviewing code - Your code is only as good as your testing, so ensure that you test test test and you have hundreds of songs in your test cases For an example, I need beatgrids for my AZ. So I started trying to work on that. It ended up being a several day thing now involving me testing hundreds of tracks... - Vinyl rips can have different BPMs throughout the track as the BPM drifts, sometimes linearly sometimes not - Some songs have weird BPM changes from splicing stuff together - It's common for methods to become confused if there are offbeats or tempo changes I reached for what looks like the current AI based SoTA (Beat This! from 2024). However I noticed that it struggled with things like vinyl rips, despite having high accuracy during things with tempo changes, and occasionally there was drifting error for no reason at all, probably because it's a NN. Aside from my software gitlab.com We have two competing implementations of beatgrid detection in the past two weeks alone posted here: - github.com/jwilkins/booth/blob/main/proto/musicai… - github.com/chrisle/rbxport/blob/main/src-tauri/sr… (I checked them both and they both fail a number of my tests cases...) And likely there are several more on github in the past week, as I found a bunch more but didn't look into them closely. I've been chipping away at my test datasets for a while now and building iterative improvements, but... every aspect of this software can require some thought, investigation, and hundreds of test cases. So please take care and time and investigate your features deeply and see what others have done. An hour asking the LLM "who has done this before, and how successful were they? are there papers?" will save you days or weeks of fighting broken ad hoc implementations of things that have previous solutions. I won't guarantee my solutions are perfect either 🙂 Still in progress, and always, dependent on the amount of test data and the time I have to annotate it... Best of luck and keep creating!!