KDE Sound and Multimedia Plan
pedro.lopez.cabanillas at gmail.com
Wed Dec 1 19:00:27 GMT 2010
On Wednesday 01 December 2010, Nikos Chantziaras wrote:
> On 12/01/2010 02:11 AM, Alex Fiestas wrote:
> > [...]
> > Also please, what we are discussing here are the needs for developers,
> > not feature wishes for user-side applications, these do not belong here.
> The things that won't allow me to use Phonon in my applications (and
> therefore my own needs as a dev):
> * No mixer so I can play multiple sounds at the same time.
> * No MIDI support.
Agreed. A system pretending to be named a "multimedia framework" should support MIDI to some degree. MacOSX supports MIDI, Windows supports MIDI and Linux (ALSA) supports MIDI. On the other hand, KDE and Phonon ignores MIDI. The sad consequence is that users and developers interested in MIDI have to ignore Phonon, and probably KDE too.
Let me add a comment to Alex' mail: low latency usually means a few milliseconds, which only professional use cases may find useful. But reasonable small latency may be desired by other use cases, for instance: a speech synthesizer. It should not need to dump the whole audio rendering of a text sentence into a disk file before sending this output to the audio layer. This was the ktts design the last time I've checked it, I'm not sure if the situation has been improved since then.
I'm the current maintainer of extragear/KMid among other MIDI applications , so I have some experience writting KDE programs with full MIDI support. KDE/Qt provides very nice tools to build user interfaces, but nothing for MIDI. I offer here to share some of the infrastructure that is part of KMid, to be included in a shared set of components, or libraries, or whatever that would be used by other KDE developers. For instance: including into Solid the enumeration of hardware MIDI ports, and also virtual MIDI ports for certain backends.
Sample MIDI use cases: the simplest one is MIDI file playback (with optional musical feedback), that can be solved using KMidPart. Example application: Frescobaldi  is a very good LilyPond editor using KMidPart among many other KParts and KDE technologies.
Other hypothetical MIDI use cases: simple music educational software, something inspired by GNU Solfege  but aligned to the style and goals of KDEedu. For games, some requirements outlined by Mauricio Piacentini can be addressed by using a MIDI software synthesizer. Adopting a common software synthesizer for KDE would be also a fantastic opportunity for many other use cases, like playing MIDI notes, effects and MIDI sequences as system notifications and desktop themes. A MIDI synthesizer is comparable to a speech synthesizer: both produce audio output, using as input either MIDI events or text, with the help of a set of rules and sound samples. Maybe we could be able to provide a good common layer for both?
More information about the kde-multimedia