Microphone input error

Hi all,

I’m trying to run the third example (“06B03_RecPlayToTable.csd”) from the “Record and Play Buffers” page of the FLOSS manual. I’ve saved the CSD file to my computer and am trying to run it via the command line. I’m on macOS 10.15.6, and I’m using the built in microphone for sound input.

I’m getting the following error message when I try to run it.

PortAudio V19-devel (built Feb 12 2010 09:42:54)
   0: adc0 (MacBook Pro Microphone [Core Audio])
   1: adc1 (iShowU Audio Capture [Core Audio])
   2: adc2 (ZoomAudioD [Core Audio])
PortAudio: selected input device 'MacBook Pro Microphone'
   0: dac0 (MacBook Pro Speakers [Core Audio])
   1: dac1 (iShowU Audio Capture [Core Audio])
   2: dac2 (ZoomAudioD [Core Audio])
   3: dac3 (OBS Streaming [Core Audio])
PortAudio: selected output device 'MacBook Pro Speakers'
 *** PortAudio: error: -9998: Invalid number of channels
closing device
Failed to initialise real time audio output

I tried adding nchnls_i = 1, but I still get the same error. Can anyone give me some pointers here?


strange, yes — i would have thought that nchnls_i=1 fixes it.
you could try another real time audio module:

  1. portaudio callback instead of blocking, or vice versa.

  2. coreaudio (auhal)

  3. the best option on osx in my experience is jack. just install
    jackosx from jackaudio.org, start jack, and the use jack as real time
    audio module in csound. then you can even use nchnls=8 with a stereo
    sound card …


Have you tried setting core audio as the rtaudio device? I I think it’s


It might just be core, I don’t recall.

Thanks Joachim and Rory. Well this is embarrassing. I had tried core audio before I posted this question, but I spelled it -+rtaudio=CoreAudio and it didn’t work. But when I use -+rtaudio=coreaudio it works just fine. I should know better because I’ve used -+rtaudio=coreaudio in other projects. :man_facepalming:

Ah well, at least it’s working now. Thanks for your help. And I’ll give jack a try, too. Have been meaning to look into that for a while.


I once spent two days stepping through Csound’s source code, line by line, with the GDB debugger trying to figure out the same thing :roll_eyes:

Ha, thanks for commiserating!