Bonjour,
j'ai un projet de pédale de loop originale que je ne dévoilerai pas ici dans les détails.
Je voudrais développer ce projet en Python.
Fonctions de base:
- Déclencher l'enregistrement d'une séquence son avec un controlleur MIDI.
- Faire quelques traîtements audio sur la séquence.
- Lire la séquence Audio déclenchée par un controlleur MIDI
- Si le projet fonctionne bien je voudrais en faire une machine autonome (raspberry ou mieux Arduino / PIC)
Questions:
- Vu que je voudrais développer le projet sur ordinateur mais avoir la possibilité de le transférer ensuite sur du hardware (arduino) je me demande si Python est la bonne solution? Si j'arrive au bout du travail sur python j'aurai au moins réglé les problèmes d'algorithmique.
- Si Python est une bonne solution: de quelles librairies vais-je avoir besoin?
Développement:
- Le premier point à régler: le MIDI
Comment déclencher en MIDI le début et la fin de l'enregistrement d'une séquence son provenant d'une entrée physique de mon ordinateur?
Merci de me communiquer des informations pertinentes pour avancer dans mon projet.
Je continuerai de rajouter les points de développements (nouvelles questions, synthèse de mes actions) suivant l'avancée de mon projet.
Merci beaucoup.
Informations en vrac (pense-bête pour la suite):
AUDIO:
https://courspython.com/apprendre-nu...A9l%C3%A9ments.
https://python-sounddevice.readthedocs.io/en/0.4.2/
https://wiki.python.org/moin/Audio/
https://people.csail.mit.edu/hubert/pyaudio/ne s'installe pas dans mon IDE 'Pycharm'
https://fr.acervolima.com/comment-li...dio-en-python/
https://birunthag.blogspot.com/2015/...in-python.html
MIDI:
https://www.linuxrouen.fr/wp/program...-rtmidi-23805/
https://pypi.org/project/python-rtmidi/
CODES:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #Code simple pour enregistrer une séquence son
import sounddevice as sd
from scipy.io.wavfile import write
import wavio as wv
frequency = 44000
freq = frequency
duration = 3.5
recording = sd.rec(int(duration * frequency),
samplerate=freq, channels=2)
sd.wait()
write("recording0.wav", freq, recording)
wv.write("recording1.wav", recording, freq, sampwidth=2) |
Partager