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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie tun, damit es funktioniert-Schritt für Schritt. Stellen Sie sicher, dass eine Aufnahme von dem mic, ich würde vorschlagen, den Ausdruck des max-jeder chunk, den Sie gerade Lesen. Dann sollten Sie sehen, in Echtzeit, eine Differenz zwischen Hintergrundgeräusch und Ihre Rede. Zum Beispiel:
In der Regel dieser Unterschied zwischen Hintergrundgeräuschen und Sprache ist mehr als 10x, also können Sie leicht sehen, die Größe ändern, in der zahlen, wie Sie Fliegen durch.
Auch am start, Liste alle Ihre Mikrofone, um sicherzustellen, dass Sie über die richtige (
get_device_info_by_index
). Zum Beispiel könnten Sie liest aus den "line in", anstatt das Mikrofon.