Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use python-rtmixer for low-latency audio recording #119

Merged
merged 2 commits into from
Dec 8, 2019
Merged

Commits on Dec 4, 2019

  1. Use python-rtmixer for low-latency audio recording

    Friture has issues keeping up with audio input, which tends to produce overflows, that appear as glitches in the audio signal.
    
    This has largely been unnoticed for years because Windows MME is very forgiveable in that regard. But Windows Directsound, for example, is much more sensitive. Similarly, Alsa or PulseAudio in Linux also show a lot of glitches (even if PortAudio might not report any overflow).
    
    Here this is fixed vy taking advantage of python-rtmixer, a library that sits on top of python-sounddevice (the PortAudio wrapper). Python-rtmixer provides an audio callback that is implemented in C (and compiled with the help of CFFI) and doesn’t invoke the Python interpreter, therefore avoiding waiting for things like garbage collection and the GIL.
    
    Reference: https://python-rtmixer.readthedocs.io/en/0.1.0/index.html
    
    The result is glitch-free audio signal even with Windows DirectSound.
    
    We believe this solves #90
    tlecomte committed Dec 4, 2019
    Configuration menu
    Copy the full SHA
    4da5686 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2019

  1. Fix typo

    tlecomte committed Dec 8, 2019
    Configuration menu
    Copy the full SHA
    70edf4a View commit details
    Browse the repository at this point in the history