HardwareHeaven.com

HardwareHeaven.com

Looking for the skin chooser?
 
 
  • Home

  • Hardware reviews

  • Articles

  • News

  • Tools

  • Gaming at HardwareHeaven

  • Forums

 

Go Back   HardwareHeaven.com > Forums > Hardware and Related Topics > kX Project Audio Driver Support Forum > General Discussion


Reply
 
Thread Tools
Old Jan 18, 2009, 08:46 PM   #1
DriverHeaven Junior Member
 
Join Date: Nov 2004
Posts: 31
Rep Power: 0
Rashidma is on a distinguished road

Nature of Master volume in mixer?

What is the nature of Master volume in kX mixer? Is it digital, if so, is it 16/24/32-bit accurate? or maybe it is analog, affecting preamps only?

in other words, what yields better quality: reducing volume in foobar (24/96 via Wave HQ) or in mixer? thank you.
Rashidma is offline   Reply With Quote


Old Jan 18, 2009, 09:31 PM   #2
Tail Razer
 
Maddogg6's Avatar
 
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 0
Maddogg6 will become famous soon enoughMaddogg6 will become famous soon enough

Re: Nature of Master volume in mixer?

Quote:
Originally Posted by Rashidma View Post
What is the nature of Master volume in kX mixer? Is it digital, if so, is it 16/24/32-bit accurate? or maybe it is analog, affecting preamps only?

in other words, what yields better quality: reducing volume in foobar (24/96 via Wave HQ) or in mixer? thank you.
Yes it is digital. Eve if it is affecting an analog preamp - the control is still digital. Analog = infinite adjustments - no 'steps' between adjustments - which we clearly have in everything in a computer.

Best quality is obtained by never affecting the audio at all anywhere - right?

Optimal = least processing along the chain. that means no amplification or attenuation at all - anywhere. But, the speaker amplifier, being the last 'link in the chain' - as well as it most likely analog in nature - almost always gives optimal performance.

As a general rule of thumb - you always use max head room until the end -
Starting with recording levels (in the audio played in Foobar) - all the way until you hear it - and then, to keep from blowing out your ears - you adjust the last link possible, usually thats the speaker amplifier. If you use PC speakers - well - all this 'optimal quality' stuff is moot as most PC speakers are crap. If they are good - they have a volume control.

