The user Alan “alvaax” just sent me this beautiful skin:
It can be downloaded here.
The user Alan “alvaax” just sent me this beautiful skin:
It can be downloaded here.
In august/2015 I was interviewed by Adam Pawlowski from the magazine Estrada i Studio. The interview is in the current issue (january/2016), in polish.
Here is the original interview, in english:
Oxe FM, the legendary free virtual synthesizer FM is back on the market in the new version after 11 years! On this occasion, Daniel Moura, a Brazilian programmer, musician, and the creator of this famous VST plug-in, has been interviewed specifically for the “Estrada i Studio”.
1. Welcome and greet, can you tell us about yourself in a few sentences?
I’m software engineer on CESAR (Recife Center for Advanced Studies and Systems) about 10 years and I have 15 year of experience. I born in Recife/Pernambuco, where I lived until 2013. I have two boys (13 and 15) from the first marriage and now I live with my second wife and his son in Sorocaba/São Paulo.
2. How did your adventure with a computer as a tool for creating music began? And maybe something about you and music in general?
I play keyboard since 8. In my teenage my dad bought a PC (a 386 DX with Windows 3.1) in 1994. I was curious about to “plug” my Yamaha keyboard on the PC to use MIDI. After to win a “multimedia kit” and some wiring (I made my own MIDI cable) I could start to use Cakewalk 2.0 to make my sequences. I followed since then the Computer Music industry, helping some friends to transforms its ADAT based recording studios in more modern and cheaper computer based solutions. In the last 20 years I use, study and test everything related with music and technology.
Before start to work with computers I had experience as keyboardist and music producer. I played in some local bands, on the road and on the studio. I produced some works for local artists too.
3. What made you become interested in the FM synthesis?
One day I saw on the computer of a colleague a “demo”. Demos are very small pieces of software that renders images and music (most in real time). There are competitions related around the world (the notable site about the theme is pouet.net). After some research, I found some demos that renders the music in real time, with a impressive sound quality. I believe that if someone can do something, I can too. My first question was: how can I play a rudimentary waveform thru the soundcard? In that time Visual Basic 6.0 was the only language that I used to work. I wrote a simple app that plays a sine wave using DirectSound, based on MSDN examples. It was the beginning of my revolution. Due to performance reasons, I decided to learn C/C++ at the same time that I made a lot of experiences generating sounds. The softsynths become popular using VSTi and DXi interfaces and, among the few existing products at that time, I really liked the FM7 of Native Intruments. I didn’t lived in the FM era (of Yamaha DX7) because I was a child (today I’m 37) but I was impressed with the possibilities of FM and the beauty of the operators. Because of this, I used FM7 as basis of my experiences.
I found the great site http://musicdsp.org/ (in the early stage) where I learned a lot about digital signal processing algorithms, but the most important source of information was a guy, from the demo scene, called Lauri “ld0d” Koponen, from Finland, that helped me a lot. He was member of a demo group called “foobug” and teach me everything that I want to know. We exchanged many emails. What I really want to make was a sound demo. Another very important source of information was a series of four articles named “The Workings of FR-08’s Sound System” from Tammo “KB” Hinrichs. He never answered my emails, but his articles were enough. From this point, I could walk alone. I wrote a MIDI file player to render WAVs more complex than a single note that I used before. Then, I felt the need of be more practical and the solution was to write a plugin. At that time, I had to choose between the two existing formats: VSTi or DXi. The VSTi won, because DirectX code was ugly and difficult to understand. My goal was to reproduce my favorite FM7 patch “Glassy E Piano”. In the middle the process, something unexpected happened: my keyboard was gone. My Alesis QS6 stopped working after 7 years of use, because I lived in front of the sea, and its motherboard could not stand the salty air. I had to continue without keyboard. A workmate, Neto Leal, help me with the graphics and the logo and, some months later, I finally released the Oxe FM Synth.
4. Oxe FM earned a reputation in the market among many professional users. What do you remember the most while you were working on it?
When I released the synth it had only one patch. I’m not good to create patches, because of this, the users help was fundamental. Thru the years, many people help me testing, making patches, suggestions, asking for features, making donations. Unfortunately, my personal life was very complicated due a bad marriage, and it interrupted the synth development seriously. I start working on a new version, with a full modulation matrix, but I never finished it. To make the things worst, I lost the original source code. So, I couldn’t make bugfixing anymore. Even with no releases, I always received emails from the users around the world. I answered all of them and put all the the questions/wishes/bugs in a backlog.
In my new life the things become better and I finally could return to think about my personal projects. The pinnacle was when, at the end of march, I found an old backup of my untouched source code in my GMail. I had no doubts: “I’ll back to develop the synth”.
5. What do you think about Linux and the opportunities associated with creating and producing music using the free software? On the http://www.oxesoft.com/ you wrote also about Wine and use of your synthesizer with Linux.
I’m a Linux user about many years. The Ubuntu is my main operating system on my job. I developed and tested the more recent synth version on it, using cross-compiling and Wine. It is an excellent environment to do anything. For music production there are great DAW options like Qtractor and Ardour. JACK allows us to have low latency audio. It is a question of culture. I plan to do my contribution turning Oxe FM Synth open source.
6. What so special appeared in the latest version of Oxe FM after 11 years? Does the users as in the case of older versions, will have a choice of two operating modes synthesizer, that is – VST and standalone?
Bugfixes. Oxe FM Synth travelled by the years with lots of bugs and now they are fixed. I realized the the standalone version doesn’t make sense, because of the great Hermann Seib’s SAVIHost. It allows any VST plugin become a standalone application, with all features built-in like virtual keyboard, ASIO and many other. I decided to focus on the plugin only.
7. How will the further work on the synth look like?
There are some features like automation and effects per program that I want to implement before to turn it opensource. After that, anything can happen.
8. Which programming languages or tools can you you recommend to our readers who wants to create their own virtual synthesizers and VST plug-ins?
C language, VST SDK, a code editor and compiler are enough. There are good tutorials on the internet.
10. How do you see the future of science and computing in the service of music? What do you think would cause the greatest revolution among the DAW programs, as well the virtual synths?
I think the revolution was done when the first virtual synth was created. To be “transported” to a personal computer, It was a matter of time. Today, the analog synths are mere eccentricity. There are no limits for creativity for anyone who has a computer. I see a future where creativity is each time less limited by technology.
The GUI on Mac OS X was very slow. After trying different approaches on Mac (Cocoa, Core Image, etc.) I’ve decided to implement the GUI using OpenGL that is a great way to make the drawing strategy really portable, sharing the same code base.
Thanks Rui Nuno Capela for help me to idenfity the issue on DAW project loading.
– OSX: using accelerated graphics (OpenGL);
– Linux: fixed possible issue on GUI loading;
– all: fixed possible crash when the GUI is shown on DAW project loading;
Oxe FM Synth was chosen as the synth of month by KVR OSC (one synth challenge). It is about a monthly competition where tracks are made using only one synth then voted on. There are some rules and at the end all tracks are available on SoundCloud. Click here to see the prizes and participate.
This is a bugfixing release, together with a new beatiful “DX7” skin by Layzer. Thanks to Robert Hyde, Max Gutov and Terry G. Taylor for the beta testing.
– Windows: fixed bug on closing GUI;
– Linux/OSX: fixed bug on loading external skin;
– OSX: fixed bug that prevented some hosts to recognize the plugin;
– all: fixed bug with some skin’s images with an old DIB header;
– new skin “DX7” by Layzer.
Following the natural course, here is the MacOSX version. Enjoy!
Here is the version 1.3.1, that includes a stability bugfix (for Windows) and a big personal fulfillment: a native Linux VST version. Following what I did in the Windows version, the Linux version was made without frameworks, using the Xlib directly. The code of both versions are very didatic, following the same structure and is a good start point for who want to learn how to do the same. The binaries (Windows and Linux, 32 and 64-bit) are available here.
on Qtractor (using a non-default skin):
Thank Dave Phillips and Rui Nuno Capela by the tests on Linux, Doktor Italics, Layzer and Phil Considine for tests on Windows.
From this moment, the Oxe FM Synth is an open source project, licensed under GNU GPL v3, for anyone who want to study the code and contribute to turn it better or even start portings to new platforms. I lost many years of evolution because I didn’t do it before (while I wasn’t evoluting the code), but never is too late. I appreciate some help to do the Mac OS and Linux versions. The code is on GitHub. There are more uses, beside to be a VST plugin: it could be used as a demo/game sound engine too. So… enjoy!
After many requests, here is the version 1.3.0 with full automation support and some useful features to improve the usability.
– new feature: full automation (on channel 1);
– new feature: mouse over feature;
– new feature: double click for default value;
– new feature: host undo/redo support;
– all parameter changes are now applied immediately;
– removed the “compare” function (right click);
– the “store” button now is only used as “copy” function;
– fixed the fine tune display value when keyboard tracking is off;
– fixed bug in LFO rate control.
Thanks to Doktor Italics, Phil Considine and Layzer for beta testing.