-
Scout Monitoring
Free Django app performance insights with Scout Monitoring. Get Scout setup in minutes, and let us sweat the small stuff. A couple lines in settings.py is all you need to start monitoring your apps. Sign up for our free tier today.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I'm unaware of a library that facilitates any of this, so unless I find one or more suitable libraries with this matter, then I'm looking at using Numba and either aiofiles or aiofile—I'm not yet sure what the difference between the two is—and writing my own encoder(s).
I'm unaware of a library that facilitates any of this, so unless I find one or more suitable libraries with this matter, then I'm looking at using Numba and either aiofiles or aiofile—I'm not yet sure what the difference between the two is—and writing my own encoder(s).
Now, I'd like to discuss the stack. I'm currently using PyPy 3.8 for its speed of execution. To do the calculations, I'm using NumPy and SymPy. To further speed up and parallelize the calculations, I'm looking at incorporating Numba, but I'm open to alternative suggestions. As for writing and encoding the data, I understand that SciPy has a module that simplifies the encoding and writing of a NumPy array to an uncompressed WAV file (but no other audio formats). However, it's synchronous and can't write data non-sequentially.
Now, I'd like to discuss the stack. I'm currently using PyPy 3.8 for its speed of execution. To do the calculations, I'm using NumPy and SymPy. To further speed up and parallelize the calculations, I'm looking at incorporating Numba, but I'm open to alternative suggestions. As for writing and encoding the data, I understand that SciPy has a module that simplifies the encoding and writing of a NumPy array to an uncompressed WAV file (but no other audio formats). However, it's synchronous and can't write data non-sequentially.
I had an existing (albeit very elementary) implementation, but let's just say that I didn't have backups. Anyway, I know with certainty that rendering will be the most difficult task to overcome. Some of the sounds that I plan on generating are incredibly complex—like ray-tracing-sound-waves-from-an-acoustic-guitar-made-of-a-particular-type-of-wood complex. And I want it to be as fast as possible so that it can (hopefully) be rendered in real-time. So I don't feel that my attention to that aspect is premature optimization. Plus, this application will have a GUI (probably via Kivy) and I don't want to lock up the UI while rendering, encoding, writing, etc.