1. Bit Perfect System

  • 디지털 음원을 손실없이 전달/재생하여 아날로그 소리를 내는 시스템을 의미한다


  • 소스
    • 원래 소리는 아날로그 신호로 연속된 주파수와 진폭을 가지고 있는데, 이를 불연속적인 디지털 신호로 변환하여 디지털 음원을 만든다
    • 우리가 흔하게 접할 있는 디지털 음원 매체인 CD (Compact Disc) 왼쪽/오른쪽 각각의 소리를 진폭을 65,536 단계로 나눠서 1초에 44,100번을 같은 간격(CD spec. 44.1kHz x 16bit x 2ch)으로 디지털로 변환하여 저장한다
    • 이렇게 변환된 디지털 파일은 1초당 44.1k x 16bit x 2ch 이므로 1,411 kbit 해당된다.
      실제로 CD-DA 프레임으로 구분되어 있고 각각의 보정을 위한 CIRC 붙어서 데이터 양이 늘어나지만 기본적으로 데이터 양은 늘어나지만 음원 관점에서는 1,411 kbit 정도로 생각할 있다. 자세한 내용은 wiki  https://en.wikipedia.org/wiki/Compact_Disc_Digital_Audio 참고.
    • 3 하나의 음원 파일의 용량은 1,411 kbit x 60 x 3 = 31.75 MB 정도로 커서 이를 압축하는 방법들이 고안되기 시작했고 중에 가장 널리 쓰이는 것이 MP3이다. MP3 일반 사람이 듣기 어려운 20kHz 이상의 음을 삭제하거 높은 뒤의 낮음 등을 삭제하는 등의 인지공학적으로 음손실을 최소화하여 손실 압축이지만  bit rate 192 kbit/s 정도로 변환하면 일반인이 CD 소리와 거의 구별하기 힘들다고 한다. 경우 CD 음원 용량 1,411kbit/s 대비 86.4% 압축률이다
    • 하지만, 현재 인터넷 속도가 발전하고 저장 매체의 용량이 증가함에 따라서 압축률 보다는 음질에 주안점이 주어지면서, MP3 bit rate 192 kbit/s 대신에 320 kbit/s 변환하고 손실압축인 MP3 대신에 FLAC 같은 비손실 압축 기술이 유행하고 있다. 보통 Melon 같은 곳에서는 bit rate 320 kbit/s 전환한 MP3 별도의 FLAC 파일을 서비스하고 있다.
    • Hi-Fi Audio 쪽에서 CD 보다 높은 음질을 얻고자 했던 SACD 등도 있으니 관심있으시면 찾아보세요


  • 디지털 인터페이스
    • MP3 이건 FLAC 이건 보통 우리가 사용하는 디지털 음원은 CD에서 것을 손실 또는 무손실 압축한 것이기 때문에 전송률이 가장 높은 것은 CD-DA이다. 따라서 CD-DA 전송할 있는 디지털 인터페이스이면 거의 모든 디지털 음원을 전송할 있다.
    • 이러한 디지털 인터페이스 중에서 가장 광범위하게 사용되는 것은 CD 개발사인 소니와 필립스에서 개발한 S/PDIF (Sony/Philips Digital Interface)이다. S/PDIF 개의 라인을 사용한 직렬 인터페이스로 라인의 설치 운용이 쉽고, 대역폭이 1,536 kbit/s 달해 1,411 kbit/s  전송률을 갖는 CD-DA 손실없이 전송할 있어서 CDT(CD Transport) - DAC(Digital to Analog Converter) 간과 같이 디지털 디바이스 간에는 대부분 S/PDIF 사용한다
    • S/PDIF 라인을 갖는 비동기화 신호라서 jitter 취약해서 이를 극복하기 위하여 데이터라인과 함께 클럭 라인이 있는  I2S(Inter IC sound) 사용하기도 한다. I2S sound IC 간의 내부 통신을 위하여 필립스에서 고안한 것으로 데이터 라인과 별도로 싱크를 위한 클럭 라인을 가지고 있다. 별도의 클럭이 있어서 sync 하기가 용이하여 jitter에서 유리하여 내부에서 벗어나 디바이스간에 데이터 전송에도 사용된다.
    • 스테레오 뿐만 아니라, Dolby Digital, DTS 등의 다채널 서라운드 사운드도 S/PDIF 대역폭 이내로 전송률이 되도록 데이터를 압축하여 전송하고 디코더가 이를 다시 채널별로 분리하고 아날로그 소리로 변화하여 다채널 서라운드 사운드를 구성한다. 다만, 최근의 DD+ DTS-HD 등은 전송률이 S/PDIF 대역폭을 넘어서 HDMI 같은 인터페이스를 사용하기도 한다.


  • 디지털 인터페이스의 선정
    • 현재 사용하고자 하는 디지털 음원은 대부분 320 kbit/s 넘지않고, 가지고 있는 DAC I2S 지원하지 않아서, optical cable 갖는 S/PDIF 사용하기로 한다


