[Python] Versuchen Sie, die WAV-Datei zu analysieren (Ver, für die kein zusätzliches Plug-In erforderlich ist)

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()

スクリーンショット 2015-06-02 14.44.40.png

Obwohl es rau ist, wird es so ausgegeben.

Recommended Posts

[Python] Versuchen Sie, die WAV-Datei zu analysieren (Ver, für die kein zusätzliches Plug-In erforderlich ist)
Versuchen Sie, Twitter-Trends zu analysieren
Versuchen Sie, Python selbst zu verstehen
[Python] Verwenden Sie diese Option, um WAV-Dateien zu lesen und zu schreiben. [WAVIO]
Versuchen Sie, Online-Familien-Mahjong mit Python zu analysieren (TEIL 1: Daten aufnehmen)
So spielen Sie Musikdateien (WAV / MP3) auf Raspberry Pi Python ab
Versuchen Sie, Facebook mit Python zu betreiben
[Python] POST-WAV-Dateien mit Anforderungen [POST]
MP3 → WAV-Konvertierung mit Python
Versuchen Sie, Trace in Python zu berechnen
Versuchen Sie, die cloudmonkey-CLI in python3 -1 zu konvertieren
Setzen Sie Cabocha 0.68 in Windows ein und versuchen Sie, die Abhängigkeit mit Python zu analysieren
Versuchen Sie, sich mit Python bei qiita anzumelden
Ich möchte Protokolle mit Python analysieren
Versuchen Sie, Excel mit Python (Xlwings) zu betreiben.
Python Amateur versucht die Liste zusammenzufassen ①
[Python] Fügen Sie der Standardeingabedatei einen Kommentar hinzu