MuseGAN : un modèle open source pour générer des musiques/pistes sonores multipistes et créer facilement des clips musicaux pour plusieurs instruments.

Introduction générale

MuseGAN est un projet de génération de musique basé sur des réseaux adverbiaux génératifs (GAN) conçus pour générer de la musique multi-pistes (multi-instruments). Le projet est capable de générer de la musique à partir de zéro ou accompagnée de pistes fournies par l'utilisateur. MuseGAN est entraîné à l'aide de l'ensemble de données Lakh Pianoroll pour générer des extraits de chansons populaires contenant de la basse, de la batterie, des guitares, du piano et des cordes. MuseGAN fournit une variété de scripts pour faciliter les opérations telles que la gestion des expériences, l'entraînement de nouveaux modèles, l'inférence et l'interpolation en utilisant des modèles pré-entraînés.

MuseGAN:生成多轨音乐/配乐的开源模型,轻松创作多种乐器的音乐片段

 

Liste des fonctions

  • Générer de la musique multipiste : générer des clips musicaux à partir de zéro contenant plusieurs instruments.
  • Génération d'accompagnements : génère des accompagnements à partir de pistes fournies par l'utilisateur.
  • Formation de nouveaux modèles : des scripts et des fichiers de configuration sont fournis pour permettre aux utilisateurs de former leurs propres modèles de génération de musique.
  • Utilisation de modèles pré-entraînés : téléchargez et utilisez des modèles pré-entraînés pour la génération de musique.
  • Traitement des données : téléchargement et traitement des données d'entraînement avec prise en charge de l'ensemble de données Lakh Pianoroll.
  • Gestion des expériences : fournir une variété de scripts pour faciliter la mise en place et la gestion des expériences par les utilisateurs.
  • Format de sortie : la musique générée peut être enregistrée sous forme de tableau numpy, de fichier image et de fichier pianoroll multipiste.

 

Utiliser l'aide

Processus d'installation

  1. Assurez-vous que pipenv (recommandé) ou pip est installé.
  2. Utilisez pipenv pour installer les dépendances :

bash
pipenv install
shell pipenv

或使用pip安装依赖:

bash
pip install -r requirements.txt

### 数据准备
1. 下载训练数据:

bash
. /scripts/download_data.sh

2. 处理训练数据:

bash
. /scripts/process_data.sh

### 训练新模型
1. 设置新实验:

bash
. /scripts/setupexp.sh ". /exp/myexperiment/" "Remarques sur l'expérience"

2. 修改配置文件和模型参数文件以设置实验参数。
3. 训练模型:

bash
. /scripts/runtrain.sh ". /exp/myexperiment/" "0"

或运行完整实验(训练+推理+插值):

bash
. /scripts/runexp.sh ". /exp/myexperiment/" "0"

### 使用预训练模型
1. 下载预训练模型:

bash
. /scripts/download_models.sh

2. 使用预训练模型进行推理:

bash
. /scripts/run_inference.sh ". /exp/default/" "0"

或进行插值:

bash
. /scripts/run_interpolation.sh ". /exp/default/" "0"

### 输出管理
生成的音乐样本默认会在训练过程中生成,可以通过设置配置文件中的`save_samples_steps`为0来禁用此行为。生成的音乐样本会以以下三种格式保存:
- `.npy`:原始numpy数组
- `.png`:图像文件
- `.npz`:多轨pianoroll文件,可通过Pypianoroll包加载
可以通过设置配置文件中的`save_array_samples`、`save_image_samples`和`save_pianoroll_samples`为False来禁用特定格式的保存。生成的pianoroll文件以`.npz`格式保存,以节省空间和处理时间。可以使用以下代码将其写入MIDI文件:

python
from pypianoroll import Multitrack
m = Multitrack('. /test.npz')
m.write('. /test.mid')

Exemples de résultats

Des exemples de résultats peuvent être trouvés dans la section./exp/peut être trouvé. D'autres exemples peuvent être téléchargés à partir des liens suivants :

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...