मैं पाइथन में रीयल-टाइम प्लॉटिंग ध्वनि बनाने की कोशिश कर रहा हूं। मुझे अपने माइक्रोफोन से भाग लेने की जरूरत है।पायउडियो इनपुट अतिप्रवाह
PyAudio का उपयोग करना,
import pyaudio
import wave
import sys
chunk = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "output.wav"
p = pyaudio.PyAudio()
stream = p.open(format = FORMAT,
channels = CHANNELS,
rate = RATE,
input = True,
frames_per_buffer = chunk)
print "* recording"
all = []
for i in range(0, RATE/chunk * RECORD_SECONDS):
data = stream.read(chunk)
all.append(data)
print "* done recording"
stream.close()
p.terminate()
का उपयोग करने के बाद, मैं followin त्रुटि मिल रही है कोशिश:
* recording
Traceback (most recent call last):
File "gg.py", line 23, in <module>
data = stream.read(chunk)
File "/usr/lib64/python2.7/site-packages/pyaudio.py", line 564, in read
return pa.read_stream(self._stream, num_frames)
IOError: [Errno Input overflowed] -9981
मैं इस बफर नहीं समझ सकता। मैं चाहता हूं कि ब्लॉकिंग आईओ मोड का उपयोग करें, इसलिए अगर भाग उपलब्ध नहीं हैं, तो मैं उन हिस्सों का इंतजार करना चाहता हूं। लेकिन जब मैं सेगमेंट या नींद (0.1) को छोड़कर कोशिश करता हूं, तो मैं क्लिक सुनता हूं, इसलिए यह वही नहीं है जो मैं चाहता हूं।
कृपया मेरे प्लोबलेम के लिए सबसे अच्छा समाधान सुझाएं?
: यह मेरा कोड है। हो सकता है कि आप बफर में अधिक डेटा प्राप्त कर रहे हों, क्योंकि आप बाहर खींच रहे हैं क्योंकि चंक आकार इतना छोटा है कि पाइथन कोड नहीं रख रहा है। – Demolishun
हाय। बस इस मुद्दे पर कोई अपडेट होने पर सोच रहा है? मुझे '[Errno इनपुट overflowed] -9981' त्रुटि मिल रही है। मैंने जिस प्रारूप का उपयोग कर रहा हूं, उसके लिए मैंने 'p.is_format_supported' सत्य किया है। –