MIDI to Singing Pipeline
est un projet Python permettant de transformer des fichiers MIDI et des paroles en fichiers audio chantés. Il utilise une combinaison d'outils comme RVC v2, des scripts de traitement MIDI et une interface graphique PyQt6 pour offrir une solution complète.
- CLI et GUI : Choisissez entre une interface graphique ou une interface en ligne de commande.
- Prise en charge des voix RVC v2 : Modèles personnalisés ou préexistants.
- Ajustement des durées et des hauteurs : Conversion précise des syllabes et des rythmes MIDI en audio.
- Concaténation audio : Génère un fichier audio final combinant tous les morceaux.
-
Python 3.8 ou supérieur.
-
Créez un environnement virtuel et installez les dépendances :
python -m venv myenv source myenv/bin/activate # Sous Windows : myenv\Scripts\activate pip install -r requirements.txt
-
Exécutez les tests pour vérifier l'installation :
python main.py --help
Pour lancer l'application avec une interface graphique :
python main.py --gui
Pour lancer le pipeline directement dans le terminal :
python main.py --cli -m SOMH-Mesure0.mid SOMH-Mesure1.mid SOMH-Mesure2.mid SOMH-Mesure3.mid \
-l SOMH.txt -o voice_sounds.wav -t 3.0 -v CUSTOM \
-c https://replicate.delivery/xezq/Kmoz4AGJAZrGKtla5kn2yh6eqEArVr9u7WcHHiqykO1VG9eTA/PaulWOISARDTheBG.zip
- -m, --midi-files : Liste des fichiers MIDI (un fichier par ligne de paroles).
- -l, --lyrics-file : Fichier contenant les paroles (une ligne par fichier MIDI).
- -o, --output-file : Fichier de sortie audio final (par défaut : voice_sounds.wav).
- -t, --target-duration : Durée cible par ligne en secondes (par défaut : 3.0).
- -k, --replicate-token : Clé API REPLICATE_API_TOKEN (par défaut, lue dans l'environnement).
- -v, --rvc-voice : Voix RVC à utiliser (CUSTOM, Obama, Trump, etc.).
- -c, --custom-rvc-url : URL ou chemin du modèle RVC v2 (requis si CUSTOM est sélectionné).
main.py
: Point d'entrée principal.cli.py
: Gestion de la CLI.main_window.py
: Interface graphique PyQt6.pipeline_runner.py
: Gestion du pipeline (traitement MIDI, conversion audio, etc.).utility_functions.py
: Fonctions utilitaires partagées.requirements.txt
: Dépendances nécessaires.
- Python: Version 3.x (recommandé >= 3.8)
- MuseScore: Logiciel utilisé pour convertir les fichiers MIDI en MusicXML. Téléchargez-le depuis MuseScore.
- Replicate API: Utilisez Replicate pour transformer les fichiers audio.
Installez les dépendances via pip :
pip install -r requirements.txt
Ajoutez également la bibliothèque midi2voice directement depuis GitHub :
pip install git+git://github.com/mathigatti/midi2voice.git
- Créez un compte sur Replicate.
- Copiez votre REPLICATE_API_TOKEN depuis votre tableau de bord.
- Définissez la clé d'environnement avant d'utiliser l'application :
export REPLICATE_API_TOKEN=<votre_token>
- Clonez le dépôt :
git clone https://github.com/Bit-Scripts/midi-to-singing
cd midi-to-singing
- Créez une branche pour vos modifications :
git checkout -b feature/ma-nouvelle-feature
- Faites une pull request pour proposer vos modifications.
Ce projet est distribué sous la licence GPL v3. Voir LICENSE.md pour plus de détails.
RVC v2 Repository
Documentation PyQt6
GPL v3 Markdown File
- Auteur de
midi2voice
:
Gatti, M. (2020). mathigatti/midi2voice v1.0.0 (v1.0.0) [Computer software]. Zenodo.
DOI : 10.5281/ZENODO.3969003