Csound Csound-dev Csound-tekno Search About

[Csnd-dev] Question about JACK input/output devices

Date2016-08-22 00:39
FromSteven Yi
Subject[Csnd-dev] Question about JACK input/output devices
Hi All,

I got a question about JACK device detection on the Blue mailing list
and it lead me to wonder if Csound is doing the correct thing for Jack
devices in rtjack.c.  The following is the user's "jack_lsp -t -p"
output:

system:capture_1
    properties: output,physical,terminal,
    32 bit float mono audio
system:capture_2
    properties: output,physical,terminal,
    32 bit float mono audio
system:playback_1
    properties: input,physical,terminal,
    32 bit float mono audio
system:playback_2
    properties: input,physical,terminal,
    32 bit float mono audio
system:midi_capture_1
    properties: output,physical,terminal,
    8 bit raw midi
system:midi_playback_1
    properties: input,physical,terminal,
    8 bit raw midi
PulseAudio JACK Sink:front-left
    properties: output,terminal,
    32 bit float mono audio
PulseAudio JACK Sink:front-right
    properties: output,terminal,
    32 bit float mono audio
PulseAudio JACK Source:front-left
    properties: input,terminal,
    32 bit float mono audio
PulseAudio JACK Source:front-right
    properties: input,terminal,
    32 bit float mono audio

and this is the list of devices shown by "csound -+rtaudio=jack --devices":

virtual_keyboard real time MIDI plugin for Csound
0dBFS level = 32768.0
Csound version 6.07 (double samples) May  6 2016
libsndfile-1.0.25
rtaudio: JACK module enabled
rtmidi: ALSA Raw MIDI module enabled
3 audio input devices
 0: adc:system:capture_ (system:capture_)
 1: adc:PulseAudio JACK Sink:front-left (PulseAudio JACK Sink:front-left)
 2: adc:PulseAudio JACK Sink:front-right (PulseAudio JACK Sink:front-right)
3 audio output devices
 0: dac:system:playback_ (system:playback_)
 1: dac:PulseAudio JACK Source:front-left (PulseAudio JACK Source:front-left)
 2: dac:PulseAudio JACK Source:front-right (PulseAudio JACK Source:front-right)
csound->FileOpen2 failed:: No such file or directory
csound->FileOpen2 failed:: No such file or directory
WARNING: could not open library
'/usr/local/lib/csound/plugins-6.0/libstkops.so' (libstk.so.0: cannot
open shared object file: No such file or directory)
end of score.           overall amps:      0.0
       overall samples out of range:        0
0 errors in performance
Elapsed time at end of performance: real: 0.366s, CPU: 0.118s

The issue here is the "PulseAudio JACK Source:front-right" and
front-left ports.  It does not use numbers in its name, which caused a
parsing issue in Blue as I had assumed that would be the case.  In
Csound, it shows as two separate devices, rather than a single device
with 2 channels.

Am I misunderstanding something, or is there an issue with Csound's rtjack.c?

Thanks!

Date2016-08-22 00:49
Fromjlucas
SubjectRe: [Csnd-dev] Question about JACK input/output devices
AttachmentsNone  

Date2016-08-22 14:01
FromSteven Yi
SubjectRe: [Csnd-dev] Question about JACK input/output devices
Hi jlucas,

This sounds like a problem then with Csound's Jack driver.  If it's
not too much trouble, could you run "jack_lsp -t -p" and post the the
results here for the system that has the Firewire interface?

Thanks!
steven

On Sun, Aug 21, 2016 at 7:49 PM, jlucas  wrote:
> If I remember correctly there is an assumption in Csound's JACK code
> about device names ending with numbers.
>
> I ran into the same issue with a Firewire audio interface which meant
> I couldn't use the device without editing Csound's source code.
>
> -J
>
> On 21/08/16 19:39 -0400, Steven Yi wrote:
>> Hi All,
>>
>> I got a question about JACK device detection on the Blue mailing list
>> and it lead me to wonder if Csound is doing the correct thing for Jack
>> devices in rtjack.c.  The following is the user's "jack_lsp -t -p"
>> output:
>>
>> system:capture_1
>>     properties: output,physical,terminal,
>>     32 bit float mono audio
>> system:capture_2
>>     properties: output,physical,terminal,
>>     32 bit float mono audio
>> system:playback_1
>>     properties: input,physical,terminal,
>>     32 bit float mono audio
>> system:playback_2
>>     properties: input,physical,terminal,
>>     32 bit float mono audio
>> system:midi_capture_1
>>     properties: output,physical,terminal,
>>     8 bit raw midi
>> system:midi_playback_1
>>     properties: input,physical,terminal,
>>     8 bit raw midi
>> PulseAudio JACK Sink:front-left
>>     properties: output,terminal,
>>     32 bit float mono audio
>> PulseAudio JACK Sink:front-right
>>     properties: output,terminal,
>>     32 bit float mono audio
>> PulseAudio JACK Source:front-left
>>     properties: input,terminal,
>>     32 bit float mono audio
>> PulseAudio JACK Source:front-right
>>     properties: input,terminal,
>>     32 bit float mono audio
>>
>> and this is the list of devices shown by "csound -+rtaudio=jack --devices":
>>
>> virtual_keyboard real time MIDI plugin for Csound
>> 0dBFS level = 32768.0
>> Csound version 6.07 (double samples) May  6 2016
>> libsndfile-1.0.25
>> rtaudio: JACK module enabled
>> rtmidi: ALSA Raw MIDI module enabled
>> 3 audio input devices
>>  0: adc:system:capture_ (system:capture_)
>>  1: adc:PulseAudio JACK Sink:front-left (PulseAudio JACK Sink:front-left)
>>  2: adc:PulseAudio JACK Sink:front-right (PulseAudio JACK Sink:front-right)
>> 3 audio output devices
>>  0: dac:system:playback_ (system:playback_)
>>  1: dac:PulseAudio JACK Source:front-left (PulseAudio JACK Source:front-left)
>>  2: dac:PulseAudio JACK Source:front-right (PulseAudio JACK Source:front-right)
>> csound->FileOpen2 failed:: No such file or directory
>> csound->FileOpen2 failed:: No such file or directory
>> WARNING: could not open library
>> '/usr/local/lib/csound/plugins-6.0/libstkops.so' (libstk.so.0: cannot
>> open shared object file: No such file or directory)
>> end of score.           overall amps:      0.0
>>        overall samples out of range:        0
>> 0 errors in performance
>> Elapsed time at end of performance: real: 0.366s, CPU: 0.118s
>>
>> The issue here is the "PulseAudio JACK Source:front-right" and
>> front-left ports.  It does not use numbers in its name, which caused a
>> parsing issue in Blue as I had assumed that would be the case.  In
>> Csound, it shows as two separate devices, rather than a single device
>> with 2 channels.
>>
>> Am I misunderstanding something, or is there an issue with Csound's rtjack.c?
>>
>> Thanks!

