themaister / libfmsynth Goto Github PK
View Code? Open in Web Editor NEWA C library which implements an FM synthesizer
License: MIT License
A C library which implements an FM synthesizer
License: MIT License
Hello!
Nice work on producing an FM synth.
I'm having a bit of trouble getting good results when using particular arrangements of operators/modulators. For example, there's a really recognizable characteristic sound that FM synths tend to make when you modulate 1 โ 2 โ 3
. That is, 1
is the carrier, 2
modulates 1
and 3
modulates 2
. I'm using the Hexter synth as a reference here because it seems to be the only other working open source FM synth, but it applies to just about every hardware and software synth I've ever used. Apologies for the zip files, but GitHub won't allow me to upload Ogg Vorbis audio:
The three notes you can hear are:
1
without modulation.1
being modulated by operator 2
.1
being modulated by 2
which is in turn being modulated by 3
.Here's the exact same modulation setup in libfmsynth
:
It sounds pretty awful. Nothing like what I'd expect! Here's the preset, for reference:
Am I doing something wrong? Is there some way to get libfmsynth
to sound like the output of Hexter?
Unfortunately, the only sound that I am able to produce with the LV2 plugin of libfmsynth is a very quiet, low-pitched "hummm" if I send MIDI notes to it.
I have created the LV2 on a recent Arch Linux / x86_64 according to your documentation. The plugin loads fine in jalv.gtkmm. I am able to load one of the provided presets and can see corresponding value changes in the plugin's GUI. MIDI notes are send using jack-keyboard, and the required jack connections are created using Catia. The same setup produces audible sounds using for example TAL-Noisemaker LV2. I can reproduce the same behaviour using Carla as a host.
Apart from that I have created the test program. If I run the program providing a file name it creates this text file containing two columns of numbers.
Do you have any idea what might went wrong?
Hi Themaister,
found your library. Is there an example to create realtime Sounds under Windows with SDL, aolib or winmm?
Thx - greetings kmatze
Thanks for this hidden gem, great work!
I have a coupe of feature requests, but I'm not sure if you are still interested in working on this.
Hi @Themaister , thank you for making such a great library!
Just wanted to let you know I created a simple Dart FFI based wrapper package for it to allow it to be used in Dart and Flutter apps.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.