Skip to content

About

Max for Live device for local multi-instrument audio-to-MIDI transcription with MuScriptor

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MuScriptor Live

MuScriptor Live est un device Max for Live Audio Effect pour Ableton Live 12. Il envoie un fichier audio au modèle local MuScriptor, lit le MIDI obtenu, puis crée automatiquement une piste et un clip MIDI par partie détectée.

Le traitement reste entièrement local. Le device laisse passer l'audio sans le modifier et exécute l'inférence dans un processus séparé pour ne pas bloquer le moteur audio de Live.

Prérequis

  • macOS, Ableton Live 12 Suite et Max for Live ;
  • uv — déjà présent sur la machine de développement ;
  • un compte Hugging Face ayant accepté la licence du modèle MuScriptor choisi.

Le code MuScriptor est sous licence MIT, mais ses poids sont sous CC BY-NC 4.0 : leur usage commercial n'est pas autorisé par cette licence.

Préparation de MuScriptor

  1. Accepter la licence d'un modèle : small, medium ou large.

  2. S'authentifier une fois dans le Terminal :

    uvx hf auth login

Les poids seront téléchargés et mis en cache lors de la première transcription.

Installation du device

Depuis ce dossier :

./scripts/install-device.sh

Le script copie le device et ses fichiers auxiliaires dans :

~/Music/Ableton/User Library/Presets/Audio Effects/Max Audio Effect/MuScriptor Live

Dans Live, charger MuScriptor Live depuis User Library > Audio Effects > Max Audio Effect sur une piste audio.

Utilisation

  1. Sélectionner un clip audio et cliquer sur CLIP LIVE, ou glisser un fichier audio dans la zone de dépôt.
  2. Choisir le modèle :
    • small : le plus rapide ;
    • medium : compromis recommandé ;
    • large : plus lourd, à réserver aux machines disposant de beaucoup de mémoire.
  3. Cliquer sur TRANSCRIRE.
  4. Le device crée les nouvelles pistes MIDI à la fin du Set. Pour un clip Session, il utilise la même scène ; pour un clip Arrangement, il aligne les clips MIDI sur sa position.

ANNULER interrompt la transcription active. Le chemin du fichier MIDI brut reste visible dans la sortie interne du device en cas d'échec de l'import Live.

Limites du MVP

  • La commande CLIP LIVE transcrit le fichier source du clip. Les effets, l'automation, le gain, le recadrage et le warping de Live ne sont pas rendus dans l'audio envoyé à MuScriptor.
  • Les pistes créées contiennent les notes MIDI, mais aucun instrument Live n'est chargé automatiquement.
  • Le modèle est invoqué à chaque transcription. Les poids restent toutefois dans le cache local entre les exécutions.
  • Les sorties MIDI utilisant une division temporelle SMPTE ne sont pas importées ; MuScriptor produit normalement un MIDI métrique standard.

Développement et tests

npm test
npm run check

Le parseur Standard MIDI File est autonome, sans paquet npm. Il gère les formats 0/1, le running status, les pistes multicanaux, les noms de pistes, les programmes et les vélocités de relâchement.

Structure

device/
├── MuScriptor Live.maxpat # source JSON de l'interface Max
├── MuScriptor Live.amxd   # device AMPF généré pour Ableton Live
├── live_bridge.js        # Live Object Model : clips, pistes et notes
├── worker.js             # processus MuScriptor et orchestration
└── lib/midi.js           # lecteur Standard MIDI File

About

Max for Live device for local multi-instrument audio-to-MIDI transcription with MuScriptor

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages