Je souhaite enregistrer les données de forme d'onde sonore détenues par numpy dans un fichier. Cependant, je souhaite utiliser uniquement des modules standard, pas scicits.audiolab.
Dans Documentation de la classe Wave_write Le quatrième nombre d'images parmi les paramètres passés par setparams est "Le nombre d'images changera lorsque les images seront écrites plus tard." Cela dit, mais le mettre à 0 ne fonctionnait pas.
Comment créer un binaire qui représente la forme d'onde à passer aux trames d'écriture d'onde. Cela ne fonctionnait pas avec numpy.tostring (), et après l'avoir converti en h 'avec array, tostring fonctionnait bien.
import numpy, wave, array
filename = "wave_file_name.wav"
# save wav file
buf = <Contient des données de forme d'onde numpy>
w = wave.Wave_write(filename)
w.setparams((
1, # channel
2, # byte width
16000, # sampling rate
len(buf), # number of frames
"NONE", "not compressed" # no compression
))
w.writeframes(array.array('h', buf).tostring())
w.close()