Wie kann PyAudio meinen computer verwenden, ist das Mikrofon?

Um die Aufzeichnung eine 2 Sekunden lange wav-Datei, die ich verwendet PyAudio (mit Pyzo) und die folgenden klassischen code, um einen Ton aufzuzeichnen und zu speichern :

import pyaudio
import wave


chunk = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
RECORD_SECONDS = 2
WAVE_OUTPUT_FILENAME = "my_path//a_test_2.wav"

p = pyaudio.PyAudio()

# Création et initialisation de l'objet stream...
s = p.open(format = FORMAT, 
       channels = CHANNELS,
       rate = RATE,
       input = True, 
       frames_per_buffer = chunk)

print("---recording---")

d = []

print((RATE / chunk) * RECORD_SECONDS)

for i in range(0, (RATE // chunk * RECORD_SECONDS)): 

    data = s.read(chunk)
    d.append(data)
    #s.write(data, chunk)

print("---done recording---")

s.close()
p.terminate()

wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(d))
wf.close()

Dann habe ich es benutzt, nämlich "aaa". Alles ist in Ordnung, keine Fehler.
Und wenn ich die wav-Datei, keine "aaa" gehört werden kann. Ich stellte mir vor, die Datei in Audacity und ich konnte sehen, alles war nur Stille (0). So scheint es Pyzo nicht weiß, wo mein Mikrofon ist, weil Sie es nicht verwenden. Was kann ich tun ? Irgendeine Idee ?
Oder vielleicht ist es gar nicht schreiben, alle Daten aufgenommen, aber ich weiß nicht, warum.

Habe ich bereits überprüft, dass mein Mikrofon ist 16 bits und hat einen 44100 rate.

  • überprüfen Sie diesen Befehl auf Befehl Terminal, um sicherzustellen, dass Mikrofon funktioniert oder nicht arecord -f cd -D plughw:1,0 -d 20 test.wav
InformationsquelleAutor Zatrzz | 2014-12-30
Schreibe einen Kommentar