[PYTHON] Medienprogrammierung mit Raspeye (Vorbereitung für Audio)

Einführung

Als ich versuchte, mit Raspeye eine Echtzeit-Soundverarbeitung mit pyaudio + scipy + numpy durchzuführen, war viel Zeit und Mühe erforderlich, daher habe ich dies im Artikel zusammengefasst. Dieser Artikel ist ein vorbereitender Teil und bis zu dem Punkt, an dem Python 3.7.6 auf Raspeye installiert ist und numpy, scipy und pyaudio unter dieser Umgebung installiert und verwendet werden können.

Unter Verwendung der in diesem Dokument gepflegten Umgebung werden wir die Software beschreiben, bei der sich die Tonhöhe in Echtzeit mit Raspeye in Python ändert, aber wir werden sie in einem anderen Artikel vorstellen.

NOOBS 3.3.0 Dieses Mal werde ich die Vorgehensweise unmittelbar nach der Neuinstallation von NOOBS 3.3.0 beschreiben.

Installation der notwendigen Bibliotheken usw.

Installieren Sie die folgenden Bibliotheken usw., wie sie für pyaudio erforderlich sind.

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

Installieren Sie die folgenden Bibliotheken, um zu vermeiden, dass _ctypes-bezogene Fehler in scipy auftreten (Sie müssen apt-get install ausführen, bevor Sie Python 3.7.6 mit pyenv installieren, das Sie später installieren werden):

sudo apt-get install libffi-dev

Installieren Sie die folgenden Bibliotheken, um pyenv zu installieren:

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

Installieren Sie pyenv

Führen Sie den folgenden Befehl aus, um pyenv zu installieren:

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

Da pyenv nicht so ausgeführt werden kann, wie es ist, fügen Sie den folgenden Inhalt zu ~ / .profile hinzu, um Umgebungsvariablen festzulegen und pyenv zu initialisieren. Der Editor kann beliebig sein. Wenn Sie jedoch den standardmäßig installierten Nano-Editor verwenden möchten, verwenden Sie nano ~ / .profile.

~/.profile


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

Geben Sie für den Nano-Editor den obigen Befehl ein und drücken Sie Strg-O. Sie werden gefragt, ob Sie in die Datei schreiben möchten. Überprüfen Sie den Dateinamen und drücken Sie die Eingabetaste, um zu schreiben. Drücken Sie dann Strg-X, um den Nano-Editor zu verlassen.

Nachdem Sie den obigen Inhalt in ~ / .profie geschrieben haben,

source ~/.profile

Der gerade geschriebene Inhalt (Einstellung der Umgebungsvariablen) wird wiedergegeben. Ob es gut reflektiert wird oder nicht, ist

pyenv --version

Wenn die Versionsinformationen angezeigt werden, ist dies in Ordnung.

Außerdem reicht es aus, source ~ / .profile nur einmal auszuführen (ab dem nächsten Mal wird es automatisch ausgeführt, wenn Sie Raspeye starten und sich anmelden).

Python installieren 3.7.6

Ich verwende pyenv, um Python 3.7.6 zu installieren, aber die Optionen zum Zeitpunkt der Erstellung für Python sind wichtig, daher werde ich das konfigurieren. Insbesondere können Sie den folgenden Inhalt in der Umgebungsvariablen PYTHON_CONFIGURE_OPTS festlegen. Im Fehlerfall schreiben Sie ihn jedoch einmal für alle Fälle in die Datei. Schreiben wir zunächst Folgendes in eine Datei namens 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"

Wenn Sie in die Datei schreiben können

source setup.sh

Aktualisieren Sie die Umgebungsvariablen. Um zu überprüfen, ob die Umgebungsvariablen korrekt aktualisiert wurden

echo $PYTHON_CONFIGURE_OPTS

Daher ist es in Ordnung, wenn die in setup.sh beschriebenen Inhalte zusammen in einer Zeile angezeigt werden.

Wenn Sie mit den folgenden Schritten fortfahren möchten, reicht es aus, die oben genannten Arbeiten einmal auszuführen. Wenn Sie jedoch die Arbeit hier beenden und morgen usw. fortfahren, schalten Sie die Stromversorgung erneut ein und versuchen Sie es dann erneut über source setup.sh (da die Informationen der eingestellten Umgebungsvariablen beim Ausschalten verloren gehen). ist).

