[gst-devel] application idea: loop-based music production app

Edward Hervey bilboed at gmail.com
Fri Nov 11 00:28:28 CET 2005


On 11/11/05, Shane Handley <shane.handley at gmail.com> wrote:
> Greetings list,
> I have been trying to get up to speed with gstreamer in the hope of
> developing an application that I sorely need on linux. I am hoping that
> someone on the list can provide some feedback about how difficult this
> would be to implement using gstreamer/gtk.
> I am an ameteur musician, and coming from Windows 8 months ago, I had to
> drop a nice application named "ACID". ACID was similar to Audacity
> [audacity.sourceforge.net] in that it allows recording of multiple
> tracks of audio, which it displays as a waveform, for editing/mixing
> tracks/adding effects.
> The major difference between ACID and Audacity is that ACID is
> 'loop-based'. That is to say, instead of playing a repeated piece of
> song for many repetitions, you play it once, and loop that sample, using
> the graphical wave  representation of the audio to ensure that the
> sample begins and ends at the end of the beat.

  Technically, using gstreamer 0.9, you can now do loop-based playback
(specify a stop and start position and restart playback from that
position VERY quickly using segment seeking (See the
GST_SEEK_FLAG_SEGMENT argument for seeks)).
  The only 'hard' thing I see is whether you want the application to
figure out those start/stop positions for looping or letting the user.

> screenshots of ACID for the uninitiated:
> http://mediasoftware.sonypictures.com/images/ss/md/AXPress_Full.jpg
> Audacity is at heart, and audio editor, rather than a music production tool.
> I think ACID is inferior, it could be lot better through simplification.
> I'd like to see this application implemented using gstreamer, and I'd
> like to work towards it if the list believes this is feasable.
> I understand that recording/playback/merging tracks would be a
> no-brainer with gstreamer, from what I have learnt so far, it would
> offer a very clean backend to the audio tasks.

  Audio processing has been good for a long time in gstreamer.

> Does anyone think it would be a massive task to expand on these simple
> src->file, file>effect>output...etc, tasks to make a complete loop-based
> audio production tool that isn't overly complicated.

  As far as I can think, the only element missing to make this
loop-based behaviour usable really easily would be to create a
'looper' GstBin (a container), where you put the "file->decoder" (or
any other source pipeline) and has start/stop properties, and a number
of iterations (or infinite if you want to loop forever). That
container would then 'control' the contained source and you would just
handle it as any other source element (except that it actually does
the looping depending on the properties set).
  I might have a look to create such an element in GNonLin
(http://gnonlin.sf.net/ , 0.9 version is in cvs), because it would be
helpful for any kind of audio/video editor.

> This is getting long. Thanks for reading, any feedback is appreciated.
> Regards,
> Shane Handley

  Take care,

> -------------------------------------------------------
> SF.Net email is sponsored by:
> Tame your development challenges with Apache's Geronimo App Server. Download
> it for free - -and be entered to win a 42" plasma tv or your very own
> Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

Edward Hervey
Junior developer / Fluendo S.L.

More information about the gstreamer-devel mailing list