vModSynth 1.0 released

Didn’t I mention for the last 2 months I have been working on a synthesizer application?

I am pleased to announce that vModSynth 1.0 is now publicly released and available to download.

What is vModSynth? It’s a modular software synthesizer for Linux. It is not intended to be as convenient as possible, but to resemble the look & feel of a real, analog, modular software synthesizer. See for yourself:

vmod1

vModSynth allows you to play with a modular synth on your computer. You are free to choose any modules you wish, you can connect them however you want, and you will hear the result immediately. The synthesizer intentionally resembles the look of a modular synthesizer (I was inspired by modules manufactured by synthesizers.com), and it imitates behavior of one.

vm2

vModSynth integrates perfectly with external MIDI devices – you can play it with an external keyboard, and you can bind any knob to a knob/slider on your physical device, so that you can actually feel the synthesizer, and modify it’s parameters just as on a real one! You can also connect any external sequencing application, like Rosegarden or harmonySEQ.

vm3 There is a number of modules you can add to your setup. A all-in-one oscillator, some effects, some processing modules, whatever you like. If I continue to develop this project, the number of modules will certainly grow, as creating new ones is very easy.

No limits to the number of modules, the number of connections, loops in connections, you are absolutely free. Just build your own synthesizing path and hear it in action.

The source file can be downloaded here. Compilation is as simple as ./configure && make && make install . A detailed user manual is available in the ./doc directory.

There is also a PPA for Ubuntu 12.04/12.10/13.04 available. To add it an install, use sudo add-apt-repository ppa:smartboyhw/vmodsynth-release && sudo apt-get update && sudo apt-get install vmodsynth . Thanks to Howard Chan for maintaining the PPA!

Questions, ideas, bugs? Please contact me directly, or leave a comment here. I have not yet recognized the level of interest others may have in this piece of software, and I need to investigate whether it makes sense to setup a bug tracker etc. However, if you are interested in contributing to this project, writing new awesome modules or generally helping me make vModSynth a awesome synthesizer, you will be welcome with my arms wide open!

