octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re: gsoc2013 octave audio system


From: Vytautas Jancauskas
Subject: Re: Re: gsoc2013 octave audio system
Date: Tue, 16 Apr 2013 18:01:08 +0300

RTAudio is just a front-end for several different audio playback libraries. It would allow people to use jack for playback and recording which is not the case for portaudio I think. Then again I maintained an audio app using RTAudio and people were complaining a lot about it.


On Tue, Apr 16, 2013 at 5:56 PM, Mike Miller <address@hidden> wrote:
On Mon, Apr 15, 2013 at 4:52 PM, Pantxo Diribarne wrote:
> Le 15/04/2013 17:17, Vytautas Jancauskas a écrit :
>
>> I see the current playaudio function merely calls paplay. I take it the
>> project would involve creating a C extension? I am thinking maybe a simple
>> http://www.music.mcgill.ca/~gary/rtaudio/ playback demonstration would be a
>> good thing to add to the proposal?
>
> To me, the project involves :
>
> choosing an open source, cross platform library that handles at least
> synchronous recording and playback.
> packaging the necessary functions into an octave class
> writing the ML compatible interfaces  to the audiorecorder, audioplayer
> classes and play/record ... methods.
>
> Among  the candidate libraries :
>
> rtaudio (native c++): (+) seams easy to learn (-) not much active.
> portaudio (c with c++ binding): (+) widely used and active, (-) c++ binding
> is not as well documented as native c.
> Qt's multimedia classes (native c++): (+) Qt, as octave's GUI, (-) not as
> low-level as above mentioned (but maybe enough)
>
> For packaging in an octave class there are examples in octave-forge (see
> e.g. serial_class in the instrument-control package). The resulting
> octave_audio class could then be used to write the interface to core
> audiorecorder and audioplayer classes.

I concur with everything Pantxo said: choose a cross-platform library,
implement a class-based framework in an Octave library in C++, and
expose it to the Octave interpreter with ML-compatible
functions/methods for both playback and recording.

I think this functionality is self-contained enough that it could
reasonably be done as a standalone Octave-Forge-style package, with
the intent of integrating it all into Octave core at the end of the
effort or at some point in the future.

I would rank portaudio first, wide community support and long track
record are big wins to consider. Rtaudio looks promising but  I just
don't see it having the same level of adoption. Qt doesn't seem like
the right fit to me, command-line people may want to build Octave and
have audio support but without a GUI.

--
mike



--
"Cheshire-Puss," she began, "would you tell me, please,
which way I ought to go from here?"
"That depends a good deal on where you want to get to," said the Cat.
"I don't care much where--" said Alice.
"Then it doesn't matter which way you go," said the Cat.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]