#1 Le 12/11/2018, à 06:54
- Compte supprimé
[Résolu]Pygame: Son wav joué trop vite
Bonjour,
Je souhaite jouer des sons wav avec Pygame . Cependant lorsque j'exécute le script ci dessous , le son produit se joue trop rapidement et il me semble altéré .
In [1]: import pygame
...: pygame.mixer.init()
...: pygame.mixer.Sound("/home/fabien/fichiers_wav/zimboumboum.wav").play()
Que dois je faire pour que le son soit fidèlement restitué ?
Merci
Dernière modification par Compte supprimé (Le 16/11/2018, à 09:36)
#2 Le 12/11/2018, à 09:35
- kholo
Re : [Résolu]Pygame: Son wav joué trop vite
salut,
tu as essayé un load ?
pygame.mixer.music.load("sons/swin.mp3") # import du fichier
pygame.mixer.music.play() # on joue le fichier
pygame.mixer.music.set_volume(0.6) # réglage du volume (facultatif)
Hors ligne
#3 Le 12/11/2018, à 09:49
- Compte supprimé
Re : [Résolu]Pygame: Son wav joué trop vite
Salut kholo,
Le résultat reste le même avec load : le son est joué en accéléré ...
#4 Le 15/11/2018, à 08:48
- Compte supprimé
Re : [Résolu]Pygame: Son wav joué trop vite
... Ce qui m'étonne, c'est que dans ma recherche sur le net , je semble être le seul à évoquer ce problème ( rien sur le web francophone , et recherche non concluante sur web avec comme mots clefs : pygame wav fast ...) .
Je ne sais pas trop comment est détaillé un fichier wav mais j'ai l'impression que ses caractéristiques ne sont pas lues ou reconnues par mon pygame ...
D'ailleurs , j'ai tenté de jouer un autre fichiers wav qui lui était de nature différente (bit/Hertz) , et là, le son n'est pas sorti en accéléré comme avec l'autre essai : ça a planté ipython (retour terminal shell)
Des idées ?
#5 Le 15/11/2018, à 09:29
- bruno
Re : [Résolu]Pygame: Son wav joué trop vite
https://duckduckgo.com/?q=pygame+plays+wav+too+fast
Second lien dans les résultats :
import wave
import pygame
file_path = '/path/to/sound.wav'
file_wav = wave.open(file_path)
frequency = file_wav.getframerate()
pygame.mixer.init(frequency=frequency)
pygame.mixer.music.load(file_path)
pygame.mixer.music.play()
#6 Le 15/11/2018, à 11:06
- Nasman
Re : [Résolu]Pygame: Son wav joué trop vite
Je ne sais pas trop comment est détaillé un fichier wav mais j'ai l'impression que ses caractéristiques ne sont pas lues ou reconnues par mon pygame ...
Voici comment est la structure d'un fichier wav
En-tête
chaine "RIFF" - 4 octets
taille données fichier - 4 octets (litle endian)
chaine "WAVEfmt" - 8 octets
nombre d'octets pour définir le format - 4 octets
compression - 2 octets (1 si pas de compression)
nombre de canaux - 2 octets
fréquence d'échantillonnage - 4 octets
nombre d'octets pas seconde - 4 octets
nombre d'octet par échantillonnage = nombre d'octets par échantillon*nb canaux - 2 octets
nombre de bits par échantillon (8, 16, 24) - 2 octets
chaine "data"
taille des données - fréquence d'échantillonnage*nb de canaux*nb d'octets pour l'échantillonnage (1 pour 8 bits, 2 pour 16 bits...)
données sous la forme, octets échantillonnage canal1 à t0, octets échantillonnage canal2 à t0, ..., octets échantillonnage canal à t1, octets échantillonnage canal2 à t1, ...
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#7 Le 16/11/2018, à 09:35
- Compte supprimé
Re : [Résolu]Pygame: Son wav joué trop vite
Bonjour,
merci à vous deux !
J'édite en résolu . Le son s'exécute à la bonne vitesse
@bruno: manifestement je ne suis pas doué pour les recherches sur le web anglophone , j'avais la réponse presque sous les yeux ... Il va falloir que je progresse .. Je me rends bien compte que la connaissance de l'anglais technique et savoir effectuer une recherche sur le web sont deux incontournables de la programmation
@Nasman: Intéressant ... comment bien visualiser (en format compréhensible )le contenu de l'entête du fichiers wav ?
#8 Le 16/11/2018, à 10:35
- bruno
Re : [Résolu]Pygame: Son wav joué trop vite
Oui malheureusement sur ce type de sujet on trouve beaucoup plus de réponses pertinentes en anglais. Il ne faut pas hésiter à utiliser les traducteurs automatiques (deepl ou google).