bugGNU Octave - Bugs: bug #55530, audiorecorder default settings...


bug #55530: audiorecorder default settings incorrect

Submitted by:  Lars Kindermann <larskindermann>
Submitted on:  Sun 20 Jan 2019 10:33:21 PM UTC  
Category:  Interpreter Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Documentation
Status:  Patch Submitted Assigned to:  None
Originator Name:  Open/Closed:  Open
Release:  dev Operating System:  Any

Add a New Comment (Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


Tue 09 Apr 2019 06:29:48 PM UTC, comment #3: 

Yes, I would like to review and get these changes into Octave 6. I don't have a lot of time at the moment but I expect I'll be able to get to it in late April or May.

Not having looked at the patch yet, yes, I would like to see one patch that fixes the portaudio error with 8-bit samples (bug #44305), and another patch that changes the defaults for compatibility (this bug). I'm not sure if the FIXME comments are related to one or the other.

If the fix for 8-bit samples seems safe it might be suitable for the stable branch for version 5.2.

Mike Miller <mtmiller>
Project Administrator
Tue 09 Apr 2019 06:02:20 PM UTC, comment #2: 

Shouldn't this patch be applied as soon as possible in 6.0 development to find possible problems?

Or do you think I should better break the patch into three pieces:

- Workaround for the 8-Bit portaudio bug

- Changing the default audiorecorder settings according to matlab

- FIXME comments

Lars Kindermann <larskindermann>
Sun 20 Jan 2019 10:49:26 PM UTC, comment #1: 

I attached a patch for audiodevinfo.cc that fixes bug #44305 by providing a workaround for an 8-bit bug in portaudio:


If 8 bits are requested, portaudio is now called with 16bit instead and the results are rescaled before returning to Octave.

audiorecorder default settings are changed to 8000 Hz, 8 Bit, 1 channel, according to the documentation and for Matlab compatibility.

Additionally I marked unused callbacks and code with FIXME comments, as the code of audiodevinfo.cc is actually not really in a final state yet.

(file #46051)

Lars Kindermann <larskindermann>
Sun 20 Jan 2019 10:33:21 PM UTC, original submission:  

The help for audiorecorder states 8 bit mono audio at 8000 Hz sample rate as default.
This is also the Matlab default.

>> help audiorecorder
'audiorecorder' is a function from the file /usr/local/share/octave/5.0.1/m/audio/@audiorecorder/audiorecorder.m

-- RECORDER = audiorecorder ()
-- RECORDER = audiorecorder (FS, NBITS, CHANNELS)
-- RECORDER = audiorecorder (FS, NBITS, CHANNELS, ID)
     Create an audiorecorder object recording 8 bit mono audio at 8000 Hz sample rate.

But current audirecorder initializes to 16 bit stereo at 44100 Hz.

> recorder=audiorecorder

recorder =

audiorecorder object with properties:

  BitsPerSample =  16
  CurrentSample = 0
  DeviceID = -1
  NumberOfChannels =  2
  Running = off
  SampleRate =  44100
  TotalSamples = 0
  Tag =
  Type = audiorecorder


Perhaps this was chosen due to
bug #44305: audiorecorder (8000, 8, 1) returns corrupted audio stream

Lars Kindermann <larskindermann>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Attached Files
file #46051:  audiodevinfo.cset added by larskindermann (7KiB - application/octet-stream)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by larskindermann (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.




    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-02-26 mtmiller StatusNone => Patch Submitted
        Release5.0.1 => dev
    2019-01-20 larskindermann Attached File- => Added audiodevinfo.cset, #46051

    Back to the top

    Powered by Savane 3.5