python-sounddevice
python-sounddevice copied to clipboard
Input/Output with Continuous FFT
wire.py only does input/output and adapting it for FFT filtering is non-trivial. After much research I figured out how to do continuous FFT and have modified wire.py to wireFFT.py which I contribute to "the cause."
Hey @joem5636 thanks for your efforts and the interest on experimenting with the toolbox.
Posting ZIP files for downloading is not good practice. One should not download such from unknown sources. ;) Directly posting your code would be helpful. Otherwise, you seem to have also have published your code here, right? https://github.com/joem5636/WireFFT/blob/master/wireFFT.py
As you have figured out, doing real-time processing in the frequency domain is not trivial in practice. I am also not aware of any popular packages which implement Overlapp-Add-Convolution entirely in Python.
I have implemented Overlapp-Save for example here as part of my processing pipeline for spherical microphone arrays. There is a lot of other stuff around it, but you could find all the essential building blocks there. I hope the documentation around it somewhat helps to understand what is going on.
A general comment. The way of data organization i.e., the order in which the time blocks / audio channels / audio samples are stacked in numpy arrays, matters quite a bit in terms of processing performance. Obviously, careful planning of the exact way data is gathered, shifted, multiplied and distributed is crucial for a correct processing without artifacts.
Correct. Posting .py was not allowed and cut-paste lost formatting, hence the .zip.
On Sat, Jan 1, 2022, 8:09 PM Hannes Helmholz @.***> wrote:
Hey @joem5636 https://github.com/joem5636 thanks for your efforts and the interest on experimenting with the toolbox.
Posting ZIP files for downloading is not good practice. One should not download such from unknown sources. ;) Directly posting your code would be helpful. Otherwise, you seem to have also have published your code here, right? https://github.com/joem5636/WireFFT/blob/master/wireFFT.py
— Reply to this email directly, view it on GitHub https://github.com/spatialaudio/python-sounddevice/issues/387#issuecomment-1003645434, or unsubscribe https://github.com/notifications/unsubscribe-auth/AASZUVUDRZTIYCMVVIACOUTUT6QWPANCNFSM5LBRTMDA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>
Correct. Posting .py was not allowed and cut-paste lost formatting, hence the .zip.
True. But you can use Markdown in the comments as well, and therefore use code blocks, see https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code-and-syntax-highlighting
I suspected I could use or the equivalent but knew .zip would
work and i already had the files zipped.
Best,
Joee
On Sun, Jan 2, 2022, 2:05 PM Hannes Helmholz @.***> wrote:
Correct. Posting .py was not allowed and cut-paste lost formatting, hence the .zip.
True. But you can use Markdown in the comments as well, and therefore use code blocks, see https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code-and-syntax-highlighting
— Reply to this email directly, view it on GitHub https://github.com/spatialaudio/python-sounddevice/issues/387#issuecomment-1003760680, or unsubscribe https://github.com/notifications/unsubscribe-auth/AASZUVUVRN4WSEVXCCIZMF3UUCOYNANCNFSM5LBRTMDA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>