Cm6206 Output

alex124.rh
Posts: 127
Joined: Thu Jul 31, 2025 9:18 am

Re: Cm6206 Output

Post by alex124.rh »

Can you please share this card with me and i will just use that for ease. Thanks. Couldn’t find any that work like that. Did you get music from all 4.1 ch without upmix on
hudiy
Site Admin
Posts: 517
Joined: Mon Jul 14, 2025 7:42 pm

Re: Cm6206 Output

Post by hudiy »

We bought this card in a local electronics store. When connected via USB, it appears as “C-Media Electronics, Inc. CM106 Like Sound Device.” It didn’t require any additional configuration other than switching the profile to 4.1.
card1.png
card1.png (390.64 KiB) Viewed 1633 times
If you want to enable upmixing manually in PipeWire, according to the documentation we shared earlier, you can use the parameters channelmix.upmix, channelmix.upmix-method, and channelmix.lfe-cutoff. You can set them, for example, in the $HOME/.config/pipewire/pipewire-pulse.conf.d/hudiy.conf file like:

Code: Select all

stream.properties = {
    #node.latency          = 1024/48000
    #node.autoconnect      = true
    #resample.quality      = 4
    #channelmix.normalize  = false
    #channelmix.mix-lfe    = true
    channelmix.upmix      = true
    channelmix.upmix-method = psd  # none, simple
    channelmix.lfe-cutoff = 150
    #channelmix.fc-cutoff  = 12000
    #channelmix.rear-delay = 12.0
    #channelmix.stereo-widen = 0.0
    #channelmix.hilbert-taps = 0
    #dither.noise = 0
}
docs: https://docs.pipewire.org/page_man_pipe ... ops_7.html
Hudiy Team
alex124.rh
Posts: 127
Joined: Thu Jul 31, 2025 9:18 am

Re: Cm6206 Output

Post by alex124.rh »

thanks, i was going to buy one like this anyway actually as the one i had is known for audio clipping.

It looks similar but different casing, so i will give it a go. Was yours unbranded?

https://amzn.eu/d/7DIApND
alex124.rh
Posts: 127
Joined: Thu Jul 31, 2025 9:18 am

Re: Cm6206 Output

Post by alex124.rh »

i bought one and 4.1 reports FL FR RL RR and FC on the channel map, can you let me know if you set yours to 4.1 and analog stereo mic or just 4.1. can you let me know your output of pactl list sinks please, so i can compare.

when you set it to 4.1 are you getting subwoofer settings in hudiy
alex124.rh
Posts: 127
Joined: Thu Jul 31, 2025 9:18 am

Re: Cm6206 Output

Post by alex124.rh »

Hoping for some help on this! It seems alsa drivers have the mapping wrong. Since its such a complicated fix mayne you can allow hudiy to support and recognise the 5.1 profile, so that the sub works and wont break the volume control. if it ignores the centre thats fine as long as it could accept 6ch, allowing these soundcards to work as they all have the same issues.

Please do see my previous message, I hope to see your output in terminal to see if your card is correct on 4.1
hudiy
Site Admin
Posts: 517
Joined: Mon Jul 14, 2025 7:42 pm

Re: Cm6206 Output

Post by hudiy »

Here is pactl list sinks for 4.1:

Code: Select all

