Intel High Definition Audio: Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
→‎Setting up the AFG codec: attempt to adjust spacing between sections
→‎Playing Audio: Added information to step 6 and questioned accuracy of one claim - if it's correct, we've got a puzzle to resolve
Line 252: Line 252:
(5) Configure the DAC to use the stream number that you configured above in step 2 by sending it a SetStreamChannel command.
(5) Configure the DAC to use the stream number that you configured above in step 2 by sending it a SetStreamChannel command.


(6) By default, the DAC's output amplifier gain (volume) is set to 0, and it is muted. Clear the mute bit, and set the volume by sending the DAC node a SetAmplifierGain command. Note that the gain value will most likely be 0 for full volume, and 127 for minimum volume.
(6) By default, the DAC's output amplifier gain (volume) is set to 0, and it is muted. Clear the mute bit, and set the volume by sending the DAC node a SetAmplifierGain command. Note that the gain value may be 0 for full volume, and a value up to 127 for minimum volume * [this information needs to be checked again to see if that's really the case], or it may be the other way round. On one sound card, the range for the gain on the amps at the DACs goes from -60dB (yes, that's a negative value, taken from the datasheet) up to 0dB, which means the 0dB step is actually the loudest one rather than the quietest - I checked this very carefully after being surprised to find that the 0dB step produced the loudest volume (the offset value for the 0dB step on the amp is stated as 40h and the number of steps is also stated as 40h steps, and setting the amp to 40h produces maximum volume while a value of 0 silences it). There appears to be no mechanism by which software can determine whether increasing the value sent to the amp will make sound louder or quieter unless there is a rule that it always gets louder with higher values, in which case the information questioned above at the asterisk must be incorrect.


(7) Enable the configured stream from step 1 by clearing its corresponding bit in the StreamSynchonization register.
(7) Enable the configured stream from step 1 by clearing its corresponding bit in the StreamSynchonization register.