Ich möchte Sound für 1 Sekunde mit einer Python geschrieben App für SL4A aufnehmen und dann die maximale Amplitude des Sounds finden.Get Amplitude des aufgenommenen Sounds mit Python mit SL4A
Gibt es einen Teil der SL4A-API, den ich verwenden kann oder einen Teil der Python-APIs, die verwendet werden können? Oder gibt es ein Python-Modul, das ich installieren kann?
Ich habe die Python-API von SL4A durchsucht, aber nichts mit Amplitude gefunden. Vielleicht habe ich es einfach verpasst.
UPDATE:
Ich habe es geschafft, die wave.py
Modul in meinen Code zu importieren und versuchen, die aufgezeichnete Datei zu öffnen. Aber wenn ich Zugriff auf
wave.open("/sdcard/sl4aTemp/sound_sample.wav")
es diesen Fehler wirft,
File does not start with RIFF id
Für diejenigen von Ihnen, die neugierig sind, wie mein Code hier sieht es aus ist:
import android, audioop, time, wave
droid = android.Android()
print "Recording starts in: "
for i in range(0,5):
time.sleep(1)
print str(5-i)
time.sleep(1)
print "Speak!"
droid.recorderStartMicrophone('/sdcard/sl4aTemp/sound_sample.wav')
time.sleep(3)
droid.recorderStop()
print "Processing file in:"
for i in range(0,3):
print str(3-i)
time.sleep(1)
filename = "/sdcard/sl4aTemp/sound_sample.wav"
if wave.open(filename,"r") == True:
print "Processing " + filename
else:
print "File not processed"
FILE=wave.open(filename,"r")
rez=FILE.readframes(30)
print str(rez)
Ich werde es versuchen müssen, klingt die Idee vielversprechend. –
Also, ich habe es geschafft, den Sound aufzunehmen, und ich habe die 'import wave, audioop'-Module verwendet, es sagt nicht, dass es ein Fehler ist, aber wenn ich versuche,' wave.open() 'zu verwenden, sagt es nicht finde die Datei 'wave.py'. Also habe ich danach gesucht und ich versuche es zu einem Modul zu machen, das ich in mein Projekt importieren werde und hoffentlich komme ich über dieses Problem hinweg. Nochmals vielen Dank für die Hinweise! –