PyAudio Input Overflowed -9981 - No solution working

Related searches

Please do not report this question as a duplicate, because none of the already available Solution working for me, I tested them all

So, I am trying to run a PyAudio sample Recording program in my RaspberryPi model B board, This is the error I am getting,

Traceback (most recent call last):
  File "/home/pi/pyaudio/test/testing.py", line 23, in <module>
    data = stream.read(chunk)
  File "/usr/local/lib/python2.7/dist-packages/pyaudio.py", line 605, in read
    return pa.read_stream(self._stream, num_frames)
IOError: [Errno Input overflowed] -9981

There are certain solutions already available that solved many user's problem, which in my case, isn't true.

Here is what I've tried,

First of all, Here is the code,

"""PyAudio example: Record a few seconds of audio and save to a WAVE file."""

import pyaudio
import wave

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

frames = []

for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
   data = stream.read(CHUNK)
   frames.append(data)

print("* done recording")

stream.stop_stream()
stream.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(frames))
wf.close()

I have also tried if the current configuration is supported or not,

import pyaudio
p = pyaudio.PyAudio()
if p.is_format_supported(48000.0, 
    input_device=1,
    input_channels=1,
    input_format=pyaudio.paInt16):
    print 'True!'

Both 44,000 and 44,100 are support but still I'm getting the same error again and again.

This is my USB Audio Card device info,

p.get_device_info_by_index(1)

{'defaultSampleRate': 44100.0, 
'defaultLowOutputLatency': 0.011609977324263039, 
'defaultLowInputLatency': 0.011609977324263039, 
'maxInputChannels': 1L, 
'structVersion': 2L, 
'hostApi': 0L, 
'index': 1, 
'defaultHighOutputLatency': 0.046439909297052155, 
'maxOutputChannels': 2L, 
'name': u'Generic USB Audio Device: USB Audio (hw:1,0)', 
'defaultHighInputLatency': 0.046439909297052155}

Does anybody has any idea as why I'm still getting the error ?

Did you try setting exception_on_overflow to False? From the Pyaudio documentation:

read(num_frames, exception_on_overflow=True)

Read samples from the stream. Do not call when using non-blocking mode.

Parameters: num_frames – The number of frames to read. exception_on_overflow – Specifies whether an IOError exception should be thrown (or silently ignored) on input buffer overflow. Defaults to True. Raises IOError: if stream is not an input stream or if the read operation was unsuccessful. Return type: string

Error when running pyaudio test file, Remember to import and initialize the pyaudio before run the previous code: If you have problems like "jack server is not running or cannot be started" just manually start by changing this to CHANNELS = 1 it started working and recording audio By clicking “Post Your Answer”, you agree to our terms of service, privacy� PyAudio Input Overflowed -9981 – No funciona la solución. Por favor, no reporte esta pregunta como un duplicado, porque ninguna de las soluciones ya disponibles

Change your chunk parameter to 8192 instead of 1024. Worked for me. reference: IOError: [Errno Input overflowed] -9981

How to install pyaudio in python3.7 windows 10?, It is not working at all. Pip install pyaudio 2. error message too as error messafe is quite more explanatory for giving an appropriate answer� Most mics work better with 44100 from experience, this requires changing this RATE variable and modifying the google web speech API call to change sampling rate given. Change the CHUNK size. I managed to get rid of the problem by using CHUNK size 4096 rather than 512.

# importing modules for sound handling
# importing modules for sound handling
from sys import byteorder
from array import array
from struct import pack

import pyaudio
import wave

def audioeffect():
    CHUNK = 16 # played with, this can be 2048 1024, 512, 256 etc
    FORMAT = pyaudio.paInt16
    CHANNELS = 1
    RATE = 48000

    p = pyaudio.PyAudio()

    stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input=True,
                output=True,
                frames_per_buffer=CHUNK)
    r = array('h') # define r
    snd_data = array('h', stream.read(CHUNK)) # read sounddata from input
    r.extend(snd_data)
    stream.stop_stream()
    stream.close()
    p.terminate()
    N = 1
    SumOfSquars = 0
    for i in snd_data:  # determing the value for tel of  
        N = N +1

    # adding all quadrates
    for i in range(0, N-1):
        SumOfSquars = snd_data[i]**2
    Rms_Value = np.sqrt(SumOfSquars / N)

    #print("Rms_Value is  :", Rms_Value)
    return int(Rms_Value)

