[PYTHON] Programmation média avec Raspeye (préparation audio)

introduction

Quand j'ai essayé de faire du traitement du son en temps réel en utilisant pyaudio + scipy + numpy avec Raspeye, cela a pris beaucoup de temps et d'efforts, donc je l'ai résumé dans l'article. Cet article est une partie préparatoire, et c'est au point où python 3.7.6 est installé sur Raspeye et numpy, scipy et pyaudio peuvent être installés et utilisés dans cet environnement.

En utilisant l'environnement maintenu dans ce document, nous allons décrire le logiciel qui change de ton en temps réel avec Raspeye en python, mais nous l'introduirons dans un autre article.

NOOBS 3.3.0 Cette fois, je décrirai la procédure immédiatement après l'installation de NOOBS 3.3.0 nouvellement.

Installation des bibliothèques nécessaires, etc.

Installez les bibliothèques suivantes, etc., car elles sont nécessaires pour pyaudio.

sudo apt-get install portaudio19-dev python-pyaudio libatlas-base-dev

Pour éviter d'avoir des erreurs liées à _ctypes dans scipy, installez les bibliothèques suivantes (vous devez installer apt-get avant d'installer python 3.7.6 avec pyenv que vous installerez plus tard):

sudo apt-get install libffi-dev

Installez les bibliothèques suivantes pour installer pyenv:

sudo apt-get install libbz2-dev libreadline-dev libsqlite3-dev

Installez pyenv

Exécutez la commande suivante pour installer pyenv:

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

Puisque pyenv ne peut pas être exécuté tel quel, ajoutez le contenu suivant à ~ / .profile pour définir les variables d'environnement et initialiser pyenv. L'éditeur peut être n'importe quoi, mais si vous souhaitez utiliser l'éditeur nano installé par défaut, utilisez nano ~ / .profile.

~/.profile


export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

Pour l'éditeur nano, tapez ce qui précède et appuyez sur Ctrl-O et il vous sera demandé si vous souhaitez écrire dans le fichier. Vérifiez le nom du fichier et appuyez sur la touche Entrée pour écrire. Appuyez ensuite sur Ctrl-X pour quitter l'éditeur nano.

Après avoir écrit le contenu ci-dessus dans ~ / .profie,

source ~/.profile

Comme, le contenu qui vient d'être écrit (paramètre de variable d'environnement) est reflété. Que cela soit bien reflété ou non, c'est

pyenv --version

Si les informations de version s'affichent, c'est OK.

De plus, il suffit d'exécuter source ~ / .profile une seule fois (à partir de la prochaine fois, il sera exécuté automatiquement lorsque vous lancerez Raspeye et vous vous connecterez).

Installation de python 3.7.6

J'utilise pyenv pour installer python 3.7.6, mais les options au moment de la construction pour python sont importantes, je vais donc configurer cela. Plus précisément, vous pouvez définir le contenu suivant dans la variable d'environnement PYTHON_CONFIGURE_OPTS, mais en cas d'échec, écrivez-le une seule fois dans le fichier au cas où. Pour l'instant, écrivons ce qui suit dans un fichier appelé setup.sh:

setup.sh


export PYTHON_CONFIGURE_OPTS="--enable-ipv6\
--enable-unicode=ucs4\
--enable-shared\
--with-dbmliborder=bdb:gdbm\
--with-system-expat\
--with-system-ffi\
--with-fpectl"

Si vous pouvez écrire dans le fichier

source setup.sh

Au fur et à mesure, mettez à jour les variables d'environnement. Pour vérifier si les variables d'environnement ont été correctement mises à jour

echo $PYTHON_CONFIGURE_OPTS

En conséquence, il est OK si le contenu décrit dans setup.sh est affiché ensemble sur une seule ligne.

