Using simultaneous output and multiple usb sound cards

On my Nvidia Jetson Tx2, I have two usb audio sound cards attached, i.e., each sound card has a microphone and a speaker, viz., Speaker 1, Microphone 1 & Speaker 2, Microphone 2

  • When using the sound cards both speakers and both microphones work fine individually.

  • I create Simultaneous Output sink using pulseaudio load-module module-combine-sink commands. Executes successfully

When I try to test the simultaneous output sink which speaker 1 and speaker 2 combined (default sink) and Microphone 1 (Default microphone) together using pavucontrol, Microphone 1 appears to be disabled and does not record anything. While microphone 2 (though not the default micrphone) is still atleast active and receives sound inputs.

Another Weird Case:
When continuously using Microphone 1 (Default microphone) and start sending an audio stream to simultaneous output sink (default sink) later, only Speaker 1 works.

So either the Speaker 2 is disabled or Microphone 1 is disabled.

Basically I need the two speakers and two microphones to function together.

I dont know what pulseaduio configuration I might have to change to work around to prevent this. Any ideas and help is appreciated.

Hello!

Apologies for the delay, but I wanted to test this on TX2. On my TX2 the soundcards I have are HDA/HDMI (alsa_output.platform-3510000.hda.hdmi-stereo-extra1) and Analog Output (alsa_output.platform-sound.analog-stereo). In my case the Analog Output soundcard has an RT5658 codec attached so I can verify the audio playback/capture. Given that I don’t have two microphones I have not been able to verify dual audio capture. However, I was able to verify that I can play audio simultaneously to both soundcards by doing the following …

$ pacmd load-module module-combine-sink sink_name=combined slaves=alsa_output.platform-3510000.hda.hdmi-stereo-extra1,alsa_output.platform-sound.analog-stereo

I was then able to verify I could see my new sink with …

$ pacmd list-sinks

And play a file using …

$ pacmd play-file <wavfile> combined

And I could checking the playback status with …

$ pacmd list-sink-inputs

The above works and I can hear audio from both soundcards at the same time. Can you try the above and see if the two speakers are working?

What soundcards are you using? How are the two USB soundcards connected to Jetson? For example, is there a USB hub in the path? Have you tried doing the same on the normal Linux PC?

Regards,
Jon

Hi jonathanh,
Sorry about the delay in replying, Thank you for your input. I had already used the above mentioned approach and commands. But the issue persists where It creates a combine sink, but one of the microphone is blocked off and stops working.

To answer your question,
I am using two USB Audio Sound cards, both sound cards are connected to the Jetson via a USB Hub. It did work fine on a normal Linux PC.

I am gonna try and connect it to the different usb ports on the Jetson and see if that’ll solve it.

But so far, as soon as I create a combine sink, only one of the microphones on the sound card is functional. I wonder if it has something to do with alsa.conf or alsa profile settings.

Thank you

Hello!

Can you let me know exactly which USB sound cards you are using?

Did it work fine on the PC with the same hub?

Regards,
Jon

Hi jonathanh,

I have the following usb sound card and speaker-microphone system

https://www.amazon.com/Sabrent-External-Adapter-Windows-AU-MMSA/dp/B00IRVQ0F8/ref=sr_1_4?keywords=usb+sound+cards&qid=1553102799&s=gateway&sr=8-4

https://www.amazon.com/Microphone-Speakers-CMTECK-ZM330-Speakerphone/dp/B07K46LDZM/ref=sr_1_fkmrnull_4?keywords=usb+conference+mic+cmteck&qid=1553102894&s=gateway&sr=8-4-fkmrnull

Yes it worked on the Pc with the same hub

Hello!

Sorry for the delay, but I needed to aquire some USB audio adapters. I have tested the following devices …

  • Startech USB Hub [0]
  • Ugreen USB audio adapter [1]
  • Logitech USB headset [2]

With the above I was able to create a combined audio sink with pacmd and then while playing an audio file (using aplay) to the combined sink verify that I could capture audio from each USB microphone input (using arecord).

How exactly do you verify that the microphone input? My USB adapters were on soundcards 2 and 3, and so I executed the following commands to capture the audio at the same time …

$ arecord -D hw:2,0 -c 1 -r 48000 -f S16_LE -d 30 cap1.wav & arecord -D hw:3,0 -c 1 -r 48000 -f S16_LE -d 30 cap2.wav

Regards,
Jon

[0] Portable 4 Port Mini USB 3.0 Hub - Black - USB 3.0 Hubs | United Kingdom
[1] https://www.amazon.co.uk/UGREEN-External-Headphone-Microphone-Raspberry/dp/B01N905VOY/ref=asc_df_B016CU2PEU/?tag=googshopuk-21&linkCode=df0&hvadid=310819177578&hvpos=1o1&hvnetw=g&hvrand=9065587400037966464&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1006567&hvtargid=pla-586659917997&th=1
[2] https://www.amazon.co.uk/Logitech-OEM-960-Stereo-Headset/dp/B0013N474I/ref=asc_df_B0013N474I/?tag=googshopuk-21&linkCode=df0&hvadid=310872946769&hvpos=1o1&hvnetw=g&hvrand=3600419494601228217&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1006567&hvtargid=pla-562663860693&psc=1&th=1&psc=1