27 Responses to “vModSynth 1.0 released”

  1. mabl Says:

    Sounds nice, but i cannot get it to work with my pulseaudio.

    Failed to open PCM device ‘plughw:0,0’. Either the device is busy and you need to close other application using it, or try launching the application with different device as a command-line argument, e.g. ‘vmodsynth hw:0,0’.

    Is this known?

    • Rafał Cieślak Says:

      vModSynth works fine with pulseaudio. The problem you are meeting is common to all ALSA applications that need to use a PCM device on their own. The point is that the application is unable to use the device if it is already used by any other app. Therefore before starting vModSynth make sure to disable all other audio apps, like music players, other synthesizers, or even a web browser, if you were just listening to/watching something.
      You may also use the default device with “vmodsynth default” – this way it can connect even if other apps are running, but you are likely to encounter a lag up to several seconds.

    • Aaron Wolf Says:

      Ugh. Don’t use pulseaudio. Pulseaudio can go drop dead. KXStudio is the best GNU/Linux audio distro and it uses ALSA with JACK and completely purges pulse. By using the snd_aloop daemon, all audio is routed through the ALSA / JACK setup, so everything works perfectly. Pulse is just bulk that gets in the way and causes problems. I suggest trying KXStudio, it can be added to any Ubuntu-based distro or installed as a set ISO. Cheers

  2. Igor Says:

    Oh my, this looks AWESOME. Can’t try it at the moment but I most certainly will.

  3. yugnip Says:

    I am having trouble compiling – apparently I need libasound2-dev, but it wants to remove too much in order to install (things like broadcom and nvidia?). I would love to check this out though, so perhaps I will try on another non-production box. Here’s hoping there’s enough interest for a ppa.

    • Rafał Cieślak Says:

      Yes, libasound2-dev is needed for compiling. It’s strange that anything related to it conflicts with anything else… Maybe some details of your system could enlighten me. Are you using Ubuntu or some other distro? Which version? 32/64?

      • yugnip Says:

        Hi and thanks for the reply. I am using Ubuntu 12.10 64bit. I found it pretty odd as well that so much could conflict with libasound2-dev as well. Moreso considering I have libasound2 installed, just not the dev tools.

      • Rafał Cieślak Says:

        So you are using a very common setup, which makes the fact you are unable to install libasound2-dev even more odd. Maybe the problem is somewhere else, don’t you have any conflicting packages installed that would cause apt to try removing them whenever you install *any* package?

  4. yugnip Says:

    No, in fact I rarely have problems on this machine.

  5. Steve Says:

    Hello Rafał,

    I am attempting to install vModSynth on Lubuntu 12.04. I think I have all the dependencies installed (it asked for libasound2-dev and one other package that I forget). I am unable to compile and install due to the following error:

    AlsaDriver.cpp:237:1: fatal error: opening dependency file .deps/vmodsynth-AlsaDriver.Tpo: Permission denied

    Not sure what I am doing wrong; I am running the install as sudo.

    Steve

    • Rafał Cieślak Says:

      It appears to me that this error is more about using autotools then about problems with vModSynth. Did you encounter this error while compiling, or while installing? Did you run `make` as root too? You can also try cleaning the build dir by running `make distclean` (it may need root priviledges if you used them for previous commands).

      • Steve Says:

        I had success after running “make distclean” first. Perhaps the issue stemmed from my previous attempts and not having the dependencies satisfied first.

        The application didn’t add in an icon in the menu, but I figure this is due to using LXDE instead of Unity. I also don’t have any menu options (File, Edit, etc.). I assume the same reason applies here too. However, I was able to get the application running via the command line.

        I have an additional computer running Ubuntu 12.04; I’ll try an install on there later on this week.

      • Rafał Cieślak Says:

        The point with the icon and menu is not your DE, this is because I have not implemented none of these :) I found it pointless to add menus, for there are no features that would fit there, and I did not add a icon… mainly because I am a terrible artist and designing one is hard stuff to me. I have also not treated this project seriously enough to give it a fancy icon.

  6. Andy Says:

    What is the minimum version of gcc required to build vmodsynth?
    I’m getting the following error with gcc 4.2.3 (yeah I know it’s not the latest):
    cc1plus: error: unrecognized command line option “-std=c++0x”
    Do you know any workaround for that?

    • Rafał Cieślak Says:

      vModSynth is written in C++11 (C++0x), which is a fairly new standard of C++ language, and older compilers don’t quite know how to deal with it. As far as I know, support for C++11 was introduced in GCC 4.6 and it should be enough to successfully compile the application, but I’ll reccomend GCC 4.7 as it is know to fully support all the features vModSynth uses.

      • the_letter_J Says:

        For licensing reasons (Apple’s hatred of GPL3), FreeBSD and OpenBSD have been stuck on gcc 4.2.x for many years now. They are attempted to jump ship, and use BSD-license clang/llvm, written by IBM and Apple. Maybe try compiling with a recent version of that, instead of gcc 4.2? But methinks you can put a recent copy of gcc like 4.7 or 4.8 onto any machine you want; the limitation is in what the distros in question will ship, not what gcc can support.

  7. linuxDSP Says:

    Can I recommend that you consider using JACK instead of connecting to the soundcard directly via ALSA. JACK is the accepted standard for *all* pro-audio applications on linux, and allows much easier integration with existing e.g. DAW software, allowing audio / MIDI to be routed to and from compatible applications, in addition to the physical I/O interface

    • Rafał Cieślak Says:

      Thank you for your tip. I am aware of JACK’s advantage over ALSA, and if only I will continue to develop this project, getting it use JACK for audio output will be one of my priorities.

      • petererer Says:

        Sadly some of the dsp code is incompatible with realtime constraints (use of std::queue and locks.) An LV2 plugin would be nice, but that would require complete separation of UI and dsp state which would be a major refactor for this.

      • Rafał Cieślak Says:

        You are completely right. To be honest, when creating this synthesizer I though about it more like a toy then a professional tool, which is why I have not decided to use any sophisticated technologies, and that explains why it does not support JACK nor LV2 etc.

  8. AndyF Says:

    Please do continue development if you can! The more Linux synths the better. Although I haven’t tried this yet, it looks so much more promising than the old Alsa Modular Synth, and seems unique in the Linux world. Big kudos on your documentation too.

  9. Carsten Says:

    Looks really interesting. But without JACK-support, it is of no use for me… Please consider integrating JACK-support… Please… ;)

  10. contrapunctus Says:

    Another +1 for JACK Audio.
    As said, it looks very promising compared to other modular synth options on the Linux system. I’ve long been looking for something like this.
    LV2 would be nice too, I guess…considering the state of things, every Linux synth should come in LV2 as well as standalone formats.

  11. yugnip Says:

    Hi Rafał. I got vmodsynth working. Sorry, it was my fault. Thanks very much for this. There is a lot of potential here, and further development would be superb.

  12. Matt Henley Says:

    I compiled vModSynth and got it working fairly quickly. It looks and sounds great so far. I would encourage you to continue development of it. The two requests that I would throw out is Jack support and the ability to save patches.

  13. Alex Says:

    Awesome modular synth! Just played for 40 minutes and it really stands out! The UI is sleek and cool. So sad it doesn’t support jack!

  14. Robert Gyllenberg Says:

    Thank you, Rafał, for sharing your excellent work with us. Please find my contribution to the project in a separate email.


Leave a reply to Rafał Cieślak Cancel reply