Author Topic: Trying to understand unimix.exe  (Read 922 times)

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 502
  • -Receive: 100
  • Posts: 2741
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Trying to understand unimix.exe
« on: June 15, 2020, 12:54:40 am »
Hi

I'm doing some test of ArcaOS 5.0.5 on the Asus_B150_PRO_Gaming/Aura mainboard.

With the included Uniaud driver, sound works, but I have no volume control. It is set to an specific level and I can not raise it or lower it with the include volume control or "System Master Audio Volume ". PMUnimix just crash on startup.
Also the front jack headphones works (at the same time of the back jack), but it is too loud for the headset.

I have the following unimix.exe report:

Unimix -card
Code: [Select]
Command line mixer for UNIAUD32. Version 1.1
Detected UNIAUD version 2.02.06
Detected 2 audio adapter(s)
Error: invalid number of PCM instances for adapter 1
Card info for adapter 0:
  num: 0
  id: Intel
  driver: HDA-Intel
  name: HDA Intel
  longname: HDA Intel at 0xf7340000 irq 54
  mixer: Realtek ID 900
  componenets: HDA:10ec0900,104386ae,00100001

Unimix -list
Code: [Select]
Command line mixer for UNIAUD32. Version 1.1
Detected UNIAUD version 2.02.06
Detected 2 audio adapter(s)
Error: invalid number of PCM instances for adapter 1
Control list for adapter 0

Control ID: 1
Interface: virtual mixer device
Device(client): -290255588, subdevice (substream) 0
Name: [Capture Switch]
Index: 0
Element type: boolean type
Count of values: 2
Value:
 Bounds: min: 0, max: 1, step: 0
  value 0: 1
  value 1: 1

Control ID: 2
Interface: virtual mixer device
Device(client): -290255588, subdevice (substream) 0
Name: [Capture Volume]
Index: 0
Element type: integer type
Count of values: 2
Value:
 Bounds: min: 0, max: 63, step: 0
  value 0: 40
  value 1: 40

Control ID: 3
Interface: virtual mixer device
Device(client): 3, subdevice (substream) 0
Name: [Master Playback Volume]
Index: -289220791
Element type: integer type
Count of values: 2
Value:
 Bounds: min: 0, max: 87, step: 0
  value 0: 87
  value 1: 87
unimix -pcms
Code: [Select]
Command line mixer for UNIAUD32. Version 1.1
Detected UNIAUD version 2.02.06
Detected 2 audio adapter(s)
Error: invalid number of PCM instances for adapter 1
PCM Instance Info for adapter 0
PCM No 0 info:
PCM dev name: [HDA Generic] mixer [subdevice #0]
 PLAY
  streams: 1
  channels: from 2 to 2
  rates: from 44100 to 192000
 RECORD
  streams: 1
  channels: from 2 to 2
  rates: from 44100 to 192000
unimix -names
Code: [Select]
Command line mixer for UNIAUD32. Version 1.1
Detected UNIAUD version 2.02.06
Detected 2 audio adapter(s)
Error: invalid number of PCM instances for adapter 1
Control list for adapter 0
ID: 1, name: [Capture Switch]
ID: 2, name: [Capture Volume]
ID: 3, name: [Master Playback Volume]

Any tip on how to control the volume on the Intel audio device? I guess it is dev0. Are the "id" or "Control ID" the different outputs (jacks or HDMI) of the audio adapter?

Regards
« Last Edit: June 15, 2020, 01:01:11 am by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Remy

  • Sr. Member
  • ****
  • Thank You
  • -Given: 1
  • -Receive: 15
  • Posts: 337
    • View Profile
Re: Trying to understand unimix.exe
« Reply #1 on: June 15, 2020, 01:17:25 am »
How is uniaudio driver loaded  ?  (I could read 2 adapters !)
- try
DEVICE=C:\MMOS2\UNIAUD32.SYS /A:1

Tom

  • Newbie
  • *
  • Thank You
  • -Given: 1
  • -Receive: 6
  • Posts: 43
    • View Profile
Re: Trying to understand unimix.exe
« Reply #2 on: June 15, 2020, 02:02:16 am »
Hi

I'm doing some test of ArcaOS 5.0.5 on the Asus_B150_PRO_Gaming/Aura mainboard.

I have the following unimix.exe report:

Unimix -list
Code: [Select]
Control ID: 3
Interface: virtual mixer device
Device(client): 3, subdevice (substream) 0
Name: [Master Playback Volume]
Index: -289220791
Element type: integer type
Count of values: 2
Value:
 Bounds: min: 0, max: 87, step: 0
  value 0: 87
  value 1: 87

Any tip on how to control the volume on the Intel audio device? I guess it is dev0. Are the "id" or "Control ID" the different outputs (jacks or HDMI) of the audio adapter?

Regards

Create a file named (for example) volumecontrol.cmd with contents

unimix -id3 -cnt0 -val%1 -cnt1 -val%1

and call it with (for example)

volumecontrol 44

Possibly you may also need to follow Remy's suggestion to use the switch /A:1 in your config.sys.

Pete

  • Hero Member
  • *****
  • Thank You
  • -Given: 1
  • -Receive: 45
  • Posts: 1016
    • View Profile
Re: Trying to understand unimix.exe
« Reply #3 on: June 15, 2020, 03:17:36 am »
Hi Martin

Try Pauls later versions of uniaud to see if more controls become available - these show more controls on my system http://smedley.id.au/tmp/uniaud32-linux-3.5.zip

Other builds are available within this discussion https://www.os2world.com/forum/index.php/topic,2436.0.html


Regards

Pete

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 502
  • -Receive: 100
  • Posts: 2741
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Trying to understand unimix.exe
« Reply #4 on: June 15, 2020, 06:43:46 pm »
Thanks for the feedback.

Since I have limited access to that computer I will keep testing it on the weekend.

1) I will try unixmix tweeking the id3 as suggested.
Quote
unimix -id3 -cnt0 -val%1 -cnt1 -val%1

