Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/elecgeek/multisignalgene

Generates multi channels sounds from primitives
https://github.com/elecgeek/multisignalgene

algorithms cordic-algorithm cplusplus-11 cplusplus-14 cplusplus-17 jackaudio state-machine stl vhdl-code wavegenerator

Last synced: about 21 hours ago
JSON representation

Generates multi channels sounds from primitives

Awesome Lists containing this project

README

        

This project generates audio signals using some primitives.
* An amplitude primitive handles a value and a slew-rate. Each time the actual amplitude is not equal to the requested amplitude, the module reaches it according to the slew-rate.
* An amplitude modulation primitive is applied to the amplitude above. It is a sinusoidal based wave form. The depth is a parameter. When the sine value is +1, the output is the amplitude left untouched. When the sine is -1, the output is between 0 if the depth is 100% and the amplitude left untouched if the depth is 0%.
* A second amplitude modulation is applied to the output of above. In this one, the modulation can be hold for a certain time on the top of the period and for another time on the bottom.
* An output module that generates a sinusoidal or a symmetrical pulse output. The amplitude is the output of the modulation module described above. In case of the sine, only one parameter defines the frequency. In case of the pulses, a parameter defines the frequency as another one defines the pulse width.
* Future modules are going to modulate the frequency

There is no extended documentation files.
* Some data is in the code. A run of the Doxygen software, separately in the 2 folders generates the documentation in the format one wants.
* Some data (mostly schematics) is in the Documentation folder. A run of the Graphviz software (dot) exports in the format one wants (about 30 are available). The work-flow exports into PNG, JPEG or PDF format. The files are in the artifact.
* Some data is in the specialized README files.

It is written in the DevOps style. Some shortcuts or quick and dirty parts are written and later cleaned up, removed or left as it. The commits into GitHub are up and running tags.