2017-10-17 15 views
0

Comment puis-je:Encodeer et décodeur en python/de wav bin

  • lire mon fichier audio
  • stocke dans un fichier binaire,

Quelqu'un peut-il me donner des exemples pour mettre en œuvre l'encodeur et décodeur en python?

+0

Que voulez-vous dire par « fichier binaire »? A quoi ressemble un tel fichier? – Chickenmarkus

+0

fichier avec *** bin –

Répondre

1

Vous pouvez utiliser scipy.wave pour lire et écrire le fichier wav. Pour stocker les données, vous pouvez utiliser numpy.

Si le fichier audio est effectivement codé avec 16 bits par échantillon, vous ne devez pas faire quoi que ce soit et cela devrait vouloir quelque chose comme:

from scipy.io.wavfile import read as wavread 
from scipy.io.wavfile import write as wavwrite 
import numpy as np 

sr, sig = wavread(audioFileName) #read the audio file (samplig rate, signal) 
sig_int8 = np.uint8(sig) # cast the data in uint8 
np.savez(out_file, sig = sig_int8) # store the data 

npzfile = np.load(out_file + '.npz') #load the data 
sig = npzfile['sig'] 

wavwrite(audioFileName2, sr, sig) #write data in wav file 
+0

Si j'ai besoin de quantifier les échantillons audio du fichier son à 8 bits par échantillon, ce que je devrais changer dans votre programme? –

+0

En écriture scipy, il existe une option de taux. Voir ici: https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.io.wavfile.write.html – PatriceG

+0

J'ai écrit smt comme: wavwrite (nom de fichier, sr, 'uint8') anf a l'erreur: l'objet 'str' n'a pas d'attribut 'dtype'. –