Możesz wywołać funkcję wave lib, aby odczytać plik audio.
Aby wykreślić przebieg, należy użyć funkcji „plot” z matplotlib
import matplotlib.pyplot as plt
import numpy as np
import wave
import sys
spf = wave.open('wavfile.wav','r')
#Extract Raw Audio from Wav File
signal = spf.readframes(-1)
signal = np.fromstring(signal, '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()
trzeba będzie coś takiego:
wykreślić oś x w sekundach trzeba uzyskać klatek i podziel przez rozmiar sygnału, możesz użyć funkcji przestrzeni numerowanej z numpy, aby utworzyć wektor czasu rozstawiony liniowo z rozmiarem pliku audio, a na końcu możesz ponownie użyć wykresu, jak plt.plot(Time,signal)
import matplotlib.pyplot as plt
import numpy as np
import wave
import sys
spf = wave.open('Animal_cut.wav','r')
#Extract Raw Audio from Wav File
signal = spf.readframes(-1)
signal = np.fromstring(signal, 'Int16')
fs = spf.getframerate()
#If Stereo
if spf.getnchannels() == 2:
print 'Just mono files'
sys.exit(0)
Time=np.linspace(0, len(signal)/fs, num=len(signal))
plt.figure(1)
plt.title('Signal Wave...')
plt.plot(Time,signal)
plt.show()
Nowa fabuła oś x w sekundach:
co znaczy "wydrukować"? –
Czy jest to pojedynczy lub wielokanałowy plik wav? –
Wydruk a, po prostu pokaż krotkę z nieprzetworzonymi danymi pliku audio. I jest to mono wavfile. –