and call it with (for example)

volumecontrol 44

2) About:  "DEVICE=C:\MMOS2\UNIAUD32.SYS /A:1"
I guess I have two audio adapters, The first one is the Intel, and the second that does not get recognized I guess is the NVidia card audio output (via HDMI), which is attached to the mainboard.

According to the unimix reports it looks to me that "0" is the Intel and "1" may be the Nvidia. Am I guessing right?
I currently have audio on the Intel device, so I'm not sure if I should put it as "DEVICE=C:\MMOS2\UNIAUD32.SYS /A:1"

3) If the first options does not work to control the volume, I will try Paul's driver. And eve if it works I will try Paul's driver too.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 502
  • -Receive: 100
  • Posts: 2741
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Trying to understand unimix.exe
« Reply #5 on: July 09, 2020, 06:41:54 pm »
Hi. Finally I got some time and computer time to try this. Also, now I even think I have a solid dual boot Win10/ArcaOS on this machine.


Create a file named (for example) volumecontrol.cmd with contents

unimix -id3 -cnt0 -val%1 -cnt1 -val%1

and call it with (for example)

volumecontrol 44


Tom, I tried your suggestion. It shows me an error but it reduced the volume to "44".

Here it is the error:
Code: [Select]
[C:\]unimix -id3 -cnt0 -val44 -cnt1 -val44
Command line mixer for UNIAUD32. Version 1.1
Detected UNIAUD version 2.02.06
Detected 2 audio adapter(s)
Error: invalid number of PCM instances for adapter 1
Setting Adapter: 0, ID:3, cnt:0, val:44...Success
Setting Adapter: 0, ID:3, cnt:1, val:44...Success

Everything works to the "87" value, if I go 88 or higher I get a different error.
Code: [Select]
[C:\]unimix -id3 -cnt0 -val88 -cnt1 -val88
Command line mixer for UNIAUD32. Version 1.1
Detected UNIAUD version 2.02.06
Detected 2 audio adapter(s)
Error: invalid number of PCM instances for adapter
Setting Adapter: 0, ID:3, cnt:0, val:88...Failed
Setting Adapter: 0, ID:3, cnt:1, val:88...Failed

It is a good progress, but I will keep trying the other options.

Regards


I will keep testing.
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 502
  • -Receive: 100
  • Posts: 2741
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Trying to understand unimix.exe
« Reply #6 on: July 09, 2020, 06:53:07 pm »
Hi

I used:
Quote
DEVICE=C:\MMOS2\UNIAUD32.SYS /A:1
Rebooted and produced no sound to me.

I change it to:
Quote
DEVICE=C:\MMOS2\UNIAUD32.SYS /A:0
Rebooted and source got back again.

The rexx script "volumecontrol 44" also works and no longer gave me the "Error: invalid number of PCM instances for adapter 1"

I guess it is good.  I will try Paul's latest driver next.

Thanks for the feedback.

Regards
« Last Edit: July 09, 2020, 07:18:50 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 502
  • -Receive: 100
  • Posts: 2741
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Trying to understand unimix.exe
« Reply #7 on: July 09, 2020, 07:19:27 pm »
Try Pauls later versions of uniaud to see if more controls become available - these show more controls on my system http://smedley.id.au/tmp/uniaud32-linux-3.5.zip
I just tried this Uniaud version using the same "DEVICE=C:\MMOS2\UNIAUD32.SYS /A:0"
Sound works, but I had lost volume control with unimix.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Tom

  • Newbie
  • *
  • Thank You
  • -Given: 1
  • -Receive: 6
  • Posts: 43
    • View Profile
Re: Trying to understand unimix.exe
« Reply #8 on: July 09, 2020, 07:50:20 pm »
Everything works to the "87" value, if I go 88 or higher I get a different error.
Code: [Select]
[C:\]unimix -id3 -cnt0 -val88 -cnt1 -val88
Command line mixer for UNIAUD32. Version 1.1
Detected UNIAUD version 2.02.06
Detected 2 audio adapter(s)
Error: invalid number of PCM instances for adapter
Setting Adapter: 0, ID:3, cnt:0, val:88...Failed
Setting Adapter: 0, ID:3, cnt:1, val:88...Failed


