Das Standard-GUI-Kit, das mit Python geliefert wird, Zeichnen Sie die Wellenform gewaltsam mit der Leinwand von tkInter.
Es sind keine zusätzlichen Plug-Ins erforderlich. Sie müssen lediglich Python und die Tonquelle vorbereiten, die Sie abspielen möchten.
python
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
import wave
import numpy as np
window_width = 600
window_height = 500
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry(str(window_width) + "x" + str(window_height))
#Lesen Sie die WAV-Daten
wav = wave.open("./test.wav")
#Gehen Sie zum Anfang des Audio-Teils
wav.rewind()
#Binäres Lesen
wavdata = wav.readframes(wav.getnframes())
#In int konvertieren
wavdata = np.frombuffer(wavdata,'int16')
#
#Leinwandbereich
#
canvas = Tkinter.Canvas(root, width = window_width, height = window_height)
#Anzahl der Schritte auf der X-Achse
step = float(window_width)/float(wav.getnframes())
x = 0 #X-Achse
b_i = 0 #Vorheriger Wert
for c,i in enumerate(wavdata):
#Behalten Sie die vorherigen Koordinaten bei
if (c%2 == 0):
b_i = i
x = x + step
continue
#Erstellen Sie ein Wellenformdiagramm mit den vorherigen und den aktuellen Koordinaten
canvas.create_line(int(x), (b_i/window_height)+(window_height/2), int(x+step), (i/window_height)+(window_height/2), fill = "blue")
#Stellen Sie die X-Koordinate schrittweise vor
x = x + step
print "(x,y) = ("+ str(x) +","+ str(i) +")"
#Mittelspur
canvas.create_line(0, window_height/2, window_width, window_height/2, fill = "black")
#
#Leinwand binden
#
canvas.place(x=0,y=0)
#
#schließen wav
#
wav.close()
root.mainloop()
Obwohl es rau ist, wird es so ausgegeben.