Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/elecgeek/multisignalgene
- Owner: ElecGeek
- License: gpl-3.0
- Created: 2022-01-25T21:37:37.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-09-09T10:14:15.000Z (2 months ago)
- Last Synced: 2024-11-19T14:07:13.412Z (about 21 hours ago)
- Topics: algorithms, cordic-algorithm, cplusplus-11, cplusplus-14, cplusplus-17, jackaudio, state-machine, stl, vhdl-code, wavegenerator
- Language: C++
- Homepage:
- Size: 296 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README
- License: LICENSE
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 frequencyThere 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.