Visualisation de la voix Python

Résolu/Fermé
SamB_1051 Messages postés 2 Date d'inscription dimanche 12 février 2023 Statut Membre Dernière intervention 12 février 2023 - Modifié le 17 févr. 2023 à 12:53
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 - 17 févr. 2023 à 13:00

Bonjour.

Je suis un peu coincé sur un exercice spécifique.

Je suis capable de créer un graphe sur Python et d'enregistrer un fichier audio.wav sans problème. L'endroit où je bloque, c'est lorsque je dois intégrer mon fichier au code pour pouvoir le visualiser sur un graphique.

Je crois qu'il y a une erreur sur la valeur Y.

import matplotlib.pyplot as plt

fig, graphe = plt.subplots(figsize=(20,10))
valX = list(range(50))
valY = [i * i for i in valX]
graphe.set_title("Graphique audio")
graphe.set_xlabel("numéro de l'échantillon")
graphe.set_ylabel("Temps")
graphe.scatter(x=valX, y=valY, marker='*', c='b')
Audio(audio.wav, rate=sr)
fig.tight_layout()

 J'ai l'erreur suivante :

 AttributeError: 'numpy.ndarray' object has no attribute 'wav'

A voir également:

2 réponses

hypothetix Messages postés 197 Date d'inscription dimanche 19 janvier 2020 Statut Membre Dernière intervention 24 octobre 2024 55
Modifié le 17 févr. 2023 à 12:55

Bonjour,

Pour poster du code il faut utiliser la coloration syntaxique, c'est plus agréable à lire. Si possible, il faut poster le code complet. Et être patient surtout le Dimanche.:-)

En attendant une réponse plus spécifique, voir ceci.

0
SamB_1051 Messages postés 2 Date d'inscription dimanche 12 février 2023 Statut Membre Dernière intervention 12 février 2023
Modifié le 17 févr. 2023 à 12:55

C'est que j'essaye aussi d'ajouter une image, mais le site ne veux pas que je mette une image et un code dans la même publication.

0
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 7 806
Modifié le 17 févr. 2023 à 13:02

Bonjour,

Je confirme que le lien partagé par hypothetix #3 fournit une solution qui marche (presque). Voici une version corrigée (à toi d'adapter le chemin vers le fichier .wav) :

import matplotlib.pyplot as plt
import numpy as np
import wave
import sys

spf = wave.open("/usr/share/sounds/alsa/Front_Center.wav", "r")

# Extract Raw Audio from Wav File
signal = spf.readframes(-1)
signal = np.fromstring(signal, np.int16)


# If Stereo
if spf.getnchannels() == 2:
    print("Just mono files")
    sys.exit(0)

plt.figure(1)
plt.title("Signal Wave...")
plt.plot(signal)
plt.show()

Si ton fichier est stéréo, voir cette solution.

Bonne chance

0