Hi, I'm new here...
I bought a Beheringher UMC404HD and I want to use it in a Alsa-based
effects station. It's true the card is cheap, but the sound is really
really bad, in
playback is fill-up of randoms pops and glitces even at 41000/ 1024
frame, in capture I can hear only a small really distorted sound,
something is wrong...
Maybe the problem is that my card works in 24bits but the driver works
in S32_LE, here the result of lsusb -s 2:8 -v | grep BitResolution -B6:
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
--
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 2
bBitResolution 16
--
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
--
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
--
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 2
bBitResolution 16
--
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
even if I set my .asoundrc like this:
--- code ---
pcm.aloopPlayback {
type dmix
ipc_key 1
ipc_key_add_uid true
slave {
pcm "hw:Loopback,0,0"
format S24_3LE
rate {
@func igetenv
vars [ JACK_SAMPLE_RATE ]
default 44100
}
period_size {
@func igetenv
vars [ JACK_PERIOD_SIZE ]
default 1024
}
buffer_size 4096
}
}
# capture device
pcm.aloopCapture {
type dsnoop
ipc_key 2
ipc_key_add_uid true
slave {
pcm "hw:Loopback,0,1"
format S24_3LE
rate {
@func igetenv
vars [ JACK_SAMPLE_RATE ]
default 44100
}
period_size {
@func igetenv
vars [ JACK_PERIOD_SIZE ]
default 1024
}
buffer_size 4096
}
}
# duplex device
pcm.aloopDuplex {
type asym
playback.pcm "aloopPlayback"
capture.pcm "aloopCapture"
}
# ------------------------------------------------------
# default device
pcm.!default {
type plug
slave.pcm "aloopDuplex"
}
# ------------------------------------------------------
# alsa_in -j alsa_in -dcloop -q 1
pcm.cloop {
type dsnoop
ipc_key 3
ipc_key_add_uid true
slave {
pcm "hw:Loopback,1,0"
channels 2
format S24_3LE
rate {
@func igetenv
vars [ JACK_SAMPLE_RATE ]
default 44100
}
period_size {
@func igetenv
vars [ JACK_PERIOD_SIZE ]
default 1024
}
buffer_size 32768
}
}
# ------------------------------------------------------
# alsa_out -j alsa_out -dploop -q 1
pcm.ploop {
type plug
slave.pcm "hw:Loopback,1,1"
}
--code--
that's what i get from:
mitch@Latitude:~$ cat /proc/asound/card1/stream0
BEHRINGER UMC404HD 192k at usb-0000:00:1d.0-1.2, high speed : USB Audio
Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 144
Momentary freq = 44094 Hz (0x5.8300)
Feedback Format = 16.16
Interface 1
Altset 1
Format: S32_LE
Channels: 4
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Interface 1
Altset 2
Format: S16_LE
Channels: 4
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Capture:
Status: Running
Interface = 2
Altset = 1
Packet Size = 144
Momentary freq = 44100 Hz (0x5.8333)
Interface 2
Altset 1
Format: S32_LE
Channels: 4
Endpoint: 2 IN (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
how can I force Alsa driver to use the S24_3LE format?
Thanks
Mitch
Il giorno lun 25 giu 2018 alle ore 19:13 Michele Gallo
<[email protected]> ha scritto:
>
> Hi, I'm new here...
>
> I bought a Beheringher UMC404HD and I want to use it in a Alsa-based
> effects station.
> It's true the card is cheap, but the sound is really really bad, in
> playback is fill-up of randoms pops and glitces even at 41000/ 1024
> frame, in capture I can hear only a small really distorted sound,
> something is wrong...
>
> Maybe the problem is that my card works in 24bits but the driver works
> in S32_LE even if I set my .asoundrc like this:
>
> --- code ---
> pcm.aloopPlayback {
> type dmix
> ipc_key 1
> ipc_key_add_uid true
> slave {
> pcm "hw:Loopback,0,0"
> format S24_3LE
> rate {
> @func igetenv
> vars [ JACK_SAMPLE_RATE ]
> default 44100
> }
> period_size {
> @func igetenv
> vars [ JACK_PERIOD_SIZE ]
> default 1024
> }
> buffer_size 4096
> }
> }
>
> # capture device
> pcm.aloopCapture {
> type dsnoop
> ipc_key 2
> ipc_key_add_uid true
> slave {
> pcm "hw:Loopback,0,1"
> format S24_3LE
> rate {
> @func igetenv
> vars [ JACK_SAMPLE_RATE ]
> default 44100
> }
> period_size {
> @func igetenv
> vars [ JACK_PERIOD_SIZE ]
> default 1024
> }
> buffer_size 4096
> }
> }
>
> # duplex device
> pcm.aloopDuplex {
> type asym
> playback.pcm "aloopPlayback"
> capture.pcm "aloopCapture"
> }
>
> # ------------------------------------------------------
> # default device
> pcm.!default {
> type plug
> slave.pcm "aloopDuplex"
> }
>
> # ------------------------------------------------------
> # alsa_in -j alsa_in -dcloop -q 1
> pcm.cloop {
> type dsnoop
> ipc_key 3
> ipc_key_add_uid true
> slave {
> pcm "hw:Loopback,1,0"
> channels 2
> format S24_3LE
> rate {
> @func igetenv
> vars [ JACK_SAMPLE_RATE ]
> default 44100
> }
> period_size {
> @func igetenv
> vars [ JACK_PERIOD_SIZE ]
> default 1024
> }
> buffer_size 32768
> }
> }
>
> # ------------------------------------------------------
> # alsa_out -j alsa_out -dploop -q 1
> pcm.ploop {
> type plug
> slave.pcm "hw:Loopback,1,1"
> }
> --code--
>
> and that's what i get from:
>
> mitch@Latitude:~$ cat /proc/asound/card1/stream0
>
> BEHRINGER UMC404HD 192k at usb-0000:00:1d.0-1.2, high speed : USB Audio
>
> Playback:
> Status: Running
> Interface = 1
> Altset = 1
> Packet Size = 144
> Momentary freq = 44094 Hz (0x5.8300)
> Feedback Format = 16.16
> Interface 1
> Altset 1
> Format: S32_LE
> Channels: 4
> Endpoint: 1 OUT (ASYNC)
> Rates: 44100, 48000, 88200, 96000, 176400, 192000
> Data packet interval: 125 us
> Interface 1
> Altset 2
> Format: S16_LE
> Channels: 4
> Endpoint: 1 OUT (ASYNC)
> Rates: 44100, 48000, 88200, 96000, 176400, 192000
> Data packet interval: 125 us
>
> Capture:
> Status: Running
> Interface = 2
> Altset = 1
> Packet Size = 144
> Momentary freq = 44100 Hz (0x5.8333)
> Interface 2
> Altset 1
> Format: S32_LE
> Channels: 4
> Endpoint: 2 IN (ASYNC)
> Rates: 44100, 48000, 88200, 96000, 176400, 192000
> Data packet interval: 125 us
>
> how can I force Alsa driver to use the S24_3LE format?
>
> Thanks
>
> Mitch
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Alsa-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user