Erstellen eines experimentellen Verzeichnisses

Verwenden Sie pyenv, um eine Python 3.7.6-Umgebung nur unter einem bestimmten Verzeichnis zu erstellen. Erstellen Sie hier ein Verzeichnis mit dem Namen test und erstellen Sie die Umgebung Python 3.7.6 nur in diesem Verzeichnis.

mkdir test
cd test

Python 3.7.6 installieren

Führen Sie Python im experimentellen Testverzeichnis aus, damit Python 3.7.6 ausgeführt wird. Installieren Sie zuerst 3.7.6 mit pyenv und konfigurieren Sie dann den Python für die Verwendung in diesem Verzeichnis.

Installieren Sie Python 3.7.6 mit dem folgenden Befehl (es wird einige Zeit dauern):

pyenv install 3.7.6

Wenn Sie es erfolgreich installieren können

pyenv versions

Wenn die Meldung 3.7.6 angezeigt wird, ist sie daher erfolgreich.

Ändern Sie Python im experimentellen Verzeichnis in 3.7.6

Die auf Raspai installierte Standard-Python (oder besser gesagt auf dem gerade installierten Raspbian) ist 2.7.16. Es gibt 2 und 3 Versionen von Python und verwenden Sie Version 3.7.6 im experimentellen Verzeichnis und Version 2.7.16 (die Systemstandardversion) an anderen Stellen.

Der Punkt ist, dass das Testverzeichnis auf 3.7.6 eingestellt ist

pyenv local 3.7.6

Führen Sie den Befehl aus, um den Vorgang abzuschließen.

Wenn Sie Python -V im Testverzeichnis versuchen, wird die Zeichenfolge 3.7.6 angezeigt (wenn sie nicht angezeigt wird, ist die Einstellung fehlgeschlagen). Wenn Sie als Test in ein anderes Verzeichnis wechseln, z. B. in Ihr Ausgangsverzeichnis, und Python -V verwenden, wird 2.7.16 angezeigt.

Pip Upgrade

pip ist ein Python-Paketmanager, der später zum Installieren verschiedener Module verwendet wird. Wenn Sie Python mit pyenv installieren, wird pip möglicherweise auch auf das alte zurückgesetzt. Führen Sie daher für alle Fälle den folgenden Befehl aus, um pip auf dem neuesten Stand zu halten. Führen Sie dazu zwei Befehle aus:

pip install --upgrade pip

Installation von Numpy, Scipy, Pyaudio

Jetzt können Sie die verschiedenen Module installieren! Ich würde das gerne sagen, aber es gibt noch ein Modul, das installiert werden muss, also werde ich es installieren. Nach diesem Schritt installieren wir das Modul mit pip:

pip install pybind11

Nachdem die Installation erfolgreich abgeschlossen wurde

pip install numpy
pip install scipy
pip install pyaudio

Installieren Sie als Ziel dieses Artikels jedes Paket. Wenn dies erfolgreich ist, starten Sie Python als Test und

import numpy
import scipy
import pyaudio

Und stellen Sie sicher, dass jedes Modul problemlos importiert werden kann.

abschließend

In diesem Dokument wurde gezeigt, wie Numpy und Scipy installiert werden. Die Installation kann etwas mühsam sein. Ich habe auch gezeigt, wie man pyaudio installiert und eine Umgebung vorbereitet, in der mit Raspeye eine Echtzeit-Soundverarbeitung entwickelt werden kann.

Als nächstes möchte ich mit Razzpie in dieser Umgebung einen Echtzeit-Pitch-Shifter erstellen. Da es sich um eine Software handelt, die die Tonhöhe in Echtzeit ändert, wenn Sie Musik usw. eingeben, wird die Tonhöhe verschoben und wiedergegeben, und es handelt sich um eine sehr alberne Musik. Bleib dran.

Recommended Posts

Medienprogrammierung mit Raspeye (Vorbereitung für Audio)
Versuchen Sie, mit Raspberry Pi nach Wakasagi zu fischen
Normal programmieren mit Node-RED-Programmierung mit Raspberry Pi 3
GPGPU mit Raspberry Pi
DigitalSignage mit Raspberry Pi
Mutter pflanzt mit Raspberry Pi
Aktualisieren Sie Raspberry Pi Python mit pyenv auf 3.7 oder höher
Überprüfen Sie! Erhalten Sie Sensordaten über Bluetooth mit Raspberry Pi ~ Preparation
Ich habe einen Ressourcenmonitor für Raspberry Pi mit einer Tabelle erstellt
[Raspberry Pi] Schrittmotorsteuerung mit Raspberry Pi
Servomotorsteuerung mit Raspberry Pi
Serielle Kommunikation mit Raspberry Pi + PySerial
Betriebssystem-Setup mit Raspberry Pi Imager
Himbeer-Pi-Grundeinstellung (für mich)
Probieren Sie L Chika mit Himbeerpi
Aufbau eines VPN-Servers mit Raspberry Pie
Versuchen Sie, 3 Servos mit Raspeye zu bewegen
Verwenden einer Webkamera mit Raspberry Pi
Programmierung für Menschen mit einem genau definierten __repr__
Messen Sie die SIM-Signalstärke mit Raspberry Pi
Fragen Sie mit dem Befehl bc nach Pi
Hallo Welt mit Raspberry Pi + Minecraft Pi Edition
Erstellen Sie eine Tensorflow-Umgebung mit Raspberry Pi [2020]
Verbesserter menschlicher Sensor mit Raspberry Pi
Versuchen Sie die Objekterkennung mit Raspberry Pi 4 + Coral
Den Servomotor SG-90 mit Himbeer-Pi betreiben
Arbeiten mit Sensoren in Mathematica auf Raspberry Pi
Verwenden Sie einen PIR-Bewegungssensor mit Himbeer-Pi
Machen Sie einen Waschtrocknungs-Timer mit Raspberry Pi
Infer Custom Vision Modell mit Raspeye
Bedienen Sie das Oszilloskop mit dem Raspberry Pi
Erstellen Sie eine Auto-Anzeige mit Himbeer-Pi
Vorbereitung zum Schaben mit Python [Schokoladengeschmack]
Protokollieren des Werts von Inkbird IBS-TH1 mit Raspberry Pi
Arbeiten mit GPS in Python für Raspberry Pi 3
[Für Anfänger] Ich habe mit Raspberry Pi einen menschlichen Sensor erstellt und LINE benachrichtigt!
Ich habe versucht, mit Raspeye + Tact Switch eine Schaltfläche für Slack zu erstellen
Discord Bot Himbeere Pi Null mit Python [Hinweis]
Ich habe L-Chika mit Razpai 4 (Python Edition) ausprobiert.
Genießen Sie die elektronische Arbeit mit GPIO von Raspberry Pi
MQTT Radicon Car mit Arduino und Himbeere
Schalten Sie Ihren PC mit Himbeer-Pi ein / aus
CSV-Ausgabe von Impulsdaten mit Raspberry Pi (CSV-Ausgabe)
Beobachten Sie die Futago-Meteorgruppe mit Raspberry Pi4
Holen Sie sich CPU-Informationen von Raspberry Pi mit Python
Cross-Compilierung für Raspberry Pi Zero unter Ubuntu gestartet
Holen Sie sich Temperatur und Luftfeuchtigkeit mit DHT11 und Raspberry Pi
Aktieninvestitionsanalyse-App mit Himbeerkuchen gemacht
Protokollieren des Werts von Inkbird IBS-TH1 mini mit Raspberry Pi
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
GPS-Tracking mit Raspeye 4B + BU-353S4 (Python)
Messen Sie die CPU-Temperatur von Raspeye mit Python
Mit Raspberry Pi erstellter Dateifreigabeserver, der für Remote-Arbeiten verwendet werden kann
Notieren Sie Temperatur und Luftfeuchtigkeit mit systemd auf Raspberry Pi
Verfahren zum Erstellen einer Anwendung mit Django mit Pycharm ~ Vorbereitung ~
Maschinelles Lernen mit Raspberry Pi 4 und Coral USB Accelerator
Führen Sie die LED-Matrix interaktiv mit Raspberry Pi 3B + auf Slackbot aus