The maximum value to be used is 87, hence trying to set the volume to 88 fails.
(that maximum is listed in your earlier post that showed the output of unimix -list)

Tom

  • Newbie
  • *
  • Thank You
  • -Given: 1
  • -Receive: 6
  • Posts: 43
    • View Profile
Re: Trying to understand unimix.exe
« Reply #9 on: July 09, 2020, 07:55:01 pm »
Try Pauls later versions of uniaud to see if more controls become available - these show more controls on my system http://smedley.id.au/tmp/uniaud32-linux-3.5.zip
I just tried this Uniaud version using the same "DEVICE=C:\MMOS2\UNIAUD32.SYS /A:0"
Sound works, but I had lost volume control with unimix.

Regards

Try again unimix -list and search the output for "Master Playback Volume". Which id does it have?
If it is (for example) id2, then in volumecontrol.cmd change id3 into id2 and see if volume control works again this way.
« Last Edit: July 10, 2020, 02:23:17 am by Martin Iturbide »

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 502
  • -Receive: 100
  • Posts: 2741
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Trying to understand unimix.exe
« Reply #10 on: July 11, 2020, 05:59:40 pm »
Hi Tom

With Paul's driver, it seems it is also ID3

Code: [Select]
[X:\]unimix -names
Command line mixer for UNIAUD32. Version 1.1
Detected UNIAUD version 2.02.05
Detected 1 audio adapter(s)
Control list for adapter 0
ID: 1, name: [Capture Switch]
ID: 2, name: [Capture Volume]
ID: 3, name: [Master Playback Volume]

Code: [Select]
Command line mixer for UNIAUD32. Version 1.1
Detected UNIAUD version 2.02.05
Detected 1 audio adapter(s)
Control list for adapter 0

Control ID: 1
Interface: virtual mixer device
Device(client): 0, subdevice (substream) 0
Name: [Capture Switch]
Index: 0
Element type: boolean type
Count of values: 2
Value:
 Bounds: min: 0, max: 1, step: 0
  value 0: 1
  value 1: 1

Control ID: 2
Interface: virtual mixer device
Device(client): 0, subdevice (substream) 0
Name: [Capture Volume]
Index: 0
Element type: integer type
Count of values: 2
Value:
 Bounds: min: 0, max: 63, step: 0
  value 0: 11
  value 1: 11

Control ID: 3
Interface: virtual mixer device
Device(client): 0, subdevice (substream) 3
Name: [Master Playback Volume]
Index: 33554432
Element type: integer type
Count of values: 2
Value:
 Bounds: min: 0, max: 87, step: 0
  value 0: 0
  value 1: 0

I no longer have volume control with unimix.

If I revert to the older driver ( 2.02.06 / 6 May 2020 14:21:32) I got back the volume control with unimix.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Andy Willis

  • Full Member
  • ***
  • Thank You
  • -Given: 0
  • -Receive: 10
  • Posts: 212
    • View Profile
Re: Trying to understand unimix.exe
« Reply #11 on: July 11, 2020, 09:03:30 pm »
Hi Tom

With Paul's driver, it seems it is also ID3

Code: [Select]
[X:\]unimix -names
Command line mixer for UNIAUD32. Version 1.1
Detected UNIAUD version 2.02.05
Detected 1 audio adapter(s)
Control list for adapter 0
ID: 1, name: [Capture Switch]
ID: 2, name: [Capture Volume]
ID: 3, name: [Master Playback Volume]

Are there just the 3 IDs or did you truncate it at Master Playback Volume?
I have to set Master Playback Volume and Speaker Volume (there is also a Headset volume).  Both Master and Speaker Volumes changed IDs under Paul's latest build.  Speaker then defaulted to 0 and my script was trying to set it but was on the wrong one until I updated it.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 502
  • -Receive: 100
  • Posts: 2741
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Trying to understand unimix.exe
« Reply #12 on: July 12, 2020, 01:13:05 am »
Hi Andy

This are my first attemts to use with the unimix.exe tool. I have no idea how or what " truncate" is, or how to do it.
I only have those 3 IDS that are listed, if there is a way to "un-trucate" this, just to see if I did something strange, let me know.

I tried changing the volume on ID 1, 2 and 3 without any results. I didn't tried ID 0 yet, since it does not show on the unimix -names report.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Dave Yeo

  • Hero Member
  • *****
  • Thank You
  • -Given: 11
  • -Receive: 185
  • Posts: 2532
    • View Profile
Re: Trying to understand unimix.exe
« Reply #13 on: July 12, 2020, 01:17:51 am »
Hi Martin, truncate just means cutting off the end, with end being any size. So a list of 10 items could be truncated down to the first 3 items, or your last name could be truncated to I

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 502
  • -Receive: 100
  • Posts: 2741
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Trying to understand unimix.exe
« Reply #14 on: July 12, 2020, 02:07:19 am »
Hi

Oh, I thought that "truncate" mean some kind of technique, in that case the unimix -names and -list reports are complete.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.