Date2016-08-27 21:44
FromSteven Yi
SubjectRe: [Csnd-dev] Question about JACK input/output devices
Following up, I wanted to make sure we addressed this issue so I have
taken the information from this email thread and filed and issue for
6.08:

https://github.com/csound/csound/issues/692

We can continue to diagnose and work through this issue there.

On Mon, Aug 22, 2016 at 9:01 AM, Steven Yi  wrote:
> Hi jlucas,
>
> This sounds like a problem then with Csound's Jack driver.  If it's
> not too much trouble, could you run "jack_lsp -t -p" and post the the
> results here for the system that has the Firewire interface?
>
> Thanks!
> steven
>
> On Sun, Aug 21, 2016 at 7:49 PM, jlucas  wrote:
>> If I remember correctly there is an assumption in Csound's JACK code
>> about device names ending with numbers.
>>
>> I ran into the same issue with a Firewire audio interface which meant
>> I couldn't use the device without editing Csound's source code.
>>
>> -J
>>
>> On 21/08/16 19:39 -0400, Steven Yi wrote:
>>> Hi All,
>>>
>>> I got a question about JACK device detection on the Blue mailing list
>>> and it lead me to wonder if Csound is doing the correct thing for Jack
>>> devices in rtjack.c.  The following is the user's "jack_lsp -t -p"
>>> output:
>>>
>>> system:capture_1
>>>     properties: output,physical,terminal,
>>>     32 bit float mono audio
>>> system:capture_2
>>>     properties: output,physical,terminal,
>>>     32 bit float mono audio
>>> system:playback_1
>>>     properties: input,physical,terminal,
>>>     32 bit float mono audio
>>> system:playback_2
>>>     properties: input,physical,terminal,
>>>     32 bit float mono audio
>>> system:midi_capture_1
>>>     properties: output,physical,terminal,
>>>     8 bit raw midi
>>> system:midi_playback_1
>>>     properties: input,physical,terminal,
>>>     8 bit raw midi
>>> PulseAudio JACK Sink:front-left
>>>     properties: output,terminal,
>>>     32 bit float mono audio
>>> PulseAudio JACK Sink:front-right
>>>     properties: output,terminal,
>>>     32 bit float mono audio
>>> PulseAudio JACK Source:front-left
>>>     properties: input,terminal,
>>>     32 bit float mono audio
>>> PulseAudio JACK Source:front-right
>>>     properties: input,terminal,
>>>     32 bit float mono audio
>>>
>>> and this is the list of devices shown by "csound -+rtaudio=jack --devices":
>>>
>>> virtual_keyboard real time MIDI plugin for Csound
>>> 0dBFS level = 32768.0
>>> Csound version 6.07 (double samples) May  6 2016
>>> libsndfile-1.0.25
>>> rtaudio: JACK module enabled
>>> rtmidi: ALSA Raw MIDI module enabled
>>> 3 audio input devices
>>>  0: adc:system:capture_ (system:capture_)
>>>  1: adc:PulseAudio JACK Sink:front-left (PulseAudio JACK Sink:front-left)
>>>  2: adc:PulseAudio JACK Sink:front-right (PulseAudio JACK Sink:front-right)
>>> 3 audio output devices
>>>  0: dac:system:playback_ (system:playback_)
>>>  1: dac:PulseAudio JACK Source:front-left (PulseAudio JACK Source:front-left)
>>>  2: dac:PulseAudio JACK Source:front-right (PulseAudio JACK Source:front-right)
>>> csound->FileOpen2 failed:: No such file or directory
>>> csound->FileOpen2 failed:: No such file or directory
>>> WARNING: could not open library
>>> '/usr/local/lib/csound/plugins-6.0/libstkops.so' (libstk.so.0: cannot
>>> open shared object file: No such file or directory)
>>> end of score.           overall amps:      0.0
>>>        overall samples out of range:        0
>>> 0 errors in performance
>>> Elapsed time at end of performance: real: 0.366s, CPU: 0.118s
>>>
>>> The issue here is the "PulseAudio JACK Source:front-right" and
>>> front-left ports.  It does not use numbers in its name, which caused a
>>> parsing issue in Blue as I had assumed that would be the case.  In
>>> Csound, it shows as two separate devices, rather than a single device
>>> with 2 channels.
>>>
>>> Am I misunderstanding something, or is there an issue with Csound's rtjack.c?
>>>
>>> Thanks!