Pyaudio open, 自分と全く同じだったので, こちらを主に参考に PyAudio Errno Input overflowed ( 1/1) like deciding which program gets to run on the This site may not work in your browser. Do not post your comment in the "Add your solution here" box. Dismiss Join GitHub today. GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.

I just increased the chunk number and it appears that it works! here's my code

import pyaudio
import wave

CHUNK = 44100  #just a big number
FORMAT = pyaudio.paInt16
CHANNELS = 1 #i found that my mic has 1 channel
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "output.wav"

p = pyaudio.PyAudio()

stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input_device_index=3, #found that also
                input=True,
                frames_per_buffer=CHUNK)

print("* recording")

frames = []

for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK)
    frames.append(data)

print("* done recording")

stream.stop_stream()
stream.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(frames))
wf.close()

PyAudio IOError: [Errno Invalid input device (no default output , PyAudio IOError: [Errno Invalid input device (no default output device)] -9996 oserror: (errno input overflowed) I had it working once and I have no idea what changed. 1015 | What is the better solution for this Factory Method problem; 3229 | Android get String in Fragment using custom class; 9607 | Error:Execution � python - working - pyaudio set input device PyAudio IOError: No Default Input Device Available (3) I'm using PyAudio under the Enthought Python Distribution (Python 2.6.6) in Ubuntu 10.10 x64.

elaborating on @Sidd Rajput 's answer since I did not find this clearly stated, it's not enough to set this inside your script/project, if you're importing -- pyaudio.py itself needs to be modified

def read(self, num_frames, exception_on_overflow=False):

^Line 589/590 in pyaudio.py v0.2.8:

Getting error while using speech_recognition module in python.Error , I want to convert speech to text in real time using the module SpeechRecognition 3.4.6 I've GitHub is home to over 50 million developers working together to host and review code, Try checking this by running import pyaudio as p;print(p. I am facing the same error and i could not find the solution. It's not compatible with 3.7 and as far as I have been able to find thus far there doesn't appear to be any work being put into making it compatible and I haven't found any sort of replacement, so unless you want to build the package yourself and make it compatible with 3.7 then it can't be used without downgrading your python install to 3.6, I did try Hiadore's answer and that does not work

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together. Sign up portaudio IOError: [Errno Input overflowed] -9981 #27808

EDIT: Instead of flodding the Issue section with pointless issues that may be able to fix later I stumbled upon an issue I can't seem to fix. "OSError: Command execution failed" I don't know how to fix this at this point and time and I c

PyAudio Input Overflowed -9981 - No solution working. 8. PyAudio ErrNo Input Overflowed -9981. Related. 4608. Calling an external command from Python. 5451.

Comments
  • Can you post what happens if you do p.get_default_input_device_info()?
  • @joseph I am also facing the same problem and same error, the information I get from the command p.get_default_input_device_info() is {'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': 0.011609977324263039, 'defaultLowInputLatency': 0.011609977324263039, 'maxInputChannels': 1L, 'structVersion': 2L, 'hostApi': 0L, 'index': 0L, 'defaultHighOutputLatency': 0.046439909297052155, 'maxOutputChannels': 2L, 'name': u'USB PnP Sound Device: USB Audio (hw:0,0)', 'defaultHighInputLatency': 0.046439909297052155} guide me to resolve this issue?
  • @FahadUddin, try lowering or increasing your chunk size
  • @SufiyanGhori I tried 1024, 512, 256
  • This does not appear to work with PyAudio 0.2.8. (which is what ships with the Pi as of Feb 17) I get "Unexpected Keyword" If I just try to add False (no keyword, just the argument), I get told that there are too many arguments.
  • @Sidd You saved my day! Thanks you!
  • First i used rate 44100 and was bombarded by errors and overflow etc. with RATE = 48000, it works. CHUNK is 16 in my case because i only want a very short sample to drive a APA Led String.
  • Welcome to Stack Overflow! Can you explain what this does? Remember that answers are for a wider audience than just the original asker. Thanks!