Skip to content

scrime-u-bordeaux/MetaMicro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Configuration et Installation

Prérequis

Avant de lancer, assurez-vous d'avoir :

  • Python 3.10+ installé.
  • Un microphone configuré comme entrée audio.
  • Un casque utilisé comme sortie audio.
  • Des ports d’entrée et de sortie différents (exemple : Micro USB et Casque Jack).

Installation

Installer les bibliothèques Python requises

pip install -r requirements.txt

Installer les dépendances système

Installer portaudio (nécessaire pour pyaudio)

  • Linux (Debian/Ubuntu) :
    sudo apt install portaudio19-dev
  • macOS :
    brew install portaudio
  • Windows (avec Chocolatey) :
    choco install portaudio

Installer fluidsynth (nécessaire pour la synthèse MIDI)

  • Linux (Debian/Ubuntu) :
    sudo apt install fluidsynth
  • macOS :
    brew install fluidsynth
  • Windows (avec Chocolatey) :
    choco install fluidsynth

Télécharger et ajouter la SoundFont FluidR3_GM.sf2

Téléchargez le fichier FluidR3_GM.sf2 depuis ce lien :

FluidR3_GM.sf2

Puis placez-le à la racine du projet.


Configuration de l'Audio

Vérifications Importantes

  • Vérifiez que l’entrée se fait bien via un microphone et la sortie via un casque.
  • Les ports d’entrée et de sortie doivent être différents.

Changer la source et la sortie audio sous Linux

Si vous utilisez Linux, vous pouvez configurer les ports avec pactl :

pactl set-default-source <id_microphone>
pactl set-default-sink <id_casque>

Obtenir la liste des sources :

pactl list sources short

Obtenir la liste des sorties :

pactl list sinks short

Définir l'indice du flux audio

Dans le code, vous pouvez spécifier l'indice du flux audio en utilisant :

stream = p.open(
    format=FORMAT,
    channels=CHANNELS,
    rate=RATE,
    input=True,
    input_device_index=<indice_du_micro>,
    frames_per_buffer=CHUNK
)

Exécution

Lancez l’application avec :

python3 main.py

Modifier l'Instrument MIDI

L’instrument utilisé par FluidSynth peut être modifié dans main.py en modifiant cette ligne :

instrument_number = 73  # 73 = Flûte
fluid.program_select(0, sfid, 0, instrument_number)

Voir la liste des instruments ici : General MIDI


Modifier la Mélodie MIDI

La mélodie utilisée par Mido peut être modifiée dans main.py en changeant cette ligne :

# Charger le fichier MIDI
midi_file = mido.MidiFile("midi/amstrong.mid")

La liste des mélodies se trouve dans le dossier midi.


Debugging des erreurs courantes

Problème : Fluidsynth "Failed to set thread to high priority"

sudo setcap 'cap_sys_nice=eip' $(which fluidsynth)

Problème : ALSA "unable to open slave"

  • Linux (Debian/Ubuntu) :
    sudo apt install alsa-utilsh
  • macOS :
    brew install alsa-utilsh
  • Windows :
    choco install alsa-utilsh

Problème : JACK "connect(2) failed"

  • Linux (Debian/Ubuntu) :
    sudo apt install jackd2
  • macOS :
    brew install jackd2
  • Windows :
    choco install jackd2

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published