2) System 구성

  • S905 ALSA + MPD + Volumio Interface -> DAC -> 6V6 진공관 AMP


  • S905 ALSA 설정
    • 참조 : https://alsa.opensrc.org/DigitalOut
    • 아래처럼 ‘aplay -l’ 명령어를 이용하여 sound hardware devices 확인한다기본적으로 아래와 같은 3개의 디바이스가 나오고, 이중 SPDIF 사용할 것이다. 여기서 확인해야할 내용은 card 번호와 device 번호이다. SPDIF card 번호는 ‘0’ 이고 device 번호는 ‘1’ 이다


kodi@amlogic:~$ aplay -l

**** List of PLAYBACK Hardware Devices ****

card 0: AMLM8AUDIO [AML-M8AUDIO], device 0: I2S.38 dummy-0 []

  Subdevices: 1/1

  Subdevice #0: subdevice #0

card 0: AMLM8AUDIO [AML-M8AUDIO], device 1: SPDIF.39 dit-hifi-1 []

  Subdevices: 1/1

  Subdevice #0: subdevice #0

card 0: AMLM8AUDIO [AML-M8AUDIO], device 2: PCM.40 pcm2bt-pcm-2 []

  Subdevices: 1/1

  Subdevice #0: subdevice #0


    • 이를 ‘/etc/asound.conf’ default sound device 반영한다. 여기서 주의 점이 있는데, 기본적으로 PCM 으로 상정되어 있어서 인지 샘플링 레이트가 44.1kHz 상정하는데, SPDIF 48kHz 필요하다. 이에 SPDIF 사용하려면 ‘rate 48000’ 추가해준다. 부분을 빼면 소리가 안나고 로그를 확인하며 인자를 잘못 줬다는 에러 메시지를 뿌린다.


kodi@amlogic:~$ cat /etc/asound.conf 

pcm.!default {

        type hw

        card 0

        device 1

rate 48000

}


    • 설정을 마치고 적당한 음원파일로 소리가 나는지 확인한다. 소리가 나면 ALSA 설정

play file.wave

mplayer file.mp3 -ao alsa  


  • MPD (Music Player Daemon) 설정
    • 참조 : http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=lecture_rpi&wr_id=51
    • 사이트를 참조해서 MPD 설치하고 /etc/mpd.conf 설정한다. 주석을 읽으면서 해당항목만 수정하면 되므로 쉽게 설정가능한다. 다만, audio output 부분에서 SPDIF 사용할 것이므로 ALSA 셋업시 확인했던 SPDIF card 0, device 1 “hw:0,1” 추가해준다. , ALSA default 셋팅에 설정하여 불필요할 같기는 하지만, format 48kHz, 16bit, 2ch 하도록 ‘format   “48000:16:2” ‘ 추가한다


kodi@amlogic:~$ cat /etc/mpd.conf |grep ^[^#]

music_directory your music directory"

playlist_directory "/var/lib/mpd/playlists"

db_file "/var/lib/mpd/tag_cache"

log_file "/var/log/mpd/mpd.log"

pid_file "/run/mpd/pid"

state_file "/var/lib/mpd/state"

sticker_file                    "/var/lib/mpd/sticker.sql"

user your user"

group                           “your group"

bind_to_address "0.0.0.0"

port "6600"

log_level "default"

auto_update    "yes"

auto_update_depth "3"

follow_outside_symlinks         "yes"

follow_inside_symlinks         "yes"

zeroconf_enabled "yes"

zeroconf_name "MPD Music Player"

input {

        plugin "curl"

}

audio_output {

type "alsa"

name "My ALSA Device"

device         "hw:0,1" # optional

format         "48000:16:2" # spdif 48000, audio 44100 

}

filesystem_charset "UTF-8"

id3v1_encoding “UTF-8"



   

3. 잔여 Audio 정리

   - 5.1 Ch  -> 3.1 ch : 리어스피커 + 리어스피커 스탠드 미사용

   - source CDP (필립스 프로2 ) 미사용  

Posted by 옴팡진
,