1
\$\begingroup\$

I want to build something to control the amplitude of analog audio signals between the source (line level analog audio output already extracted and decoded from an HDMI source) and the AMPs. In addition, I want to use three push buttons (up, down, mute). I understand that such a circuit needs to be digital and needs to be active. I can provide it with a 5V or 12V DC. I am aware of the existence of digital pots. But it looks like they are usually controlled by an MCU, which is unnecessarily complicated for me. Any suggestions?

Thanks!

P.S. context: I'm trying to convert an old all-in-one computer into an external display with speakers. The reason I want a volume control is that Apple devices (Macs and iPhones) don't provide volume control over HDMI audio output. They don't support CEC. So I want to add the volume control before the AMPs. The machine has 3 physical volume control buttons that I can utilize. I have considered programming a microcontroller as an HID device with 3 keys, which is super easy, but 1. it's such an overkill, 2. it requires a USB connection. So, it's not ideal.

\$\endgroup\$
5
  • \$\begingroup\$ Any suggestions would require more info what you want to achieve. Digital volume control in HDMI audio? Digital volume control between HDMI receiver and DAC? Simply an analog volume control between DAC and amplifier IC? Please note you can control analog audio volume with a chip that has digital control. \$\endgroup\$
    – Justme
    Commented Jun 17 at 22:00
  • 1
    \$\begingroup\$ There are digital pots designed specifically with up/down button inputs. \$\endgroup\$
    – AnalogKid
    Commented Jun 17 at 22:27
  • \$\begingroup\$ From what I can read you're trying to change the digital HDMI audio ("HDMI audio output") which is way over your head if you need to ask. Please clarify if this is not the case and your audio is actually analog. \$\endgroup\$
    – pipe
    Commented Jun 17 at 22:30
  • \$\begingroup\$ Yes, I'm talking about analog volume control, not digital volume control. Update the post. \$\endgroup\$
    – Deling Ren
    Commented Jun 17 at 23:12
  • \$\begingroup\$ switched attenuators with switches driven by up-down counters, but using a microcontroller will be simpler. \$\endgroup\$ Commented Jun 18 at 3:49

2 Answers 2

0
\$\begingroup\$

The audio sent over HDMI is usually embedded with a HDMI payload, sent as 'data islands' during the video blanking times. This audio could be PCM, or a compressed multichannel payload like AC-3 or DTS. On the face of it you need something more than just a simple digital volume control.

HDMI does have the "ARC" and "eARC" whose purpose are to route TV audio back to an AV receiver or soundbar. Then that AV device deals with volume control and other audio stuff instead of the TV. Maybe this is what you want?

Also note that most TVs and set-top-boxes have SPDIF or TOSLink optical. If you restrict the format to be PCM, then you need only to receive SPDIF, digitally modify the volume, then retransmit as SPDIF.

Otherwise, to pull out the HDMI audio, decode it, process it, then remultiplex it back to the HDMI requires basically the same capability as what a soundbar does.

Oh, and don't forget about HDCP: you need to be a licensee to obtain the keys to the HDMI kingdom to make that work at all. Unsurprisingly, HDMI doesn't make it easy to get access.

\$\endgroup\$
1
  • \$\begingroup\$ Sorry, I didn't make it clear that I was trying to control the volume of analog signals, not digital ones. I have an HDMI -> LVDS video controller that already decoded the audio signals from the HDMI and converted them to line level analog signals. I'm just trying to put a volume control between that and the AMPs. \$\endgroup\$
    – Deling Ren
    Commented Jun 17 at 23:17
0
\$\begingroup\$

Just look for a digital potentiometer with up/down control and non-volatile wiper position storage (unless you don't mind defaulting to 50% on power-up). Two channels on one chip would probably simplify your design and ensure the channels don't get out of sync.

\$\endgroup\$
1
  • \$\begingroup\$ Thanks! Looks like this MAX5486 would fit all these criteria. The challenge is to solder the tssop24 pins by hand. \$\endgroup\$
    – Deling Ren
    Commented Jun 18 at 0:49

Not the answer you're looking for? Browse other questions tagged or ask your own question.