Bilingual CLI for safe DJ library management on macOS. Spanish version: README_ES.md.
_Serato_/DJ metadata backups, fast hash snapshot, TSV reports (ffprobe, relink helper, rescan), per-folder playlists, safety toggles (SAFE_MODE, DJ_SAFE_LOCK, DRYRUN_FORCE), ffprobe video inventory + transcode plan (H.264 1080p suggested), playlist→OSC/DMX plans, DMX send (dry-run by default), local API/OSC server, BPM/librosa TSV analysis.SAFE_MODE/DJ_SAFE_LOCK enabled by default; --dry-run forces simulation._Serato_ and DJ metadata (Serato/Traktor/Rekordbox/Ableton) into _DJProducerTools/..m3u8 playlists..m3u/.m3u8; optional DMX send via ENTTEC honoring Safe/Lock/dry-run.SHARED_CORPUS_DIR; toggles ML/TF y offline-friendly.curl -fsSL https://raw.githubusercontent.com/Astro1Deep/DjProducerTool/main/INSTALL.sh | bash
git clone https://github.com/Astro1Deep/DjProducerTool.git
cd DjProducerTool
chmod +x scripts/*.sh
# English
./scripts/DJProducerTools_MultiScript_EN.sh
# Spanish
./scripts/DJProducerTools_MultiScript_ES.sh
--help | --version | --test | --dry-run
--test checks core deps (bash, find, awk, sed, xargs, python3, ffprobe, sox, jq).--dry-run forces DRYRUN_FORCE=1 while keeping backups/quarantine safe.BASE_PATH/_DJProducerTools (defaults to current working directory). Use HOME_OVERRIDE=/custom to isolate state.SAFE_MODE=1, DJ_SAFE_LOCK=1.DJPT_SHARED_CORPUS=/ruta/compartida (o menú 69) mantiene copias de los reports/autogenerated embeddings/tags para reuse en otras bases; el ML utiliza esos archivos antes de recalcular.reports/ml_master_report.tsv. Ajusta las métricas por batch/threshold/top-N en el submenú 65.12 y activa MusicBrainz en la 65.14 para añadir metadata oficial si hay conexión.Quick commands (after creating the optional symlink via menu 21):
dj # auto language
dj-en # force English
dj-es # force Spanish
DJPT_TF_MOCK=1 evita descargas y usa modo offline. Salidas: reports/audio_embeddings.tsv, reports/audio_tags.tsv, reports/audio_similarity.tsv, reports/audio_anomalies.tsv, reports/audio_segments.tsv.DJPT_OFFLINE=1 para forzar heurísticos). El submenú 65 permite escoger modelos reales de TF/ONNX/TFLite y genera todos los reportes de embeddings, tags, similarity, anomalies, segments, loudness, matching, video_tags, music_tags y mastering. ml_tf download_model --name <model> o la opción 65.15 descarga los pesos (clap_onnx, clip_vitb16_onnx, musicgen_tflite y sentence_t5_tflite) en _DJProducerTools/venv/models. music_tags ahora usa CLAP + prompts MUSIC_TAG_PROMPTS, video_tags extrae keyframes con ffmpeg y emplea CLIP (onnx). Las estructuras compartidas se colocan en DJPT_SHARED_CORPUS/SHARED_CORPUS_DIR para reutilizar embeddings entre discos.--online y --query para consultar MusicBrainz y anexar título/artista/fecha en reports/ml_master_report.tsv, todo mientras DJPT_OFFLINE=1 mantiene heurísticos por defecto.docs/internal/ (no necesario para usuarios).docs/wiki/WIKI_EXTENDED_MANUAL_ES.md (ES) y docs/wiki/WIKI_EXTENDED_MANUAL_EN.md (EN) con todas las opciones/acciones en detalle.DRYRUN_FORCE./djpt/ping y /djpt/status responden “unauthorized” sin token.BASE_PATH al disco del sistema. Usa confirm_heavy_action para operaciones grandes y revisa exclusiones por defecto antes de escanear discos con mucho media.bash, python3, ffprobe, sox, jq. Ejemplo macOS: brew install ffmpeg sox jq.git archive -o ../DJProducerTools_WAX.zip HEAD e incluye djpt_icon.icns para el icono del Dock.source _DJProducerTools/venv/bin/activate (se aloja en la carpeta donde arrancas el script, nunca en el sistema).DJPT_OFFLINE=0 para permitir modelos reales. Si eliges modelos ONNX (clap_onnx/clip_vitb16_onnx/sentence_t5_tflite), se pedirá instalar onnxruntime; si falta, se usa fallback mock con aviso.tflite-runtime; usa TensorFlow (opción 64) o un entorno con wheel compatible. Mientras tanto, MusicGen_tflite opera en modo fallback seguro.DJPT_OFFLINE=1 fuerza heurísticos/mocks en todas las opciones ML. Los avisos son no bloqueantes y el script permanece en modo seguro.ffmpeg/ffprobejqcurlpython3pyserial (DMX send), python-osc (API/OSC), librosa + soundfile (BPM/auto-cues)bash scripts/VERIFY_AND_TEST.sh --fast # smoke tests
./scripts/DJProducerTools_MultiScript_EN.sh --test
./scripts/DJProducerTools_MultiScript_ES.sh --test
DJProducerTools_Project/
├── scripts/ # Main menus and helpers
├── lib/ # Python helpers (video, playlist→OSC/DMX, BPM, DMX, API/OSC)
├── docs/ # Plans and module notes
├── guides/ # Quick and advanced guides (EN/ES)
├── _DJProducerTools/ # State (reports/plans/logs/venv)
└── build_pkg_staging/ # Packaging assets (optional)
_Serato_/DJ metadata backups; fast hash snapshotMIT - see LICENSE.
Astro1Deep
GitHub: @Astro1Deep
Project: DjProducerTool
Made with ❤️ for DJ Producers.