Skip to content
This repository has been archived by the owner on Jan 23, 2024. It is now read-only.
/ hifictl Public archive

Code for controlling my home hifi/surround system

Notifications You must be signed in to change notification settings

jherland/hifictl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My playground for software associated with my home hifi/surround system.

Current setup
-------------

In the short term, there'll be code for controlling A/V components from my
media PC. The system currently looks something like this:

  ----------    ----------------------    ---------------    ---------------
 | Media PC |  | Cable TV set-top box |  | Playstation 3 |  | Other sources |
  ----------    ----------------------    ---------------    ---------------
     ||    \_____________________  |        |  _______________/
     ||            (HDMI)        \ |        | /
     ||                          -vv--------vv-      (HDMI)     ----
     | ------------------------>| HDMI Switch  |-------------->| TV |
     |(RS-232)                   --------------                 ----
     |                                  |
     |                                  | (SPDIF)
     |                      ------------v----------
      -------------------->| Harman/Kardon AVR 430 |
                            -----------------------
                                  | | | | |  \__________________________
              ___________________/  | | |  \______________          \   \
  (Analog)   /              _______/  |  \_____           \          \   \
            /              /          |        \           \          \   \
  ---------v--------------v---        |         |           |        --v---v--
 | Front left amp |   FR amp  |       |         |           |       | S/W amp |
  ----------------------------        |         |           |        ---------
           |              |           |         |           |          |   |
  ---------v------    ----v---    ----v--    ---v----    ---v----    --v---v--
 | Front Left spk |  | FR spk |  | C spk |  | SL spk |  | SR spk |  |   S/W   |
  ----------------    --------    -------    --------    --------    ---------

The only software needed in the above setup is for controlling the HDMI Switch
and the Surround Receiver (AVR) from the media PC using RS-232. This way I
should no longer need the IR remotes for the HDMI Switch and the AVR. Instead,
I control them from the wireless keyboard of the media PC.


Future setup
------------

In the longer term, I plan to build a hifi/surround system with digital
signalling as far as possible towards the speakers. The setup will look
something like this:

  ----------    ----------------------    ---------------    ---------------
 | Media PC |  | Cable TV set-top box |  | Playstation 3 |  | Other sources |
  ----------    ----------------------    ---------------    ---------------
           \_____________________  |        |  _______________/
                   (HDMI)        \ |        | /
                                 -vv--------vv-      (HDMI)     ----
                           ---->| HDMI Switch  |-------------->| TV |
                          |      --------------                 ----
                          |             |
                  (RS-232)|             | (HDMI or SPDIF)
                          |      -------v------
                           -----|   Audio PC   |
                                 --------------
               (AES/EBU or SPDIF) | | | |   \_______________________
              ___________________/  | |  \                          \
             /              _______/  |   \_______                   \
            /              /          |           \                   \
  ---------v------    ----v---    ----v--    -------v------------    ----v----
 | Front Left amp |  | FR amp |  | C amp |  |    Surround amp    |  | S/W amp |
  ----------------    --------    -------    --------------------    ---------
  (Analog) |  |         | |         | |         |           |          |   |
  ---------v--v---    --v-v---    --v-v--    ---v----    ---v----    --v---v--
 | Front Left spk |  | FR spk |  | C spk |  | SL spk |  | SR spk |  |   S/W   |
  ----------------    --------    -------    --------    --------    ---------

Here, the AVR (which today functions as a digital-input/analog-output pre-amp
and 3-channel power amp) is replaced by an Audio PC that will function as a
digital-input/digital-output pre-amp, and a collection of digital-input power
amps (either using digital input Class D technology, i.e. "PowerDACs"; or using
a dedicated DAC in front of a more conventional analog-input power amp). There
will be (nominally) one such amp per speaker, and it will be located reasonably
close to that speaker, in order to minimize the length of analog speaker cable.
(One exception from this rule will be the surround speakers, which probably
will share a 2-channel amp, and thus might required somewhat longer runs of
analog speaker cables.)

The Audio PC is the heart of this system, and it will perform the following
tasks:
 - Source selection (by signalling the HDMI Switch over RS-232)
 - Decoding (decoding the incoming surround signal into separate channels)
 - Upsampling/sample-widening if necessary (96kHz/24bits should be sufficient)
 - Volume control
 - Room correction (requires a microphone for measurements)
 - Crossover (depends on how many channels per amp per speaker)
 - Digital output to all the amps/DACs

All the software written for the audio PC will be available here.


Have fun! :)

Johan Herland <johan@herland.net>

About

Code for controlling my home hifi/surround system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages