Enregistrer avec Python → Enregistrer le fichier (périphérique sonore + wave)

introduction

Il y a une scène à enregistrer dans le chapitre 2 du livre Sound Source Separation Learned with Python, mais je suis un peu coincé, donc je vais en prendre note.

environnement

sounddevice nécessite pip install sounddevice. «wave» est intégré et n'est pas nécessaire.

macOS 10.15.6 Python 3.7.8 sounddevice 0.4.1

Enregistrer + sauvegarder

import numpy as np
import sounddevice as sd
import wave


FILE_NAME = './test.wav'  #Nom du fichier à enregistrer
wave_length = 2  #Durée d'enregistrement (secondes)
sample_rate = 16_000  #Fréquence d'échantillonnage

#Démarrer l'enregistrement (wave_longueur Enregistrez pendant secondes. Attendez la fin de l'enregistrement avec wait)
data = sd.rec(int(wave_length * sample_rate), sample_rate, channels=1)
sd.wait()

#Normaliser. Puisqu'il est enregistré avec 16 bits de bit de quantification, il est maximisé dans la plage de int16.
data = data / data.max() * np.iinfo(np.int16).max

# float -> int
data = data.astype(np.int16)

#Enregistrer le fichier
with wave.open(FILE_NAME, mode='wb') as wb:
    wb.setnchannels(1)  #monaural
    wb.setsampwidth(2)  # 16bit=2byte
    wb.setframerate(sample_rate)
    wb.writeframes(data.tobytes())  #Convertir en chaîne d'octets

J'ai oublié de le convertir en type entier, et quoi que j'enregistre, ça sonnait comme du bruit blanc. Nous espérons pour votre référence.

référence

Recommended Posts

Enregistrer avec Python → Enregistrer le fichier (périphérique sonore + wave)
Dessiner un fichier netCDF avec python
Télécharger le fichier csv avec python
Extraire le fichier xz avec python
[Python] Ecrire dans un fichier csv avec Python
Enregistrez le fichier binaire en Python
[Automatisé avec python! ] Partie 1: fichier de configuration
Sortie vers un fichier csv avec Python
[Automatisé avec python! ] Partie 2: Fonctionnement des fichiers
Envoyer l'image avec python et enregistrer avec php
Créer un fichier power simple avec Python
Contrôle exclusif avec fichier de verrouillage en Python
Lire le fichier CSV avec python (Télécharger et analyser le fichier CSV)
Enregistrer la vidéo image par image avec Python OpenCV
Vérifier l'existence du fichier avec python
Créez rapidement un fichier Excel avec Python #python
Python / numpy> fichier de liste (tableau numpy) sauvegarde / chargement
Enregistrer / charger la base de données en mémoire avec sqlite3 de python
Lisons le fichier RINEX avec Python ①
Créer un fichier Excel avec Python + matrice de similarité
J'ai créé un fichier de configuration avec Python
[Automation] Lire le courrier (fichier msg) avec Python
Diviser le fichier mol2 avec python (-> 2016.04.17 prend également en charge le fichier sdf)
nginxparser: essayez d'analyser le fichier de configuration nginx avec Python
Fichier python de script
Comment lire un fichier CSV avec Python 2/3
FizzBuzz en Python3
Grattage avec Python
Statistiques avec python
Grattage avec Python
Python avec Go
[Python] Comment lire des fichiers Excel avec des pandas
Convertir un fichier svg en png / ico avec Python
Twilio avec Python
Lire les données de la table dans un fichier PDF avec Python
Intégrer avec Python
Jouez avec 2016-Python
Traitement de fichiers Python
AES256 avec python
Testé avec Python
Développer des applications Windows avec Python 3 + Tkinter (fichier exe)
python commence par ()
avec syntaxe (Python)
[Python] Résumé des opérations sur les fichiers S3 avec boto3
Bingo avec python
Zundokokiyoshi avec python
Extraire le zip avec Python (prend en charge les noms de fichiers japonais)
Créer un fichier au format Photoshop (.psd) avec python
Convertir le code de caractère du fichier avec Python3
Lire ligne par ligne à partir d'un fichier avec Python
Je veux écrire dans un fichier avec Python
Ouvrir la boîte de dialogue de fichier avec l'interface graphique Python (tkinter.filedialog)
Excel avec Python
Micro-ordinateur avec Python
Cast avec python
Comment mesurer le temps de lecture d'un fichier mp3 avec python
Lire le code QR à partir du fichier image avec Python (Mac)
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
Lire le fichier json avec Python, le formater et générer le json