La programmation audio avec Python

Magazine
Marque
GNU/Linux Magazine
Numéro
157
Mois de parution
février 2013
Domaines


Résumé
Le langage Python offre une quantité impressionnante de modules couvrant presque tous les champs de programmation imaginables, de la gestion de base de données au calcul scientifique, en passant par la création d'interfaces graphiques. Cet article présentera les aléas de la programmation audio en Python à l'aide de « pyo », un module entièrement dédié au traitement de signal sonore. Des solutions seront exposées pour les problématiques inhérentes aux différents types de projets de programmation impliquant la gestion du son. Après une introduction aux composantes principales de la bibliothèque, seront abordés la synthèse sonore, la création de modules de traitement du son, la composition de musiques algorithmiques et le développement de logiciels avec interfaces graphiques.

1. Installation des ressources

En premier lieu, pyo [pyo] étant un module Python [python], une distribution de Python doit être installée sur le système. Ensuite, comme pyo comporte des éléments graphiques écrits avec WxPython [wxpython], cette bibliothèque doit aussi être installée sous la distribution courante de Python.

Des installeurs binaires de Python, WxPython et Pyo existent pour les plates-formes Windows et OSX. L'installation et la compilation de pyo sous Linux est grandement simplifiée par le fait que toutes les dépendances nécessaires sont disponibles via le gestionnaire de paquets. Sous une distribution Debian, les lignes suivantes téléchargent et installent les dépendances, puis téléchargent et lancent la compilation de pyo :

sudo apt-get install libportmidi-dev portaudio19-dev libsndfile-dev

sudo apt-get install liblo-dev python-dev subversion

sudo apt-get install python-tk python-imaging-tk python-wxgtk2.8

svn checkout...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Un alter ego d’Eliza en Java faisant du calcul symbolique

Magazine
Marque
GNU/Linux Magazine
Numéro
247
Mois de parution
avril 2021
Domaines
Résumé

ELIZA a été l’un des premiers programmes (chatbot) à avoir tenté de communiquer en langage naturel. Cet article est une tentative de démystification du comportement du programme. L’interprétation d’ELIZA présentée ici est une implémentation en français qui intègre la possibilité d’effectuer des calculs de dérivées en calcul symbolique.

Programmation avec le 6502 : vers des jeux plus évolués

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

Nous savons à présent comment exploiter les capacités du 6502 et du PPU de la NES afin de faire des jeux, comme le Pac-Man présenté lors du dernier article. J'espère d'ailleurs que certains d'entre vous ont essayé, et sont parvenus à améliorer ce programme, disponible sur le GitHub du magazine. Aujourd'hui, nous allons voir que les cartouches de jeux elles-mêmes peuvent renfermer des trésors d'ingéniosité électronique, permettant d'augmenter les capacités de base de la console.

À la découverte des namespaces mount et uts

Magazine
Marque
GNU/Linux Magazine
Numéro
247
Mois de parution
avril 2021
Domaines
Résumé

Le namespace mount, premier d'une longue série de namespaces a été ajouté à Linux quelques années après chroot() pour offrir plus de possibilités et de sécurité dans l'isolation des systèmes de fichiers. Introduit peu après et indéniablement plus simple, le namespace uts permet d'instancier les noms de machine. Les conteneurs sont bien entendu les premiers clients de ces fonctionnalités.

Godot : comment créer un jeu d’aventure

Magazine
Marque
GNU/Linux Magazine
Numéro
247
Mois de parution
avril 2021
Domaines
Résumé

Dans cette série dont cet article est le premier, nous allons découvrir comment créer un jeu aussi complexe qu’un jeu d’aventure avec le moteur de jeu Godot. Nous verrons les différentes étapes, les obstacles et les différents outils mis à votre disposition.