It has been a while! First of all:
thank you very much for the million downloads of VMPK! It happened in
2016, but I wasn't paying attention at the time. I didn't post any
article around that event, neither released a new VMPK version since
that year, so let's cover both things.
Download statistics |
Born in 2008, this project is
multiplatform from the beginning, with the goal of emulating a MIDI
controller device on software; which means: producing (and consuming)
MIDI events. The producing part requires another source of human
triggered events: computer keyboard, mouse and touch screen events
are supported and available on the three main target operating
systems. But producing MIDI events without delivering them to a MIDI
Synthesizer makes the program useless, with no sound output at all. This has been the experience of most new VMPK
Linux users for years. Windows users have a software synth included
in the operating system, installed and ready to use, so they may
produce sound as soon as they install VMPK from scratch. But Mac and
Linux users need to find and install first a suitable synthesizer.
Mac OSX also includes a soft synth library, but it is not a
ready-to-use service and needs to be activated by a third party
software. It's not very hard to find and install, because Apple has
always made MIDI users a niche for their products. Good for them.
I've been approached last year
by Microsoft people to package and publish VMPK into their Windows
Store for Windows 10. Probably the million downloads has something to
do with it. I've tried the packaging part without technical problems
thanks to the support of the MS Desktop Bridge team, but the store
conditions were awful, arbitrary and unfair, so I am not willing to
comply with them. This means that VMPK will be available only outside
the Windows Store and there won't be an UWP or Windows Phone version
either in the future. I don't want to speak about the Apple's App
Store. To the hell with them as well.
Linux users have been often made
hostages of their distributions and packagers. In theory, the package
repositories of each distribution (equivalent to an app store) are
made for easy discovery and install of all the software available for
Linux, but this is not true in practice. Software integration from
different unrelated sources is also the job of the Linux
distributions, which they miserably fail as well. I mean that when
saying hostages, because the packagers sometimes act as if they want
to force their users to follow their own personal preferences, like
the gurus of a sect: Jack is the chosen one!!! PulseAudio is evil!!!
More about that later. Let's listen an
enlightening Linus Torvalds first:
OK Linus. I've released this time an
AppImage package for 64-bit Linux. OTOH, I'm still using Subversion
and not planning to migrate the source repository to Git anytime
soon.
What I think it would be a good
VMPK distribution? Well, first of all, the latest version should be
available for install, optionally with some former versions available
to choose if the users needs to compare something (like a bug
resolved or introduced in the latest version). Second: main functions
should be immediately available: the user must be able to simply get
sound at once. For Linux, ALSA sequencer inputs and outputs must also
be available without any other extra configuration. About network
I/O: the Mac OSX and Windows operating systems automatically activate firewalls blocking this function but, as soon as VMPK
starts the first time, the OS asks the user for permission to open
the firewall for this software. Linux distributions that include an
active firewall should listen and learn something here.
The latest VMPK release includes
lightweight soft synths for Linux and Mac OSX, which were available
as a Drumstick-RT library back-ends for some time. The Linux soft
synth is Sonivox EAS, borrowed from Android OSP and ported to Linux +
PulseAudio, which was already mentioned in another post.
It is the default output chosen by VMPK
upon install, so you need to use PulseAudio if you want to try VMPK.
Why the PulseAudio choice? Because it is the default Linux sound
server in most distributions: Ubuntu, Fedora (Red Hat), OpenSUSE,
etc. I know that there has been a lot of criticism among the Linux
audio community about PA, but honestly: I can't care less about
arguments that sound like fanaticism. Someone told me that: “many
people in linux-audio avoid PA like the plague.” Well, I'm sure
you know that many computer users avoid Linux like a plague, but I
don't let a handful of haters to influence my decision of keeping
VMPK available for Linux users. And at the end of the day, this is my
personal project and I am who decide the road-map. This is also free
software. If you don't like something or have good ideas to get it
better, you may contribute with code or make your own fork.