help-octave
[Top][All Lists]
Advanced

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

Re: What is best way? Octave/ASIO or .EXE/ASIO-octave module


From: Paul Kienzle
Subject: Re: What is best way? Octave/ASIO or .EXE/ASIO-octave module
Date: Tue, 22 Mar 2005 23:31:39 -0500


On Mar 15, 2005, at 12:52 PM, Macy wrote:

Which is the better structure for exercising ASIO sound
board?

Option 1
Octave script file running compiled ASIO C++ module.

Option 2
.EXE program containing compiled octave script.

I prefer option 1.  How do I do it?

     - Robert -
PS  running octave 2.1.50a-inst.exe binary installed in
Windows XP.

Hmmm... Octave as a real-time effects processor.

The problem with asynchronous I/O is that Octave needs to
give up control in order to process the next block of audio
data when it is ready.  Given that octave is not thread-safe,
you would have to do this by hooking into the OCTAVE_QUIT
macro defined in octave/libcruft/misc/quit.h.  While we are
using OCTAVE_QUIT in many loops it is by no means universal,
so you will have no real-time guarantee for when Octave would
process the next block (never mind the lack of any guarantee
from the underlying OS).

If you really want to write your effects as octave scripts,
and your processor is fast enough to do so, you would be
better off using synchronous audio calls.

If on the other hand you just want to record audio then I
would suggest using a separate application with some way
to communicate the output to octave.  I used pipes on unix
with octave-forge/main/audio/aucapture.cc.  I don't know
what people are using on Windows.

- Paul



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

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