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. Learn more →
Music-synthesizer-for-android Alternatives
Similar projects and alternatives to music-synthesizer-for-android
-
awesome-linuxaudio
[mirror] A list of software and resources for professional audio/video/live events production on Linux.
-
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.
music-synthesizer-for-android reviews and mentions
-
Reverse-engineering the Yamaha DX7 synthesizer's sound chip from die photos
This is for Cortex A8, which was the chip in the Nexus One. I wrote the original version of sound synthesis directly in ARM assembler[1]. It was very highly optimized, I remember using a cycle counting app that flagged any dependency chain that would cause the processor to stall, and ultimately utilization was in the 90%+ range. Back in those days, processors were simple enough you could do this kind of optimization by hand. By the time of Cortex A15 (Nexus 10 etc), instruction issue was out-of-order and much harder to reason about.
The best current info I could find for the latency advice is [2]. Quoting, "Moving data from NEON to ARM registers is Cortex-A8 is expensive..."
[1]: https://github.com/google/music-synthesizer-for-android/blob...
[2]: https://community.arm.com/support-forums/f/armds-forum/757/n...
Nice! A Google engineer also reverse engineered the DX-7 a while back, although I think it was just based on analyzing the behavior, not from the actual die itself like this. (I seem to recall there was more documentation/blog posts, but it looks like it was lost in the migration from Google Code to GitHub.) Later, someone used this as the core engine for the VST plugin Dexed.
-
Reverse-engineering the Yamaha DX7 synthesizer's clever exponential circuit
The specific thing I've found least documented, yet most important for the distinctive percussive attacks of the DX7, is a random variation of the pitch envelope for the first few milliseconds of the note. That's almost short enough it could be done in the firmware, but I believe it might be in the hardware. It's not present in the msfa source, but might have been recovered by later Dexed authors (I haven't carefully looked at their code).
If you get to the envelope hardware, you'll find it's just as clever as the exponential and sine generators. There's some info at [1], but it doesn't capture every single thing I found - there are cases where there is a slight amount of additional noise in the amplitude, I'm not sure whether intentional to give more character or an unintentional artifact. That's also missing from the msfa source.
[1]: https://github.com/google/music-synthesizer-for-android/blob...
-
A note from our sponsor - InfluxDB
www.influxdata.com | 1 May 2024
Stats
google/music-synthesizer-for-android is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of music-synthesizer-for-android is Jupyter Notebook.
Sponsored