Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zac-garby/fm
An FM synth
https://github.com/zac-garby/fm
Last synced: 7 days ago
JSON representation
An FM synth
- Host: GitHub
- URL: https://github.com/zac-garby/fm
- Owner: zac-garby
- Created: 2021-08-06T12:28:56.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-08-07T19:02:13.000Z (about 2 years ago)
- Last Synced: 2023-03-06T09:12:33.155Z (over 1 year ago)
- Language: Rust
- Size: 11.7 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# cancrizans
(formerly `fm`)
![](assets/screenshot.png)
a synthesiser, early WIP. I'm currently in the process of porting the [old](https://github.com/zac-garby/fm/tree/old) C version to Rust, because segfaults are annoying.
once this rewrite is complete, the features will include:
- [X] FM instruments with arbitrary custom algorithms and feedback loops etc
- [X] songs, loadable and storable in a human-readable and human-editable format
- [X] an aesthetic GUI (I had to make a whole GUI library to make it look how I want--I hope you're happy.)
- [ ] `.wav` file export
- [X] filters and effects
- [ ] more than this hopefully
## why the name?["cancrizans"](https://www.merriam-webster.com/dictionary/cancrizans) describes a canon where the theme is played backwards against itself. the most famous example of this is Bach's [crab canon](https://en.wikipedia.org/wiki/The_Musical_Offering#Structure_and_instrumentation), and Rust's logo is a crab, sooo...
(this is also my excuse for only supporting four instruments in the GUI (a purely UI limitation), since that is the number of parts in the largest canon in his Music Offering. though arguably it should be six, for his six-part fugue. oh well. the real reason is that my GUI library doesn't yet support scrollbars :))