alsa MIDI

Antonio Ospite ao2 at ao2.it
Thu Sep 11 03:58:12 PDT 2014


On Wed, 16 Jul 2014 11:08:12 +0200
Hungerburg <pch13 at myzel.net> wrote:

> Gstreamer has some support for midi, although only turning into audio, 
> as fas as I found. I'd rather capture and playback midi events from and 
> to midi devices. Maybe someone on the list knows of such a module?
> 
> 1) capture midi events from alsa midi port, probably mux into an AVI 
> container or write as a midi file

I too am interested in capturing midi events from GStreamer, but in
my use case I would actually synthesize them with the wildmidi element
and use the actual audio data down in the pipeline.

This is for my vocoder prototype:
http://ao2.it/109

Right now I am using alsa loopback devices, timidity and alsasrc to get
the synthesized audio into GStreamer.

BTW some further info about the design of possible alsamidisrc and
alsamidisink elements is here:
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/random/uraeus/gstreamer_and_midi.txt

I think parts of that doc are obsolete now that we have midiparse,
wildmidi and even fluiddec.

> 2) playback that stream of events to an alsa midi port
> 
> I now capture and play video with gstreamer and midi with arecordmidi 
> and aplaymidi started from the shell with deliberate delays but imagine 
> a pure gstreamer solution might provide better sync.
> 

Independently from GStreamer, I have never heard of MIDI tracks in video
containers either. I know that AIFF[1] files can contain MIDI, but
that's for audio only.

So, even if you get the midi events in GStreamer I am not sure how
straightforward would be to mux them directly with the video track.

Ciao,
   Antonio

[1]
http://www.w3.org/2008/WebVideo/Fragments/wiki/State_of_the_Art/Containers#Audio_Containers

-- 
Antonio Ospite
http://ao2.it

A: Because it messes up the order in which people normally read text.
   See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?


More information about the gstreamer-devel mailing list