Sink #102
	State: RUNNING
	Name: alsa_output.usb-0d8c_USB_Sound_Device-00.analog-surround-41
	Description: CM106 Like Sound Device Analog Surround 4.1
	Driver: PipeWire
	Sample Specification: s16le 5ch 48000Hz
	Channel Map: front-left,front-right,rear-left,rear-right,lfe
	Owner Module: 4294967295
	Mute: no
	Volume: front-left: 5243 /   8% / -65.81 dB,   front-right: 5243 /   8% / -65.81 dB,   rear-left: 5243 /   8% / -65.81 dB,   rear-right: 5243 /   8% / -65.81 dB,   lfe: 5243 /   8% / -65.81 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor Source: alsa_output.usb-0d8c_USB_Sound_Device-00.analog-surround-41.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
	Properties:
		alsa.card = "2"
		alsa.card_name = "ICUSBAUDIO7D"
		alsa.class = "generic"
		alsa.components = "USB0d8c:0102"
		alsa.device = "0"
		alsa.driver_name = "snd_usb_audio"
		alsa.id = "USB Audio"
		alsa.long_card_name = "ICUSBAUDIO7D at usb-xhci-hcd.0-2.3, full speed"
		alsa.mixer_name = "USB Mixer"
		alsa.name = "USB Audio"
		alsa.resolution_bits = "16"
		alsa.subclass = "generic-mix"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.sync.id = "00000000:00000000:00000000:00000000"
		api.alsa.card.longname = "ICUSBAUDIO7D at usb-xhci-hcd.0-2.3, full speed"
		api.alsa.card.name = "ICUSBAUDIO7D"
		api.alsa.path = "surround41:2"
		api.alsa.pcm.card = "2"
		api.alsa.pcm.stream = "playback"
		audio.channels = "5"
		audio.position = "FL,FR,RL,RR,LFE"
		card.profile.device = "7"
		device.api = "alsa"
		device.class = "sound"
		device.id = "91"
		device.profile.description = "Analog Surround 4.1"
		device.profile.name = "analog-surround-41"
		device.routes = "1"
		factory.name = "api.alsa.pcm.sink"
		media.class = "Audio/Sink"
		device.description = "CM106 Like Sound Device"
		node.name = "alsa_output.usb-0d8c_USB_Sound_Device-00.analog-surround-41"
		node.nick = "ICUSBAUDIO7D"
		node.pause-on-idle = "false"
		object.path = "alsa:acp:ICUSBAUDIO7D:7:playback"
		port.group = "playback"
		priority.driver = "1009"
		priority.session = "1009"
		factory.id = "19"
		clock.quantum-limit = "8192"
		client.id = "44"
		node.driver = "true"
		node.loop.name = "data-loop.0"
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "93"
		object.serial = "102"
		node.driver-id = "95"
		node.max-latency = "16384/48000"
		api.alsa.period-size = "128"
		api.alsa.period-num = "256"
		api.alsa.headroom = "128"
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "2"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio2"
		device.bus = "usb"
		device.bus-id = "usb-0d8c_USB_Sound_Device-00"
		device.bus_path = "platform-xhci-hcd.0-usb-0:2.3:1.0"
		device.enum.api = "udev"
		device.icon_name = "audio-card-analog-usb"
		device.name = "alsa_card.usb-0d8c_USB_Sound_Device-00"
		device.nick = "ICUSBAUDIO7D"
		device.plugged.usec = "1575371443"
		device.product.id = "0x0102"
		device.product.name = "CM106 Like Sound Device"
		device.serial = "0d8c_USB_Sound_Device"
		device.subsystem = "sound"
		sysfs.path = "/devices/platform/axi/1000120000.pcie/1f00200000.usb/xhci-hcd.0/usb1/1-2/1-2.3/1-2.3:1.0/sound/card2"
		device.vendor.id = "0x0d8c"
		device.vendor.name = "C-Media Electronics, Inc."
		device.string = "2"
	Ports:
		analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability unknown)
	Active Port: analog-output-speaker
	Formats:
		pcm
and for 5.1:

Code: Select all

Sink #135
	State: RUNNING
	Name: alsa_output.usb-0d8c_USB_Sound_Device-00.analog-surround-51
	Description: CM106 Like Sound Device Analog Surround 5.1
	Driver: PipeWire
	Sample Specification: s16le 6ch 48000Hz
	Channel Map: front-left,front-right,rear-left,rear-right,front-center,lfe
	Owner Module: 4294967295
	Mute: no
	Volume: front-left: 5243 /   8% / -65.81 dB,   front-right: 5243 /   8% / -65.81 dB,   rear-left: 5243 /   8% / -65.81 dB,   rear-right: 5243 /   8% / -65.81 dB,   front-center: 5243 /  8% / -65.81 dB,   lfe: 5243 /   8% / -65.81 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor Source: alsa_output.usb-0d8c_USB_Sound_Device-00.analog-surround-51.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
	Properties:
		alsa.card = "2"
		alsa.card_name = "ICUSBAUDIO7D"
		alsa.class = "generic"
		alsa.components = "USB0d8c:0102"
		alsa.device = "0"
		alsa.driver_name = "snd_usb_audio"
		alsa.id = "USB Audio"
		alsa.long_card_name = "ICUSBAUDIO7D at usb-xhci-hcd.0-2.3, full speed"
		alsa.mixer_name = "USB Mixer"
		alsa.name = "USB Audio"
		alsa.resolution_bits = "16"
		alsa.subclass = "generic-mix"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.sync.id = "00000000:00000000:00000000:00000000"
		api.alsa.card.longname = "ICUSBAUDIO7D at usb-xhci-hcd.0-2.3, full speed"
		api.alsa.card.name = "ICUSBAUDIO7D"
		api.alsa.path = "surround51:2"
		api.alsa.pcm.card = "2"
		api.alsa.pcm.stream = "playback"
		audio.channels = "6"
		audio.position = "FL,FR,RL,RR,FC,LFE"
		card.profile.device = "9"
		device.api = "alsa"
		device.class = "sound"
		device.id = "91"
		device.profile.description = "Analog Surround 5.1"
		device.profile.name = "analog-surround-51"
		device.routes = "1"
		factory.name = "api.alsa.pcm.sink"
		media.class = "Audio/Sink"
		device.description = "CM106 Like Sound Device"
		node.name = "alsa_output.usb-0d8c_USB_Sound_Device-00.analog-surround-51"
		node.nick = "ICUSBAUDIO7D"
		node.pause-on-idle = "false"
		object.path = "alsa:acp:ICUSBAUDIO7D:9:playback"
		port.group = "playback"
		priority.driver = "1009"
		priority.session = "1009"
		factory.id = "19"
		clock.quantum-limit = "8192"
		client.id = "44"
		node.driver = "true"
		node.loop.name = "data-loop.0"
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "95"
		object.serial = "135"
		node.driver-id = "108"
		node.max-latency = "16384/48000"
		api.alsa.period-size = "128"
		api.alsa.period-num = "256"
		api.alsa.headroom = "128"
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "2"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio2"
		device.bus = "usb"
		device.bus-id = "usb-0d8c_USB_Sound_Device-00"
		device.bus_path = "platform-xhci-hcd.0-usb-0:2.3:1.0"
		device.enum.api = "udev"
		device.icon_name = "audio-card-analog-usb"
		device.name = "alsa_card.usb-0d8c_USB_Sound_Device-00"
		device.nick = "ICUSBAUDIO7D"
		device.plugged.usec = "1575371443"
		device.product.id = "0x0102"
		device.product.name = "CM106 Like Sound Device"
		device.serial = "0d8c_USB_Sound_Device"
		device.subsystem = "sound"
		sysfs.path = "/devices/platform/axi/1000120000.pcie/1f00200000.usb/xhci-hcd.0/usb1/1-2/1-2.3/1-2.3:1.0/sound/card2"
		device.vendor.id = "0x0d8c"
		device.vendor.name = "C-Media Electronics, Inc."
		device.string = "2"
	Ports:
		analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability unknown)
	Active Port: analog-output-speaker
	Formats:
		pcm
