]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
USB-Audio: Add Audient EVO4
authorEdward Matijevic <motolav@gmail.com>
Mon, 30 Mar 2026 16:49:47 +0000 (11:49 -0500)
committerJaroslav Kysela <perex@perex.cz>
Wed, 1 Apr 2026 14:34:03 +0000 (16:34 +0200)
This is a 4in/4out device with 1 analog stereo out and 2 analog mono in.
The hardware mixed loopback interface takes up the remaining 4 channels.
Without this UCM the device is configured as 4.0 surround for in and out.
I copied the Windows config except for the stereo mic mix.

Modifying hardware volumes/gain other than main output seems to require
a driver or external software similar to the one found on github at the
repo github.com/vijay-prema/audient-evo-linux-tools

Closes: #303
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/708
Signed-off-by: Edward Matijevic <motolav@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/USB-Audio/Audient/Audient-EVO4-0006.conf [new file with mode: 0644]
ucm2/USB-Audio/Audient/Audient-EVO4-HiFi-0006.conf [new file with mode: 0644]
ucm2/USB-Audio/USB-Audio.conf

diff --git a/ucm2/USB-Audio/Audient/Audient-EVO4-0006.conf b/ucm2/USB-Audio/Audient/Audient-EVO4-0006.conf
new file mode 100644 (file)
index 0000000..e359766
--- /dev/null
@@ -0,0 +1,10 @@
+Comment "Audient EVO4"
+
+SectionUseCase."HiFi" {
+       Comment "Analog Stereo Output + Inputs"
+       File "/USB-Audio/Audient/Audient-EVO4-HiFi-0006.conf"
+}
+
+Include.dhw.File "/common/directm.conf"
+
+Macro.0.DirectUseCase { Id="Direct" PlaybackChannels=4 CaptureChannels=4 }
diff --git a/ucm2/USB-Audio/Audient/Audient-EVO4-HiFi-0006.conf b/ucm2/USB-Audio/Audient/Audient-EVO4-HiFi-0006.conf
new file mode 100644 (file)
index 0000000..296919c
--- /dev/null
@@ -0,0 +1,152 @@
+Include.pcm_split.File "/common/pcm/split.conf"
+
+Macro [
+       {
+               SplitPCM {
+                       Name "evo4_stereo_out"
+                       Direction Playback
+                       Channels 2
+                       HWChannels 4
+                       HWChannelPos0 FL # Main Output L
+                       HWChannelPos1 FR # Main Output R
+                       HWChannelPos2 FL # Loopback L
+                       HWChannelPos3 FR # Loopback R
+               }
+       }
+       {
+               SplitPCM {
+                       Name "evo4_mono_in"
+                       Direction Capture
+                       Channels 1
+                       HWChannels 4
+                       HWChannelPos0 MONO # Mic 1 / Line 1 / Instrument
+                       HWChannelPos1 MONO # Mic 2 / Line 2
+                       HWChannelPos2 MONO # Loopback L
+                       HWChannelPos3 MONO # Loopback R
+               }
+       }
+       {
+               SplitPCM {
+                       Name "evo4_stereo_in"
+                       Direction Capture
+                       Channels 2
+                       HWChannels 4
+                       HWChannelPos0 FL # Mic 1 / Line 1 / Instrument
+                       HWChannelPos1 FR # Mic 2 / Line 2
+                       HWChannelPos2 FL # Loopback L
+                       HWChannelPos3 FR # Loopback R
+               }
+       }
+]
+
+SectionDevice."Headphones" {
+       Comment "Headphone / Line Out"
+       Value {
+               PlaybackPriority 200
+               PlaybackVolume "EVO4 "
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "evo4_stereo_out"
+               Direction Playback
+               HWChannels 4
+               Channels 2
+               Channel0 0
+               Channel1 1
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line1" {
+       Comment "Loopback"
+       Value {
+               PlaybackPriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "evo4_stereo_out"
+               Direction Playback
+               HWChannels 4
+               Channels 2
+               Channel0 2
+               Channel1 3
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line2" {
+       Comment "Loopback"
+       Value {
+               PlaybackPriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "evo4_stereo_in"
+               Direction Capture
+               HWChannels 4
+               Channels 2
+               Channel0 2
+               Channel1 3
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line3" {
+       Comment "Loopback (L)"
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "evo4_mono_in"
+               Direction Capture
+               HWChannels 4
+               Channels 1
+               Channel0 2
+               ChannelPos0 MONO
+       }
+}
+
+SectionDevice."Line4" {
+       Comment "Loopback (R)"
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "evo4_mono_in"
+               Direction Capture
+               HWChannels 4
+               Channels 1
+               Channel0 3
+               ChannelPos0 MONO
+       }
+}
+
+SectionDevice."Mic1" {
+       Comment "Mic 1 / Line 1 / Instrument"
+       Value {
+               CapturePriority 200
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "evo4_mono_in"
+               Direction Capture
+               HWChannels 4
+               Channels 1
+               Channel0 0
+               ChannelPos0 MONO
+       }
+}
+
+SectionDevice."Mic2" {
+       Comment "Mic 2 / Line 2"
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "evo4_mono_in"
+               Direction Capture
+               HWChannels 4
+               Channels 1
+               Channel0 1
+               ChannelPos0 MONO
+       }
+}
index cdb1017af013cd223aa27d0e92698b7e72c7748b..ed5cce148da2db23f10ba62f66245da44ec5daab 100644 (file)
@@ -250,6 +250,7 @@ Macro.minifuse4.StringMatch         "Id='1c75:af70' Profile='Arturia/Minifuse-4'"
 Macro.minifuse12.RegexMatch            "Id='1c75:af[89]0' Profile='Arturia/Minifuse-12'"
 Macro.revelator.StringMatch            "Id='194f:0424' Profile='Presonus/Revelator-IO-44'"
 Macro.zedi10.StringMatch               "Id='22f0:0016' Profile='AllenAndHeath/Zedi10'"
+Macro.evo4-0006.StringMatch            "Id='2708:0006' Profile='Audient/Audient-EVO4-0006'"
 Macro.id4-0003.StringMatch             "Id='2708:0003' Profile='Audient/Audient-iD4-0003'"
 Macro.id4-0009.StringMatch             "Id='2708:0009' Profile='Audient/Audient-iD4-0009'"
 Macro.id14-0008.StringMatch            "Id='2708:0008' Profile='Audient/Audient-iD14-0008'"