Si vous souhaitez poursuivre les étapes suivantes telles quelles, il suffit d'effectuer le travail ci-dessus une fois. Cependant, si vous terminez le travail ici et continuez demain, etc., veuillez remettre l'appareil sous tension, puis réessayer à partir de la source setup.sh (car les informations de la variable d'environnement définie seront perdues lors de la mise hors tension). est).

Créer un répertoire expérimental

Utilisez pyenv pour créer un environnement python 3.7.6 uniquement sous un certain répertoire. Ici, créez un répertoire appelé test, et rendez l'environnement python 3.7.6 uniquement dans ce répertoire.

mkdir test
cd test

Installation de Python 3.7.6

Exécutez python dans le répertoire de test expérimental pour que python 3.7.6 s'exécute. Tout d'abord, installez 3.7.6 à l'aide de pyenv, puis configurez le python à utiliser dans ce répertoire.

Installez python 3.7.6 avec la commande suivante (cela prendra un certain temps):

pyenv install 3.7.6

Si vous pouvez l'installer avec succès

pyenv versions

En conséquence, si le message 3.7.6 apparaît, il réussit.

Changez Python dans le répertoire expérimental en 3.7.6

Le python par défaut installé sur Raspai (ou plutôt sur le Raspbian que je viens d'installer) est 2.7.16. Il existe 2 et 3 versions de Python et utilise la version 3.7.6 dans le répertoire expérimental et 2.7.16 (la version standard du système) ailleurs.

Le fait est que le répertoire de test est configuré pour utiliser 3.7.6, qui est

pyenv local 3.7.6

Exécutez la commande pour terminer.

Si vous essayez python -V dans le répertoire de test, vous verrez la chaîne 3.7.6 (si elle n'est pas affichée, le paramètre a échoué). À titre de test, si vous vous déplacez vers un autre répertoire, tel que votre répertoire personnel, et utilisez python -V, vous verrez 2.7.16.

mise à niveau de pip

pip est un gestionnaire de packages python qui sera utilisé plus tard pour installer divers modules. Si vous installez Python avec pyenv, pip peut également revenir à l'ancien, donc juste au cas où, exécutez la commande suivante pour garder pip à jour. Pour ce faire, exécutez une paire de commandes:

pip install --upgrade pip

Installation de numpy, scipy, pyaudio

Vous êtes maintenant prêt à installer les différents modules! Je voudrais dire cela, mais il y a encore un module à installer, alors installez-le. Après cette étape, nous utiliserons pip pour installer le module:

pip install pybind11

Une fois l'installation terminée avec succès

pip install numpy
pip install scipy
pip install pyaudio

Dans le cadre de cet article, installez chaque package. Si cela réussit, lancez python comme test et

import numpy
import scipy
import pyaudio

Et assurez-vous que chaque module peut être importé sans aucun problème.

en conclusion

Ce document a montré comment installer numpy et scipy, ce qui peut être un peu fastidieux à installer. J'ai également montré comment installer pyaudio et préparé un environnement où le traitement du son en temps réel peut être développé avec Raspeye.

Ensuite, j'aimerais créer un pitch shifter en temps réel avec Razzpie en utilisant cet environnement. Puisque c'est un logiciel qui change la hauteur en temps réel, lorsque vous entrez de la musique, etc., la hauteur sera décalée et jouée, et la musique sera très bâclée. Restez à l'écoute.

Recommended Posts

Programmation média avec Raspeye (préparation audio)
Essayez de pêcher le Wakasagi avec Raspberry Pi
Programmation normale avec la programmation Node-RED avec Raspberry Pi 3
GPGPU avec Raspberry Pi
DigitalSignage avec Raspberry Pi
Plantes Mutter avec Raspberry Pi
Mettre à jour Raspberry Pi Python vers 3.7 ou version ultérieure avec pyenv
Vérifiez! Obtenez les données du capteur via Bluetooth avec Raspberry Pi ~ Préparation
J'ai créé un moniteur de ressources pour Raspberry Pi avec une feuille de calcul
[Raspberry Pi] Contrôle du moteur pas à pas avec Raspberry Pi
Commande de servomoteur avec Raspberry Pi
Communication série avec Raspberry Pi + PySerial
Configuration du système d'exploitation avec Raspberry Pi Imager
Réglage initial du Raspberry Pi (pour moi-même)
Essayez L Chika avec raspberrypi
Construire un serveur VPN avec Raspberry Pie
Essayez de déplacer 3 servos avec Raspeye
Utiliser une webcam avec Raspberry Pi
Programmation pour les humains avec un __repr__ bien défini
Mesurer la force du signal SIM avec Raspberry Pi
Demandez Pi avec la commande bc
Bonjour le monde avec Raspberry Pi + Minecraft Pi Edition
Créer un environnement Tensorflow avec Raspberry Pi [2020]
Capteur humain amélioré fabriqué avec Raspberry Pi
Essayez la détection d'objets avec Raspberry Pi 4 + Coral
Exécuter le servomoteur SG-90 avec Raspberry Pi
Travailler avec des capteurs dans Mathematica sur Raspberry Pi
Utiliser le capteur de mouvement PIR avec Raspberry Pi
Faire une minuterie de lavage-séchage avec Raspberry Pi
Modèle Infer Custom Vision avec Raspeye
Faites fonctionner l'oscilloscope avec le Raspberry Pi
Créez un compteur de voiture avec Raspberry Pi
Préparation au grattage au python [Saveur chocolat]
Enregistrement de la valeur d'Inkbird IBS-TH1 avec Raspberry Pi
Travailler avec le GPS en Python pour Raspberry Pi 3
[Pour les débutants] J'ai fait un capteur humain avec Raspberry Pi et notifié LINE!
J'ai essayé de créer un bouton pour Slack avec Raspeye + Tact Switch
Discord bot raspberry pi zéro avec python [Note]
J'ai essayé L-Chika avec Razpai 4 (édition Python)
Profitez du travail électronique avec GPIO de Raspberry Pi
MQTT Radicon Car avec Arduino et Raspberry
Allumez / éteignez votre PC avec Raspberry Pi
Sortie CSV des données d'impulsion avec Raspberry Pi (sortie CSV)
Observez le groupe de météores Futago avec RaspberryPi4
Obtenez des informations sur le processeur de Raspberry Pi avec Python
Démarrage de la compilation croisée pour Raspberry Pi Zero sur Ubuntu
Obtenez la température et l'humidité avec DHT11 et Raspberry Pi
Application d'analyse des investissements boursiers avec tarte aux framboises
Enregistrement de la valeur d'Inkbird IBS-TH1 mini avec Raspberry Pi
Connectez-vous à MySQL avec Python sur Raspberry Pi
Suivi GPS avec Raspeye 4B + BU-353S4 (Python)
Mesurer la température du processeur de Raspeye avec Python
Serveur de partage de fichiers réalisé avec Raspberry Pi pouvant être utilisé pour le travail à distance
Enregistrez la température et l'humidité avec systemd sur Raspberry Pi
Procédure de création d'une application avec Django avec Pycharm ~ Préparation ~
Apprentissage automatique avec Raspberry Pi 4 et Coral USB Accelerator
Exécutez la matrice LED de manière interactive avec Raspberry Pi 3B + sur Slackbot