Hudiy Team
hudiy
Site Admin
Posts: 517
Joined: Mon Jul 14, 2025 7:42 pm

Re: Cm6206 Output

Post by hudiy »

We can add setting the volume for front-center, but that would be more of a workaround. The better approach would be to create an issue on the PipeWire GitLab (https://gitlab.freedesktop.org/pipewire ... /-/issues/) and investigate why your sound card’s channel mapping is broken and how it can be remapped or fixed.
Hudiy Team
alex124.rh
Posts: 127
Joined: Thu Jul 31, 2025 9:18 am

Re: Cm6206 Output

Post by alex124.rh »

Thanks for the info. I will compare to mines.
If you could add it that would be great, as I dont think I will get any other solution as easily as that. It’s not just my soundcard, it’s every one I tried from amazon that was available.

Let me know if you can add that fix to the upcoming release? Is there a date for planned update.
hudiy
Site Admin
Posts: 517
Joined: Mon Jul 14, 2025 7:42 pm

Re: Cm6206 Output

Post by hudiy »

Try this config to remap the channels from 5.1 to 4.1 and please confirm if balance/fade works with your sound card.

1. Switch profile of your sound card to 5.1

2. Replace content of $HOME/.config/pipewire/pipewire-pulse.conf.d/hudiy.conf with:

Code: Select all

pulse.cmd = [
  { cmd = "load-module" args = "module-remap-sink sink_name=surround51_to_41 master=alsa_output.usb-0d8c_USB_Sound_Device-00.analog-surround-51 channels=5 master_channel_map=front-left,front-right,rear-left,rear-right,lfe channel_map=front-left,front-right,rear-left,rear-right,lfe remix=yes" }
  { cmd = "load-module" args = "module-ladspa-sink sink_name=hudiy_equalizer_sink master=surround51_to_41 channels=2 channel_map=front-left,front-right plugin=hudiy_equalizer label=hudiy_equalizer control=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0" }
  { cmd = "load-module" args = "module-echo-cancel aec_method=webrtc aec_args=\"voice_detection=0\" source_name=echo_cancel_source sink_master=hudiy_equalizer_sink" }
]

stream.properties = {
    channelmix.upmix      = true
    channelmix.upmix-method = simple
    channelmix.lfe-cutoff = 150
    channelmix.fc-cutoff  = 12000
    channelmix.rear-delay = 0.0
}
adjust master name if needed.

3. Set volumeSinkName to "surround51_to_41" in main_configuration.json (https://github.com/wiboma/hudiy/blob/ma ... n.md#sound)

4. Add & (run in background) at the end of line with hudiy_run.sh in /etc/xdg/labwc/autostart to not block wireplumber and avoid race condition with PipeWire clients like Hudiy during the remap:

Code: Select all

$HOME/.hudiy/share/hudiy_run.sh &
5. Restart the Raspberry Pi

PipeWire should handle the routing like:

clients (like Hudiy) -> hudiy_equalizer_sink -> surround51_to_41 (upmix if needed to 5.1 done by PipeWire) -> sound card (with front-center cut-off).
Hudiy Team
alex124.rh
Posts: 127
Joined: Thu Jul 31, 2025 9:18 am

Re: Cm6206 Output

Post by alex124.rh »

Hi there, I did as instructed and managed to get it to like the volume sink, it’s no longer broken, however now i have 0 audio output at all.

Let me know how to proceed. Thanks again for the help
Post Reply