Welcome,
Guest
|
NOTE: This is a "Community" forum. Please be mindful that community members are here to help as part of a community effort. We therefore appreciate your effort in keeping this forum a happy place!
If you have a specific issue (e.g. hardware, failure) and want help from our support team, please use our tech support portal (Support menu - > Contact Us).
Thanks a lot of your help in making a better community.
|
|
TOPIC:
multi-channel recording (linux) 8 years 7 months ago #14632
|
I am hoping that there's an ALSA guru out there who can help me with this.
I am running Red Hat Enterprise Linux 7, with a USBStreamer device, with the ADAT firmware installed. I wish to use an 8-channel DAC to record to audio, as separate channels, via separate software instances. If the USBStreamer has 8 channels of input, then this should be possible. However, when I connect the USBStreamer, and use "arecord -l" to list the ALSA devices, I see the USBStreamer "card", and that has one device, one subdevice. So as Card2, it's alsa ID works out to hw:2,0. I somewhat expected ALSA to give me 8 addressable device channels, but that was not the case. When I set up my "prototype" (before I got the 8-channel DAC and USBStreamer), I was using several discrete USB Audio interfaces. Each one had their own separate ALSA interface (hw:1,0, hw:2,0), so I was able to give these device ID's to ALSA, and record separately. I suspect that I need to use an .arecord config file for ALSA, but there aren't any examples for input or recording, only examples for surround, or 5.1 plugins. Does anybody have any idea how I can make this work in this fashion? |
Please Log in or Create an account to join the conversation. |
multi-channel recording (linux) 8 years 7 months ago #14644
|
Hi Prestemon,
there are a couple of hints for splitting multi-channel sound cards into separate virtual devices via .asoundrc / asound.conf at the Alsa Wiki . Most of those are related to output though, not input, and I am not sure how much of that applies to input channels. Check out the dsnoop examples - that plugin is the same for inputs as dmix is for outputs. Be aware that these will both be set to a fixed sample rate at all times. I guess for best flexibility and quality you will have to hook up JACK to all channels of the single device, and route the channels to JACK-aware applications on the fly as you see fit. The JACK plugin in ALSA can be used to hook up JACK-agnostic yet ALSA-aware applications to the JACK daemon as well. HTH, Chris
The following user(s) said Thank You: Prestemon
|
Please Log in or Create an account to join the conversation. |
multi-channel recording (linux) 8 years 7 months ago #14661
|
Thank you for your response.
I will go into more detail: My hardware setup is a Behringer ADA8000; it's an 8-channel microphone DAC. It has independent knobs for each of the 8 mic jacks, an an LED that indicates the level, and any clipping. For output, it has ADAT optical in and out. It can accept an external clock (via BNC or ADAT), or it can be the master clock. The USBStreamer is connected to the ADAT, and to my computer(s). via USB. I have the ADAT firmware loaded. As a baseline test, I have tried connecting to Windows, Mac OS X, Red Hat 6.5 Linux, Red Hat 7 Linux, and Ubunut 14.04. As far as Operating Systems are concerned, Red Hat 6.5 will not work. Either the 2.6.32 kernel or ALSA 1.0.22 is too old, to properly enumerate the mixers to USB Audio Class 2, adequately. Red Hat 7 does seem to recognize the device. (lists it in "arecord -l"). Red Hat 6.5 reports the error mentioned by "Crumboo" in this diyaudio forum post ( www.diyaudio.com/forums/minidsp/214068-u...dio-interface-3.html ), and that's addressed by using a kernel 3.4 or later (Red Hat 7 or Ubuntu 14.04). For some reason, though the driver is loaded, when I try to record from the ADAT in Windows 7 x64 using Audacity, it is limited to 2 channels. I can set it to Mono or Stereo, and if I put signal on channel 1, it comes out as Left on Audacity, and channel 2 is Right, as I'd expect. Except that Audacity doesn't see the other 6 channels. This was a good example for me to calibrate my signal and confirm that it's loud enough, and that the Behringer ADA8000 *does*, in fact, pass signal through the USBStreamer, and the USBStreamer *does* pass it through to USB. At least the first two channels. (I am looking for other recorder software on Windows to try). When I attach it to Mac OS X, I can see all 8 channels in the mixer, and Audacity allows me to select 1-through-8 channels. But I cant see (or record) any signal coming through on any channel. No matter which channel I connect to, there is no sound at all. The level indicator in Audacity, when I enable the monitor, never responds. When I attach to Red Hat 7, it is basically the same as OS X - only it is very flaky to select the input device. Some times, the "USBStreamer ADAT" just does not appear on the list of Input Devices in the Sound control panel. (but it is consistently in the list for "cat /proc/asound/cards" as well as "arecord -l"). When it does appear in the list, it only gives me a single slider for level control, and never shows any sound when a signal is coming in on any of the 8 channels. I have not successfully loaded audacity in Red Hat 7 - because it requires to be build from source, and there are many dependencies. On Ubuntu 14.04, I set up the /etc/asound.conf file as per the example in the dsnoop page on the alsa wiki. ( alsa.opensrc.org/Dsnoop ) - and I used "rec_0" through "rec_7" as my channel names. With the example alsa recorder command: arecord -d 3 -f S32_LE -c 1 -Dplug:rec_0 0.wav This created a file of 44 bytes, with apparently no content, regardless of whether I had a signal applied to that channel. Also, even though I set "-d 3" to record a stream of 3 seconds duration, the arecord program would not exit and return control to the console. Not sure why that happened. (ultimately, I need to use SoX to do my recording). In the Sound control panel in Ubuntu, I'm experiencing pretty much the same issue, where the level monitor registers nothing, even when signal is applied to any of the 8 channels. Recording in Audacity, on Ubuntu does, also see 8 channels, like on Mac OS X. But also, like Mac OS X - none of the 8 channels record or show sound when signal is applied. I also tried setting in into mono and stereo (two channel) mode, and putting signal down channels 1 and 2, and they didn't work. (this is independent of the asound.conf). I also tried using JACK, (qjackctl) but when I set up a patchbay, and add a list of "readable clients/output ports" - the USBStreamer ADAT never shows up in the list to choose from. The pick-list is "14:Midi Through" (and I don't need midi support at all), and "16:Ensoniq AudioPCI" which is the built-in sound-card for this computer - and I'm not using that. Jack doesn't even see the 8-channel dsnoop stuff. (Audacity does.) I think that the basic issue boils down to not being able to read a signal from the USBStreamer device on anything but Windows. It's as if the OS X and Linux/ALSA USB Audio Class 2 can't read the signal, but the Windows driver can. |
Please Log in or Create an account to join the conversation. |
multi-channel recording (linux) 8 years 7 months ago #14662
|
Hi Prestemon,
afraid I cannot be of any further help since I don't have the hardware and hence won't be able to build a config against it. Curious that Windows at least gives you valid stereo input, whereas the unixoid systems give you zilch. Well, AFAIK ALSA mutes all channels by default, though I would presume you checked the mixer settings for stuff like that. Sorry, I'm at my wit's end here - at least until I get around to ordering a couple of items from miniDSP and hooking up something to the input lines of the USBStreamer, which will certainly be among them. |
Please Log in or Create an account to join the conversation.
Last edit: by ctrefzer.
|
multi-channel recording (linux) 8 years 7 months ago #14663
|
As far as ALSA default-muting goes,
In Ubuntu, for example, I can use "alsamixer", select the card with F6, then Capture with F4, then I am confronted with a confusing array of sliders: "<USBStrea> Front", Rear, Center, Woofer, Side, then "USBStrea", then another "USBStrea Front", a rear, then using the arrow key, the interface scolls-on to Center, Woofer, Side, and last, "<USBStrea>. All volumes are set to 100<>100. I can use the arrow key to select a channel, and Q, E, Z, C to raise and lower the sliders: some of these sliders is a R/L pair, and each can be raised-lowered independently. For a total of 24 channels. So ALSA seems to be very confused here. (1.0.27, by the way). So, the mixer as listed by ALSA here goes like this: (this is the CAPTURE screen only) Item: Name: Channels: USBStreamer ADAT Clock Selector Capture Vol <USBStrea> Front R/L USBStreamer ADAT Clock Selector Capture Vol USBStrea Rear R/L USBStreamer ADAT Clock Selector Capture Vol USBStrea Center one channel USBStreamer ADAT Clock Selector Capture Vol USBStrea Woofer one channel USBStreamer ADAT Clock Selector Capture Vol USBStrea Side R/L USBStreamer ADAT Clock Selector Capture Vol 1 USBStrea one channel USBStreamer ADAT Clock Selector Playback Vo USBStrea Front R/L USBStreamer ADAT Clock Selector Playback Vo USBStrea Rear R/L USBStreamer ADAT Clock Selector Playback Vo USBStrea Center one channel USBStreamer ADAT Clock Selector Playback Vo USBStrea Woover one channel USBStreamer ADAT Clock Selector Playback Vo USBStrea Side R/L USBStreamer ADAT Clock Selector Playback Vo 1 USBStrea one channel (I think that the "Vo 1" items are probably "Master" sliders ... but I don't understand why Playback channels are being displayed on the Capture screen.) There is a F3: Playback screen, an F4: Capture screen, and an F5: All screen. The ALL screen is even weirder. It has a set of "USBStreamer ADAT Clock Selector Capture Swi" items, with a number in a box (set to "00" and there doesn't seem to be a way to change these, short of toggling between "MM" and "00"; so I take it to mean that this is the Mute switch, and 00 means unmuted) So while it's confusing to determine exactly what ALSA is seeing via alsamixer, I think it's pretty clear the inputs are not muted. As for Audacity on Windows; apparently 2-channel recording on Windows is a limitation, and I either need to build a new Audacity with ASIO support, or find another recording tool with ASIO support to get more than two channels. (like Harris Mixbus). I also tried to set up Ardour on Ubuntu (from ubuntustudio-audio), but it could not receive audio from the configured inputs either. I may have to go looking for something like an MAudio delta 1010LT, but these don't seem to be available anymore. We don't want to go with a PCI-card solution if we can help it, because we don't have room inside our machines for additional PCI cards. |
Please Log in or Create an account to join the conversation. |
multi-channel recording (linux) 8 years 7 months ago #14664
|
Apparently there is some sort of default mapping of 8 channels to a 7.1 setup going on, interestingly for both playback and capture. The muting part in alsamixer you got right, except I wonder what it does on a "capture switch" - I've seen toggles or selection items for some soundcards in alsamixer, like routing some channels to SPDIF instead of analog out, but those are not handled via the muting toggle. This really depends on how the device enumerates on the USB bus, what type of features it exposes to the driver - since I did not write the firmware I am lost here
![]() Actually, I'll have to get into all that USB audio stuff since I will try and build a digitally controlled analog volume control. I somehow got it into my thick skull that there will be a means to control the whole thing from the same RasPi which will serve music via MPD and I won't tolerate the ReplayGain adjustments being done in software anymore, hence the need for a couple USB audio volume controls... Apart from the fact that this will be the final stage after a miniDSP always running at full blast, this does not belong here. Then again, as a first step in developing and debugging my to-be-written firmware, I installed a tool called "usbview" which shows a tree of all the devices on the bus. When I select my USB DAC, which is an ODAC as of diyaudio / Objective Design, I get pretty detailled output: UAC1 DAC
Manufacturer: Binary Audio
Speed: 12Mb/s (full)
USB Version: 1.10
Device Class: 00(>ifc )
Device Subclass: 00
Device Protocol: 00
Maximum Default Endpoint Size: 8
Number of Configurations: 1
Vendor Id: 1852
Product Id: 7022
Revision Number: 0.01
Config Number: 1
Number of Interfaces: 4
Attributes: 80
MaxPower Needed: 500mA
Interface Number: 0
Name: usbhid
Alternate Number: 0
Class: 03(HID )
Sub Class: 00
Protocol: 00
Number of Endpoints: 1
Endpoint Address: 81
Direction: in
Attribute: 3
Type: Int.
Max Packet Size: 18
Interval: 32ms
Interface Number: 1
Name: snd-usb-audio
Alternate Number: 0
Class: 01(audio)
Sub Class: 01
Protocol: 00
Number of Endpoints: 0
Interface Number: 2
Name: snd-usb-audio
Alternate Number: 0
Class: 01(audio)
Sub Class: 02
Protocol: 00
Number of Endpoints: 0
Interface Number: 2
Name: snd-usb-audio
Alternate Number: 1
Class: 01(audio)
Sub Class: 02
Protocol: 00
Number of Endpoints: 1
Endpoint Address: 82
Direction: in
Attribute: 9
Type: Isoc
Max Packet Size: 388
Interval: 1ms
Interface Number: 2
Name: snd-usb-audio
Alternate Number: 2
Class: 01(audio)
Sub Class: 02
Protocol: 00
Number of Endpoints: 1
Endpoint Address: 82
Direction: in
Attribute: 9
Type: Isoc
Max Packet Size: 582
Interval: 1ms
Interface Number: 3
Name: snd-usb-audio
Alternate Number: 0
Class: 01(audio)
Sub Class: 02
Protocol: 00
Number of Endpoints: 0
Interface Number: 3
Name: snd-usb-audio
Alternate Number: 1
Class: 01(audio)
Sub Class: 02
Protocol: 00
Number of Endpoints: 1
Endpoint Address: 03
Direction: out
Attribute: 9
Type: Isoc
Max Packet Size: 388
Interval: 1ms
Interface Number: 3
Name: snd-usb-audio
Alternate Number: 2
Class: 01(audio)
Sub Class: 02
Protocol: 00
Number of Endpoints: 1
Endpoint Address: 03
Direction: out
Attribute: 9
Type: Isoc
Max Packet Size: 582
Interval: 1ms You can basically select all there is by clicking into the pane and hitting ctrl+a, ctrl+c. Maybe just paste it all into a code block here so I can take a look ![]() A couple more wild guesses: IIRC said toggles or selections were handled with the up/down arrow keys in alsamixer, just like volume adjustments. You might try those on the capture switch and such. Also try unmuting all the other channels, including those you suspect to be sort of a master volume control. Also maybe try some of the graphical alsa mixer frontends such as gnome-alsamixer, they might display the controls in a more intuitive fashion I hope. When it comes to Windows I am not so familiar with circumventing all the "usability" fuzz in order to get some decent quality audio processing. Searching for "audacity windows asio" yields this page on the Audacity wiki and a couple threads on their forum, but I guess you've been there. Short of building audacity with ASIO on Windows I would not know in which direction to point you at this time. AFAICS it would be best if devteam would chime in, maybe they can help sort out the alsa mixer crazyness. |
Please Log in or Create an account to join the conversation.
Last edit: by ctrefzer.
|
multi-channel recording (linux) 8 years 7 months ago #14713
|
I wanted to follow-up with the solution I found (much trial and error!):
1. Platform is Fedora 20; though we will target Red Hat 7. This is due to the issue I mentioned upthread regarding USB Audio Class 2 driver support in kernels prior to 3.4. Bottom line is; if you're on an earlier version of linux, the USBStreamer device is not going to show up in "arecord -l". 2. I connected the USBStreamer to Windows, installed the driver, and upgraded the firmware to the ADAT firmware. 3. For the Behringer ADA 8000, I have the clock set to slave ADAT IN, using the USBStreamer's clock. (I have not had any problems with it, but clock sync is irrelevant to our application). 4. I use "alsamixer" to un-mute the capture channels of the USBStreamer ADAT device. 5. When I tried to record with SoX, a single SoX process could not individually record one (of 8) channels, without locking the whole device - (it would output all 8 inputs to one file). When I recorded from the USBStreamer using Audacity, it would allow me to select 1 through 8 channels, though only incrementally (not individually). This does not work on Windows (but should, if Audacity is recompiled with ASIO support). Audacity helped me to confirm that I could read signal from the USBStreamer, and from all 8 channels. This was important, because I had no other way to tell if either of my audio hardware components was even working (and I had levels set properly). 6. To solve the problem, I used ffmpeg to read the stream off the alsa device, and ffmpeg's "channel_map" feature to send each of the 8 channels to a udp stream, on 8 different port addresses. ffmpeg does not care whether a channel is labelled F, R, L, Sub, or whatever. It's just channels 0-7. 7. To receive the individual channel data, I set up 8 separate ffmpeg processes to play each udp stream, and pipeline it to SoX, using SoX's silence : newfile : restart effects. SoX edits out silence, and writes signal to a file, encoded to ogg. When the signal stops, SoX closes that file, and restarts, creating a new file, and waits for a new signal. With the streamer process, listeners, and encoders all running for 8 channels, we used about 16% of the CPU, (Intel i7 950 @ 3.07 GHz x 8 cores) with about 30% being the max. This is without assigning processes to different cores, or using ffmpeg's opencl support. |
Please Log in or Create an account to join the conversation. |
multi-channel recording (linux) 8 years 5 months ago #15222
|
Hi Prestemon - and thanks for sharing your experience with getting the USBStreamer working on Linux.
I am myself struggling to get it running as USB->I2S converter on a Beaglebone Black running Volumio - for output only (not recording) and was hoping that you (or someone else) could share some ideas on how to get it work. After connecting it to the BBB, it is recognized alright. Aplay -l gives the following: [email protected]:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Black [TI BeagleBone Black], device 0: HDMI nxp-hdmi-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: USBStreamer [USBStreamer], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0 I was expecting a number of subdevices matching the number of output channels. Also, in alsamixer only one slider is present, which indicates that it is not recognized as a multichannel device. Unfortunately I'm completely new to linux, and searching the web for "linux" and "USBStreamer" hasn't been fruitful. Any help would be most appreciated. Best regards, Mattias |
Please Log in or Create an account to join the conversation. |
multi-channel recording (linux) 8 years 5 months ago #15245
|
Hi
we have the USBstreamer working here fine with linux (debian testing) using jack. We can attach any jack-aware application (e.g. ardour) to any in/out channel. We didn't change the firmware or anything to make it work. The only issue we have is that there is no signal under certain circumstances. It seems the alsa driver has some issues resulting in that any attempt to change mixer settings in the alsamixer seems to mute the device. If that happens we use an alsactl file which unmutes the device and don't touch the mixer at all (as we don't need it anyway). Attached is the alsactl file we use. Just issue the comand "alsactl -f <filename> restore" and you should be set. If you're not very experienced with jack or qjackctl, just let me know. The ffmpeg method seems quite complicated and unnecessary... |
Please Log in or Create an account to join the conversation. |
Re:multi-channel recording (linux) 8 years 5 months ago #15276
|
Thanks alot anon, I'll check this out! I have no experience with jack so far, but I'll look into it.
Best regards, Mattias |
Please Log in or Create an account to join the conversation. |
Re:multi-channel recording (linux) 8 years 2 months ago #16385
|
I wanted to come back with some further experiences to clarify some confusion in my earlier posts:
1. We have found that we were able to connect the USBStreamer device to Red Hat 6.5; but not with the default kernel of 2.6.x. If we update the kernel (we tried 3.16.x from elrepo), we got past the error that happens when the USB driver is scanning the bus and enumerating the devices audio controls. That's really the big issue, as far as overall linux-compatibility goes. Earlier kernels may support USB Class 2 Audio devices, but there's a bug in the kernel module that prevents the USBStreamer from being properly enumerated, and the error isn't handled very well, so what you'll get is the USBStreamer will appear in your "lsusb" output, but it won't appear in "arecord -l". (and it doesn't seem to have anything to do with the version of ALSA installed.) - use "uname -r" to display the kernel version you're running. If it's not at least at 3.4, you will need to update your kernel, or try a distro that has a more up-to-date kernel. (see distrowatch.com) - 2. In our current configuration, we're not touching "amixer" at all; and we're not having any trouble with channels being muted. It seemed like this was a factor in earlier configurations we tested, but I can't really say what the cause was. We had tried installing various audio packages, so I can't vouch for the sanity of the software configuration at the time we were having trouble with amixer and channel muting. 3. In testing, a lot of the unexplainable issues we were hitting seemed to have to do with the pulseaudio server crashing or becoming unresponsive, which sort of messed up the entire audio subsystem of the machine. Symptoms would include: no signal, or the USBStreamer ADAT device would not appear in the Sound control panel as an Input Device. What SEEMED to be the fix for this, was to add our user-account to the "audio" group. (sudo usermod -aG audio <username>). This gives the user permissions to access the device tree at /dev/snd. (which, I guess, depends on which flavor of Linux you are running). The sound control panel (in RHEL 6.x) is part of pulseaudio, not ALSA. So even though our application wasn't using pulseaudio, we would still get flaky behavior because pulseaudio is involved in configuring audio devices, and setting the system default devices. 4. As far as splitting the input stream from the USBStreamer to separate audio channels goes: - ffmpeg has command-line support for that. (SoX does - but it does not really work very well for streams with more than 2 channels). We weren't able to use ffmpeg due to the licensing issues for the mpeg components. (which we weren't even using). We wrote a python-gstreamer app to pipeline the 8 inputs using gstreamer's "deinterleave" function (which is available on gstreamer's command-line). We were using only the open plugins, so; no licensing problems. Encoding to .ogg. That worked well. |
Please Log in or Create an account to join the conversation. |
Re:multi-channel recording (linux) 8 years 2 months ago #16404
|
@ Prestemon,
Wow, your Linux USBStreamer streamer is by far the most complete of this forum! Thanks again so much for sharing all your findings with the community. It's clear from your technical info that quite a fair amount of testing/investigation went through to make this happen. Very neat that you're able to remember all the steps. ![]() I'll sticky this thread. Very neat! PS: Overall conclusion, is your setup all good by now? ![]() miniDSP, building a DSP community one board at a time.
|
Please Log in or Create an account to join the conversation. |
multi-channel recording (linux) 7 years 2 months ago #22021
|
Hi,
I already opened a thread and got a hint that I may find here some good hints. I purchased an U-DAC8. I want to run it with an Odroid XU4. The devices are listed, but I get no sound. As the U-DAC8 is built upon the USBStreamer it is OS-wise the same device. I hope an look forward that someone gives me a hint of what might be wrong. I aim at running a stereo 4 way x-over and therefore need 8 channels. I am going to create the filters using rePhase. I already did that creating FIR Filters for the miniSharc and it works well. The convolution shall be done by brutefir that already showed to work properly on the XU4 with quite a number of Taps. The only thing missing is to get the U-DAC/USBStreamer to work. The device shows up in lsusb. Also in aplay -l resp. -L. arecord shows it too. Whenever i try to stream audio to the device it fails. I simply show what I am doind and hopefully someone can give me a hint of what might be wrong. best, Alex |
Please Log in or Create an account to join the conversation. |
multi-channel recording (linux) 7 years 2 months ago #22024
|
some system information as follows:
[email protected]:~# uname -r
3.10.82-39 the kernel version is > 3.4 [email protected]:~# lsusb -s 3:5 -v
Bus 003 Device 005: ID 2752:0016
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x2752
idProduct 0x0016
bcdDevice 5.30
iManufacturer 1 miniDSP
iProduct 2 USBStreamer
iSerial 3 00001
bNumConfigurations 2
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 441
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 3
bFunctionClass 1 Audio
bFunctionSubClass 0
bFunctionProtocol 32
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 32
iInterface 2 USBStreamer
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 2.00
bCategory 8
wTotalLength 273
bmControl 0x00
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 41
bmAttributes 0x03 Internal programmable Clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 9 USBStreamer Internal Clock
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 42
bmAttributes 0x00 External Clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 10 USBStreamer TOSLINK Clock
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 11 (CLOCK_SELECTOR)
bUnitID 40
bNrInPins 2
baCSourceID( 0) 41
baCSourceID( 1) 42
bmControls 0x03
Clock Selector Control (read/write)
iClockSelector 8 USBStreamer Clock Selector
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bCSourceID 40
bNrChannels 10
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 15 I2S 0 Output L
iTerminal 6 USBStreamer Output
AudioControl Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
Warning: Descriptor too short
bUnitID 51
wExtensionCode 0
bNrPins 1
baSourceID( 0) 2
bNrChannels 10
wChannelConfig 0
iChannelNames 3 00001
bmControls 0x00
iExtension 50 I2S 8 Input R
AudioControl Interface Descriptor:
bLength 50
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 10
bSourceID 51
bmaControls( 0) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 1) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 2) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 3) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 4) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 5) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 6) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 7) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 8) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 9) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls(10) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
iFeature 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 20
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 10
bCSourceID 40
bmControls 0x0000
iTerminal 0
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0201 Microphone
bAssocTerminal 0
bCSourceID 40
bNrChannels 10
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 33 I2S 0 Input L
iTerminal 0
AudioControl Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
Warning: Descriptor too short
bUnitID 52
wExtensionCode 0
bNrPins 1
baSourceID( 0) 1
bNrChannels 10
wChannelConfig 0
iChannelNames 3 00001
bmControls 0x00
iExtension 50 I2S 8 Input R
AudioControl Interface Descriptor:
bLength 50
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 11
bSourceID 52
bmaControls( 0) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 1) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 2) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 3) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 4) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 5) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 6) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 7) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 8) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 9) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls(10) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
iFeature 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 22
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 11
bCSourceID 40
bmControls 0x0000
iTerminal 7 USBStreamer Input
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
Warning: Descriptor too short
bUnitID 50
wExtensionCode 0
bNrPins 2
baSourceID( 0) 2
baSourceID( 1) 1
bNrChannels 18
wChannelConfig 0
iChannelNames 3 00001
bmControls 0x00
iExtension 32 I2S 8 Output R
AudioControl Interface Descriptor:
bLength 32
bDescriptorType 36
bDescriptorSubtype 4 (MIXER_UNIT)
bUnitID 60
bNrPins 1
baSourceID( 0) 50
bNrChannels 8
bmChannelConfig 0x00000000
iChannelNames 49 I2S 8 Input L
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
bmControls 00
iMixer 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0006 1x 6 bytes
bInterval 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4 USBStreamer Audio Out
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4 USBStreamer Audio Out
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 10
bmChannelConfig 0x00000000
iChannelNames 15 I2S 0 Output L
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 8
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 5 USBStreamer Audio In
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 5 USBStreamer Audio In
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 22
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 10
bmChannelConfig 0x00000000
iChannelNames 33 I2S 0 Input L
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254 Application Specific Interface
bInterfaceSubClass 1 Device Firmware Update
bInterfaceProtocol 1
iInterface 12 USBStreamer DFU
Device Firmware Upgrade Interface Descriptor:
bLength 9
bDescriptorType 33
bmAttributes 7
Will Not Detach
Manifestation Tolerant
Upload Supported
Download Supported
wDetachTimeout 250 milliseconds
wTransferSize 64 bytes
bcdDFUVersion 1.10
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 441
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 3
bFunctionClass 1 Audio
bFunctionSubClass 0
bFunctionProtocol 32
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 32
iInterface 2 USBStreamer
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 2.00
bCategory 8
wTotalLength 273
bmControl 0x00
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 41
bmAttributes 0x03 Internal programmable Clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 9 USBStreamer Internal Clock
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 42
bmAttributes 0x00 External Clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 10 USBStreamer TOSLINK Clock
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 11 (CLOCK_SELECTOR)
bUnitID 40
bNrInPins 2
baCSourceID( 0) 41
baCSourceID( 1) 42
bmControls 0x03
Clock Selector Control (read/write)
iClockSelector 8 USBStreamer Clock Selector
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bCSourceID 40
bNrChannels 10
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 15 I2S 0 Output L
iTerminal 6 USBStreamer Output
AudioControl Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
Warning: Descriptor too short
bUnitID 51
wExtensionCode 0
bNrPins 1
baSourceID( 0) 2
bNrChannels 10
wChannelConfig 0
iChannelNames 3 00001
bmControls 0x00
iExtension 50 I2S 8 Input R
AudioControl Interface Descriptor:
bLength 50
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 10
bSourceID 51
bmaControls( 0) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 1) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 2) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 3) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 4) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 5) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 6) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 7) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 8) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 9) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls(10) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
iFeature 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 20
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 10
bCSourceID 40
bmControls 0x0000
iTerminal 0
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0201 Microphone
bAssocTerminal 0
bCSourceID 40
bNrChannels 10
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 33 I2S 0 Input L
iTerminal 0
AudioControl Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
Warning: Descriptor too short
bUnitID 52
wExtensionCode 0
bNrPins 1
baSourceID( 0) 1
bNrChannels 10
wChannelConfig 0
iChannelNames 3 00001
bmControls 0x00
iExtension 50 I2S 8 Input R
AudioControl Interface Descriptor:
bLength 50
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 11
bSourceID 52
bmaControls( 0) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 1) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 2) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 3) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 4) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 5) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 6) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 7) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 8) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls( 9) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls(10) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
iFeature 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 22
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 11
bCSourceID 40
bmControls 0x0000
iTerminal 7 USBStreamer Input
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
Warning: Descriptor too short
bUnitID 50
wExtensionCode 0
bNrPins 2
baSourceID( 0) 2
baSourceID( 1) 1
bNrChannels 18
wChannelConfig 0
iChannelNames 3 00001
bmControls 0x00
iExtension 32 I2S 8 Output R
AudioControl Interface Descriptor:
bLength 32
bDescriptorType 36
bDescriptorSubtype 4 (MIXER_UNIT)
bUnitID 60
bNrPins 1
baSourceID( 0) 50
bNrChannels 8
bmChannelConfig 0x00000000
iChannelNames 49 I2S 8 Input L
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
bmControls 00
iMixer 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0006 1x 6 bytes
bInterval 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4 USBStreamer Audio Out
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4 USBStreamer Audio Out
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 10
bmChannelConfig 0x00000000
iChannelNames 15 I2S 0 Output L
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 8
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 5 USBStreamer Audio In
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 5 USBStreamer Audio In
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 22
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 10
bmChannelConfig 0x00000000
iChannelNames 33 I2S 0 Input L
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254 Application Specific Interface
bInterfaceSubClass 1 Device Firmware Update
bInterfaceProtocol 1
iInterface 12 USBStreamer DFU
Device Firmware Upgrade Interface Descriptor:
bLength 9
bDescriptorType 33
bmAttributes 7
Will Not Detach
Manifestation Tolerant
Upload Supported
Download Supported
wDetachTimeout 250 milliseconds
wTransferSize 64 bytes
bcdDFUVersion 1.10
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered) the usb device is listed. [email protected]:~# amixer -D hw:USBStreamer contents
numid=5,iface=MIXER,name='USBStreamer Clock Selector'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'USBStreamer Internal Clock'
; Item #1 'USBStreamer TOSLINK Clock'
: values=0
numid=6,iface=MIXER,name='USBStreamer Clock Selector Capture Switch'
; type=BOOLEAN,access=rw------,values=10
: values=on,on,on,on,on,on,on,on,on,on
numid=7,iface=MIXER,name='USBStreamer Clock Selector Capture Switch',index=1
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=8,iface=MIXER,name='USBStreamer Clock Selector Capture Volume'
; type=INTEGER,access=rw---R--,values=10,min=0,max=255,step=0
: values=255,255,255,255,255,255,255,255,255,255
| dBminmax-min=-127.50dB,max=0.00dB
numid=9,iface=MIXER,name='USBStreamer Clock Selector Capture Volume',index=1
; type=INTEGER,access=rw---R--,values=1,min=0,max=255,step=0
: values=255
| dBminmax-min=-127.50dB,max=0.00dB
numid=1,iface=MIXER,name='USBStreamer Clock Selector Playback Switch'
; type=BOOLEAN,access=rw------,values=10
: values=off,off,off,off,off,off,off,off,off,off
numid=2,iface=MIXER,name='USBStreamer Clock Selector Playback Switch',index=1
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=3,iface=MIXER,name='USBStreamer Clock Selector Playback Volume'
; type=INTEGER,access=rw---R--,values=10,min=0,max=255,step=0
: values=255,255,255,255,255,255,255,255,255,255
| dBminmax-min=-127.50dB,max=0.00dB
numid=4,iface=MIXER,name='USBStreamer Clock Selector Playback Volume',index=1
; type=INTEGER,access=rw---R--,values=1,min=0,max=255,step=0
: values=255
| dBminmax-min=-127.50dB,max=0.00dB somewhat ten 'units' are listed. I need to check what these mean, but it is somewhat an expected number as there are totally ten input and ten output channels (2x toslink and 8 I2S) [email protected]:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: odroidaudio [odroid-audio], device 0: i2s0-pri dummy-aif1-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: odroidaudio [odroid-audio], device 1: i2s-sec dummy-aif2-1 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: USBStreamer [USBStreamer], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
[email protected]:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: odroidaudio [odroid-audio], device 0: i2s0-pri dummy-aif1-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: odroidaudio [odroid-audio], device 1: i2s-sec dummy-aif2-1 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: USBStreamer [USBStreamer], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
[email protected]:~# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
dmixer
DMixer for hw:0,0
default
plugdmixer
plugequal
Equalizer for DMixer
equal
sysdefault:CARD=odroidaudio
odroid-audio,
Default Audio Device
dmix:CARD=odroidaudio,DEV=0
odroid-audio,
Direct sample mixing device
dmix:CARD=odroidaudio,DEV=1
odroid-audio,
Direct sample mixing device
dsnoop:CARD=odroidaudio,DEV=0
odroid-audio,
Direct sample snooping device
dsnoop:CARD=odroidaudio,DEV=1
odroid-audio,
Direct sample snooping device
hw:CARD=odroidaudio,DEV=0
odroid-audio,
Direct hardware device without any conversions
hw:CARD=odroidaudio,DEV=1
odroid-audio,
Direct hardware device without any conversions
plughw:CARD=odroidaudio,DEV=0
odroid-audio,
Hardware device with all software conversions
plughw:CARD=odroidaudio,DEV=1
odroid-audio,
Hardware device with all software conversions
sysdefault:CARD=USBStreamer
USBStreamer, USB Audio
Default Audio Device
front:CARD=USBStreamer,DEV=0
USBStreamer, USB Audio
Front speakers
surround21:CARD=USBStreamer,DEV=0
USBStreamer, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=USBStreamer,DEV=0
USBStreamer, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=USBStreamer,DEV=0
USBStreamer, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=USBStreamer,DEV=0
USBStreamer, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=USBStreamer,DEV=0
USBStreamer, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=USBStreamer,DEV=0
USBStreamer, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=USBStreamer,DEV=0
USBStreamer, USB Audio
IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=USBStreamer,DEV=0
USBStreamer, USB Audio
Direct sample mixing device
dsnoop:CARD=USBStreamer,DEV=0
USBStreamer, USB Audio
Direct sample snooping device
hw:CARD=USBStreamer,DEV=0
USBStreamer, USB Audio
Direct hardware device without any conversions
plughw:CARD=USBStreamer,DEV=0
USBStreamer, USB Audio
Hardware device with all software conversions when trying to stream audio to the device, as I did it succesfully with my other USB SPDIF Interface it fails: Is it recognized correctly despite the fact that aplay -l just shows one subdevice? Is there something special about streaming audio to the device? Does someone has a working sox, mg123, mplayer or aplay example, so that I can verify what is going wrong here? |
Please Log in or Create an account to join the conversation.
Last edit: by kalexm.
|
multi-channel recording (linux) 6 years 11 months ago #23500
|
Hi, thanks a lot for reporting your experiences to this forum. I'm trying to do almost exactly what you're doing - ie use the USBStreamer as an 8-channel simultaneous recorder, via an ADA8000 (and a DDX3216) to files which I can then copy to an editor machine. Only difference is I'm using a Raspberry Pi as the host.
Again, the USBStreamer is recognised and the device is present as a sound card. However I'm having issues getting arecord working. If you have an updated recipe, now that some time has passed since your last post, I would very much value a "step-by-step" setup!! I'm familiar with Linux, but not the sound system (I'm used to headless servers and c programming - not workstation stuff ![]() thanks again Doug |
Please Log in or Create an account to join the conversation. |
|
|