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.
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
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).
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).
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
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.
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.
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
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.
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