But ok - if its only foobar or the master volume (and reaching for the Speakers amp is out of the question - then use the master volume. Its the later link in the chain.
Maddogg6 is offline   Reply With Quote
Old Jan 18, 2009, 11:29 PM Threadstarter Thread Starter   #3
DriverHeaven Junior Member
 
Join Date: Nov 2004
Posts: 31
Rep Power: 0
Rashidma is on a distinguished road

Re: Nature of Master volume in mixer?

Thank you. I understand, but in some cases, monitors w/o volume knob for instance, you need to adjust volume in computer.

So, kX master really affects preamp power (that's 'analog' to me, although in digital steps) or changes wave amplitude before DAC (reducing dynamic range)? I still don't understand it's nature.

Last edited by Rashidma; Jan 18, 2009 at 11:37 PM.
Rashidma is offline   Reply With Quote
Old Jan 19, 2009, 01:26 AM   #4
Tail Razer
 
Maddogg6's Avatar
 
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 0
Maddogg6 will become famous soon enoughMaddogg6 will become famous soon enough

Re: Nature of Master volume in mixer?

Quote:
Originally Posted by Rashidma View Post
Thank you. I understand, but in some cases, monitors w/o volume knob for instance, you need to adjust volume in computer.

So, kX master really affects preamp power (that's 'analog' to me, although in digital steps) or changes wave amplitude before DAC (reducing dynamic range)? I still don't understand it's nature.
No I don't believe there's such an amp with digital volume control.... I just mentioned the example to make a point.

According to the Appendix A - Signal Flow Diagram - there is just the Codec at the output - as opposed to a amplifier that is digitally controlled - so, it appears to be all digital in nature. Which to me makes most sense. If there is some amp after the codec it would more likely be more of an impedance changing / output protection component than a typical 'amplifier' most people associate with. But even that could be designed into the codec - Im not certain, I didnt look at the specs for the codec. It could vary by card model/codec used (there are a few known used codecs)
Maddogg6 is offline   Reply With Quote
Old Jan 19, 2009, 02:08 AM   #5
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Nature of Master volume in mixer?

I am not sure about WaveHQ, but Master Volume in kX is implemented in the DSP, and thus is digital (basically changes the wave amplitude before the codec/DAC).
Russ is offline   Reply With Quote
Old Jan 21, 2009, 08:09 PM Threadstarter Thread Starter   #6
DriverHeaven Junior Member
 
Join Date: Nov 2004
Posts: 31
Rep Power: 0
Rashidma is on a distinguished road

Re: Nature of Master volume in mixer?

And how accurate master vol reduces volume? 32-bit?
Rashidma is offline   Reply With Quote
Old Jan 21, 2009, 08:16 PM   #7
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Nature of Master volume in mixer?

Yes it is 32 bit.
Russ is offline   Reply With Quote
Old Jan 21, 2009, 08:27 PM   #8
Tail Razer
 
Maddogg6's Avatar
 
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 0
Maddogg6 will become famous soon enoughMaddogg6 will become famous soon enough

Re: Nature of Master volume in mixer?

Quote:
Originally Posted by Russ View Post
Yes it is 32 bit.
How would one gain more resolution than to 0-100 steps provided by the kX Mixers master volume slider?
To me - it seems like its < 7 bits of resolution.

doesnt 'accuracy' translate to this resolution?

I mean say I resample an 8 bit audio file to 16 bit - its still just 8 bit accuracy unless I use some interpolation when up-sampling - right?

I am confused by the question - I must be missing something.
Maddogg6 is offline   Reply With Quote
Old Jan 21, 2009, 08:47 PM   #9
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Nature of Master volume in mixer?

What I meant is the multiplication operation in the DSP is 32 bit (which is what I thought he was asking), of course the range of useful values is less than than that (i.e. only positive numbers, and the range (step sizes) used by the MM Keys or the slider is even less than that (but you could use kX Console to set the value to whatever you want)).
Russ is offline   Reply With Quote
Old Jan 21, 2009, 09:06 PM   #10
Tail Razer
 
Maddogg6's Avatar
 
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 0
Maddogg6 will become famous soon enoughMaddogg6 will become famous soon enough

Re: Nature of Master volume in mixer?

I see - I guess I have taken that for granted (already knowing the DSPs internal register size/width is 32 bit).

Quote:
(but you could use kX Console to set the value to whatever you want)
Interesting - while I should have guessed - I didn't realize that.

By the way (while on this subject) - do you happen to know if it is linear or logarithmic in nature? It 'sounds' linear to me or maybe even inverse log, but - I guess it may not be really strictly either one. But it seem too sensitive in the low ranges to be log.
Maddogg6 is offline   Reply With Quote
Old Jan 21, 2009, 09:15 PM   #11
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Nature of Master volume in mixer?

Quote:
Originally Posted by Maddogg6 View Post
Interesting - while I should have guessed - I didn't realize that.
Well, you can read/write any DSP register using kX Console, so...

Quote:
Originally Posted by Maddogg6 View Post
By the way (while on this subject) - do you happen to know if it is linear or logarithmic in nature? It 'sounds' linear to me or maybe even inverse log, but - I guess it may not be really strictly either one. But it seem too sensitive in the low ranges to be log.
I am not sure, and additionally I do not use kX's MM Key support, I use iTouch which only has 32 steps from zero to full volume, so it seems it uses a different step size (and possibly a different taper?).

BTW: The slider has more than 100 possible positions (i.e. using the up/down arrow keys on the keyboard, with the slider, gives steps smaller than one (but of course the value shown is limited to 0-100)).

Last edited by Russ; Jan 21, 2009 at 09:31 PM.
Russ is offline   Reply With Quote
Old Jan 22, 2009, 06:47 PM   #12
Tail Razer
 
Maddogg6's Avatar
 
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 0
Maddogg6 will become famous soon enoughMaddogg6 will become famous soon enough

Re: Nature of Master volume in mixer?

Quote:
Well, you can read/write any DSP register using kX Console, so...
Seeing as how I think this is relavent to the topic at hand....

What register are you refering to here?
I see in epilogs dane - the MasterL/R - which IIRC, is also used to re-route volumes for things like TV tuner cards to record....

Is that the register you refer to?

I ask because I was curious what all the DSP registers we could access (not that I would know what to do with them - I guess I was just trying to better understand stuff... so I look at the kX SDK h/hw/8010.h and find this....

Quote:
// if you are interested in 10kX hardware register description,
// download the opensource linux driver (GPL-covered) or
// the NetBSD driver (covered by NetBSD license).
//
so I downloaded the Alsa driver and found more than I can understand - but I did find the HAL2.h file that had this:
Quote:
#define H2_VOL_PIO (H2_HAL2_BASE + 2 * 0x400)
And I see a 'hal' reference in the kX Console... which I found from googling that it likely means 'hardware abstraction layer' - ok - cool. I think...

It would seem this is where the OS (windows) mixer talks to the driver in a more generic term (and not know exactly what the hardware is exactly) - Which makes me think - this reference to H2_VOL_PIO is the windows master volume.

Am I way off?

Where can those hardware registers mentioned in the 8010.h file be found?
Maddogg6 is offline   Reply With Quote
Old Jan 22, 2009, 07:18 PM   #13
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Nature of Master volume in mixer?

I am not sure what the HAL stuff is, I have never looked at it (and remember that the ALSA driver is a Linux driver, not Windows, so not everything will relate one to one with the Windows driver (also, it is not just for EMU10kx cards))

MasterL/MasterR are the registers that kX uses for Master Volume control, but they are regular GPR's just like with any plugin. With my Master Volume plugin I use different registers. As for the TV Card stuff, that is just an optional thing (and usually you would use Line In, not Master), it is like everything else in kX, able to be customized (i.e. so if you wanted to control something else using the Windows Master Volume slider, you could, but with epilog, it is intended to be used for Master Volume control).

Most of the registers in 8010.h are more low level stuff (i.e. accessing AC97 codec registers, DSP registers, EMU registers, etc), but kX Console can access those as well.

BTW: If you want to know about the Windows Mixer, I suggest you look up the Audio Mixer api.

Last edited by Russ; Jan 22, 2009 at 07:36 PM.
Russ is offline   Reply With Quote
Old Jan 22, 2009, 07:53 PM   #14
Tail Razer
 
Maddogg6's Avatar
 
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 0
Maddogg6 will become famous soon enoughMaddogg6 will become famous soon enough

Re: Nature of Master volume in mixer?

Quote:
Most of the registers in 8010.h are more low level stuff
But in the 3545 (edit and 3538) SDK - there is nothing in there - just;
Quote:
// kX Driver / kX Driver Interface
// Copyright (c) Eugene Gavrilov, 2001-2005.
// All rights reserved

#ifndef KX_8010_H
#define KX_8010_H

// unfortunately, this file is covered by GPL
// it is no longer used for kX Audio Driver and kX API
//
// the completely re-written version is covered by Creative Labs NDA
// and cannot be re-distributed
//
// if you are interested in 10kX hardware register description,
// download the opensource linux driver (GPL-covered) or
// the NetBSD driver (covered by NetBSD license).
//

#endif
Quote:
(and remember that the ALSA driver is a Linux driver, not Windows, so not everything will relate one to one with the Windows driver (also, it is not just for EMU10kx cards))
Yes - I did take that into account - which makes:

Quote:
// if you are interested in 10kX hardware register description,
// download the opensource linux driver (GPL-covered) or
// the NetBSD driver (covered by NetBSD license).
...even less informative - Im not even certain E. was referring to ALSA. But given previous mentions in these forums - and it seems to be the most advanced linux driver - I surmised - it has to be alsa he was referring to...

I just was looking to learn something new - when I use kX console and do
ghw 0... it comes up with an error
ghw 4,5,6,7 - all return '0' - so obviously none of them are the master volume registers...

So I try the s|g {ac97|ptr|fn0|p|fpga} - and well the only thing I can make out is the ac97 and the FPGA - I have no clue what 'ptr' is (a 'pointer' in programming..?? makes no sense to me) - nor do I know what 'fn0' and 'p' is. Perhaps they are 'hal' sub-groups or something - I dont see anything in that hal2.h that makes any sense.

And my PDF files about the 8010 and the 10K1 DSP show any hardware registers - I am thinking CL put the clamps down on that info.

Is there some reference what the DSP and EMU registers are? (edit - I do see the ac97 register - but that should not be what my card uses for master volume - and you mentioned it was in the DSP also)
Maddogg6 is offline   Reply With Quote
Old Jan 22, 2009, 08:50 PM   #15
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Nature of Master volume in mixer?

Any hardware references (specific to EMU10kx cards) obviously will be the same in the ALSA driver, and thus will be useful (like 8010.h, BTW it is called EMU10k1.h in ALSA driver). HAL stuff on the other hand may be related to OS (i.e. Windows Hardware Abstraction Layer), and thus may not be relevant.

As for volume, AC97 has it's own volume stuff too, but it is usually set to some fixed value and volume adjustments are usually made in software (or DSP). (with the exception of the stuff on the AC97 page of kxmixer, which is all done in AC97 registers)

If you look at EMU10k1.h in the ALSA driver, you will see sections like:

/**************************************
/* Emu10k1 pointer-offset register set
/**************************************

The registers in this section are accessed using 'ptr' in kX Console.
i.e.
Remember the issue with the missing rear channels on SB022x cards, the workaround was to type "sptr 5f 0 33" in kX Console. If you look in the file, you will see that register 0x5f (in the above section) is "AC97SLOT", and there you will find the relevant bits for that register.

What is it you are looking for? Again, Master Volume is done in DSP (except WaveHQ, which is probably done in software (or maybe in some p16v register, I do not know)). i.e. Without epilog, you have no Master Volume control (with the exception of using my plugin), right?

Last edited by Russ; Jan 22, 2009 at 11:14 PM.
Russ is offline   Reply With Quote
Old Jan 22, 2009, 09:11 PM   #16
Tail Razer
 
Maddogg6's Avatar
 
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 0
Maddogg6 will become famous soon enoughMaddogg6 will become famous soon enough

Re: Nature of Master volume in mixer?

Quote:
The registers in this section are accessed using 'ptr' in kX Console.
Ahh - ok.


Quote:
Remember the issue with the missing rear channels on SB022x cards, the workaround was to type "sptr 5f 0 33" in kX Console. If you look in the file, you will see that register 0x5f (in the above section) is "AC97SLOT", and you wills the relevant bits for that register.
Well - it wasn't relevant to me so I didn't pay that close attention to it - the 'sptr 5f 0 33' right no looks like voodoo magic - I will look closer at the EMU10K1.h file to make that mean a little more to me - in my quick glancing I find that AC97SLOT register defined - but what it is set to is still not clear .

Right now I am gonna clean up that section to make it easier to read.

Quote:
What is it you are looking for? Again, Master Volume is done in DSP (except WaveHQ, which is probably done in software (or maybe in some p16v register, I do not know)).
I dunno - just satifying my curiosity that was stoked from this thread.... I did find the P16V header file... and see this...

Quote:
/* 0x61 -> 0x6c are Volume controls */
#define PLAYBACK_VOLUME_MIXER1 0x61 /* SRC48 Low to mixer input volume control. */
#define PLAYBACK_VOLUME_MIXER2 0x62 /* SRC48 High to mixer input volume control. */
#define PLAYBACK_VOLUME_MIXER3 0x63 /* SRCMULTI SPDIF Low to mixer input volume control. */
#define PLAYBACK_VOLUME_MIXER4 0x64 /* SRCMULTI SPDIF High to mixer input volume control. */
#define PLAYBACK_VOLUME_MIXER5 0x65 /* SRCMULTI I2S Low to mixer input volume control. */
#define PLAYBACK_VOLUME_MIXER6 0x66 /* SRCMULTI I2S High to mixer input volume control. */
#define PLAYBACK_VOLUME_MIXER7 0x67 /* P16V Low to SRCMULTI SPDIF mixer input volume control. */
#define PLAYBACK_VOLUME_MIXER8 0x68 /* P16V High to SRCMULTI SPDIF mixer input volume control. */
#define PLAYBACK_VOLUME_MIXER9 0x69 /* P16V Low to SRCMULTI I2S mixer input volume control. */
/* 0xXXXX3030 = PCM0 Volume (Front).
* 0x3030XXXX = PCM1 Volume (Center)
*/
#define PLAYBACK_VOLUME_MIXER10 0x6a /* P16V High to SRCMULTI I2S mixer input volume control. */
/* 0x3030XXXX = PCM3 Volume (Rear). */
#define PLAYBACK_VOLUME_MIXER11 0x6b /* E10K2 Low to SRC48 mixer input volume control. */
#define PLAYBACK_VOLUME_MIXER12 0x6c /* E10K2 High to SRC48 mixer input volume control. */
And appears how kX can control Wave HQ levels - even SPDIF & I2S independently - which is interesting but maybe not very useful.. ??? Well - they can only be useful if we have an interface to these registers... maybe thats the 'p' as in a 'gp X' command...?? I will play around with that now that I at least have some idea what the kX console commands are.

Thanks for the info...
Maddogg6 is offline   Reply With Quote
Old Jan 22, 2009, 09:19 PM   #17
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Nature of Master volume in mixer?

Quote:
Originally Posted by Maddogg6 View Post
I find that AC97SLOT register defined - but what it is set to is still not clear .
Under that you should see:
Code:
#define AC97SLOT_REAR_RIGHT    0x01        /* Rear left */
#define AC97SLOT_REAR_LEFT    0x02        /* Rear right */
#define AC97SLOT_CNTR        0x10            /* Center enable */
#define AC97SLOT_LFE        0x20            /* LFE enable */
0x1 + 0x2 + 0x10 + 0x20 = 0x33
The value it was set to previously was 0x30 (the valid values (for my card) were not known at the time), thus Rear left and Rear right were not enabled.

As for the P16v stuff, looks interesting (since I do not have P16v, I have never looked into it myself.)
Russ is offline   Reply With Quote
Old Jan 22, 2009, 10:39 PM   #18
Tail Razer
 
Maddogg6's Avatar
 
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 0
Maddogg6 will become famous soon enoughMaddogg6 will become famous soon enough

Re: Nature of Master volume in mixer?

Ok I get it.... one more Q...
I see this (frequently in similarity)

Quote:
PSST 0x06 Send C amount and loop start address register
PSST_FXSENDAMOUNT_C_MASK 0xff000000 Linear level of channel output sent to FX send bus C
PSST - is the actual register... and the MASK is a hint how to manipulate the data in that register - in this instance the 2 highest nibbles are what sets this register. I am correct?

If so - does this not infer that the other 24 bits set some other parameter of the DSP..?? Do I assume these other 24 bits purpose are either unknown, or are not used?
Maddogg6 is offline   Reply With Quote
Old Jan 22, 2009, 10:56 PM   #19
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Nature of Master volume in mixer?

Quote:
Originally Posted by Maddogg6 View Post
Ok I get it.... one more Q...
I see this (frequently in similarity)


PSST - is the actual register... and the MASK is a hint how to manipulate the data in that register - in this instance the 2 highest nibbles are what sets this register. I am correct?

If so - does this not infer that the other 24 bits set some other parameter of the DSP..?? Do I assume these other 24 bits purpose are either unknown, or are not used?

Yeah, that is basically it... for that specific register, if you look down a couple of lines you should see:
Code:
#define PSST_LOOPSTARTADDR_MASK    0x00ffffff
...which is the rest of the bits.

But in some cases, all the bits might not be used (or are unknown).

Last edited by Russ; Jan 22, 2009 at 11:50 PM.
Russ is offline   Reply With Quote
Old Jan 23, 2009, 01:05 AM   #20
Tail Razer
 
Maddogg6's Avatar
 
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 0
Maddogg6 will become famous soon enoughMaddogg6 will become famous soon enough

Re: Nature of Master volume in mixer?

Quote:
Originally Posted by Russ View Post
Yeah, that is basically it... for that specific register, if you look down a couple of lines you should see:
Code:
#define PSST_LOOPSTARTADDR_MASK    0x00ffffff
...which is the rest of the bits.

But in some cases, all the bits might not be used (or are unknown).
Ahh - how did you verify it is the rest of those bit?
I mean conceivably - there could be another register with the same 2 high nibbles used - or are you deducing so from the PSST_ reference?

Is that standard convention?
Maddogg6 is offline   Reply With Quote
Old Jan 23, 2009, 03:15 AM   #21
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Nature of Master volume in mixer?

The way the file is laid out, it is the register, followed by info about the register, etc. PSST is register 0x06. The next register is 0x07 (DSL), so all the the stuff between the two should be related to register 0x06. Also, as you noticed, all the info (bit definitions, masks, etc) pertaining to a particular register, tends to be prefixed with the register name.

Last edited by Russ; Jan 23, 2009 at 03:24 AM.
Russ is offline   Reply With Quote
Old Feb 13, 2009, 12:04 PM Threadstarter Thread Starter   #22
DriverHeaven Junior Member
 
Join Date: Nov 2004
Posts: 31
Rep Power: 0
Rashidma is on a distinguished road

Re: Nature of Master volume in mixer?

What is the equivalent of Master volume percents in dB? For example, 50%, 10% - how many decibels it removes? Does any formula of that kind exists?
Rashidma is offline   Reply With Quote
Old Feb 13, 2009, 06:44 PM   #23
h/h member-shmember
 
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,639
Rep Power: 69
Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!

Ответ: Nature of Master volume in mixer?

20 * log10(value / 100)
__________________
Max M. is offline   Reply With Quote
Reply

Thread Tools