안녕하세요?
어.. 일단은 AoL이 너무 유지보수가 되지 않아 지금 동작이 매우 애매한 상황에 와 있네요.
그래서 일단은 에러를 무시하고 설치를 진행해보겠습니다.
---> 추후 debian 11 로 유지보수 하도록 하겠습니다.
root@AOL-Debian:~# apt update Ign:1 http://deb.debian.org/debian stretch InRelease Get:2 http://deb.debian.org/debian stretch-backports InRelease [91.8 kB] Hit:3 http://deb.debian.org/debian stretch-updates InRelease Hit:4 http://deb.debian.org/debian stretch Release Hit:5 https://downloads.plex.tv/repo/deb public InRelease Err:2 http://deb.debian.org/debian stretch-backports InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9 Reading package lists... Done W: GPG error: http://deb.debian.org/debian stretch-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9 E: The repository 'http://deb.debian.org/debian stretch-backports InRelease' is not signed. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. |
1. TidalConnect 레파지토리
아래 레파지토리입니다. 일단 가이드 대로 설치를 진행해보겠습니다.
https://github.com/shawaj/ifi-tidal-release
2. 의존 패키지 설치하기
root@AOL-Debian:~# apt install libssl1.0.0* libportaudio2* libflac++6v5* Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'libssl1.0.0' for glob 'libssl1.0.0*' Note, selecting 'libportaudio2' for glob 'libportaudio2*' Note, selecting 'libflac++6v5' for glob 'libflac++6v5*' libssl1.0.0 is already the newest version (1.0.1t-1+deb8u8). The following NEW packages will be installed: libflac++6v5 libportaudio2 0 upgraded, 2 newly installed, 0 to remove and 91 not upgraded. Need to get 92.7 kB of archives. After this operation, 290 kB of additional disk space will be used. Do you want to continue? [Y/n] |
3. 소스 클론하기
root@AOL-Debian:~# mkdir /usr/ifi root@AOL-Debian:~# cd /usr/ifi root@AOL-Debian:/usr/ifi# git clone https://github.com/ifi-audio/ifi-tidal-release.git The program 'git' is currently not installed. You can install it by typing: apt install git |
깃이 설치되어 있지 않다고 나오네요. 설치하고 다시 해보겠습니다.
root@AOL-Debian:/usr/ifi# apt install git Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: git-man liberror-perl patch rsync Suggested packages: gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn ed diffutils-doc The following NEW packages will be installed: git git-man liberror-perl patch rsync 0 upgraded, 5 newly installed, 0 to remove and 91 not upgraded. Need to get 5,613 kB of archives. After this operation, 23.2 MB of additional disk space will be used. Do you want to continue? [Y/n] |
4. 설치 진행하기
일단은 폴더 경로가 제 기준에 맞지 않아 조금 변경을 했습니다.
root@AOL-Debian:/usr# rm -rf ifi/ root@AOL-Debian:/usr# mkdir tidal-connect root@AOL-Debian:/usr# git clone https://github.com/shawaj/ifi-tidal-release.git tidal-connect/ Cloning into 'tidal-connect'... remote: Enumerating objects: 61, done. remote: Counting objects: 100% (14/14), done. remote: Compressing objects: 100% (11/11), done. remote: Total 61 (delta 10), reused 3 (delta 3), pack-reused 47 Unpacking objects: 100% (61/61), done. |
일단 clone 이 끝났습니다.
구동을 하기 위해 사운드 장치를 알아냅니다.
root@AOL-Debian:/usr# cd tidal-connect/ root@AOL-Debian:/usr/tidal-connect# ./pa_devs/run.sh ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.HISI-AIAO.pcm.front.0:CARD=0' ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM front ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.HISI-AIAO.pcm.surround51.0:CARD=0' |
막 에러가 나오는데요. 아래 경로에서 devices 파일을 cat 해봅니다.
root@AOL-Debian:/usr/tidal-connect# cat pa_devs/devices device#0=HISI-AIAO: - (hw:0,0) device#1=sysdefault device#2=default device#3=dmix Number of devices = 4 |
이상하게도 추가한 사운드 카드가 나오지가 않습니다.
root@AOL-Debian:/usr/tidal-connect# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: HISIAIAO [HISI-AIAO], device 0: Playback aiao-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: HM [HM], device 0: USB Audio [USB Audio] Subdevices: 0/1 Subdevice #0: subdevice #0 |
안드로이드 쪽의 오디오 설정을 조금 변경하겠습니다.
이 변경은 아래 글에도 소개가 되어 있습니다.
https://blog.djjproject.com/450
먼저 system 파티션을 remount 합니다.
root@AOL-Debian:/usr/tidal-connect# system-rw remount succeeded |
오디오 xml 을 수정합니다.
아래 135번째줄 usb 섹션을 삭제합니다. 152번째까지가 설정입니다.
root@AOL-Debian:/usr/tidal-connect# vi /system/etc/audio_policy.conf 135 usb { 136 outputs { 137 usb_device { 138 sampling_rates dynamic 139 channel_masks dynamic 140 formats dynamic 141 devices AUDIO_DEVICE_OUT_USB_DEVICE 142 } 143 } 144 inputs { 145 usb_device { 146 sampling_rates dynamic 147 channel_masks dynamic 148 formats dynamic 149 devices AUDIO_DEVICE_IN_USB_DEVICE 150 } 151 } 152 } |
다시 ro 마운트로 바꿔주고 리부팅합니다.
root@AOL-Debian:/usr/tidal-connect# mount -o remount,ro /system root@AOL-Debian:/usr/tidal-connect# reboot root@AOL-Debian:/usr/tidal-connect# stty: 'standard input': Input/output error [info] Using makefile-style concurrent boot in runlevel 0. [ ok ] Stopping UPnP devices daemon: MiniSSDPd. [ ok ] Stopping Music Player Daemon: mpd. [ ok ] Shutting down ALSA...done. [ ok ] Stopping Avahi mDNS/DNS-SD Daemon: avahi-daemon. [ ok ] Stopping internet superserver: inetd. Shutting down Plex Media Server: Stopping ftp server: pure-ftpd. [ ok ] Stopping enhanced syslogd: rsyslogd. [ ok ] Stopping bittorrent daemon: transmission-daemon. [ ok ] Stopping Tvheadend: tvheadend. System now Rebooting... |
다시 device 를 찾아봅니다.
root@AOL-Debian:~# cd /usr/tidal-connect/ root@AOL-Debian:/usr/tidal-connect# ./pa_devs/run.sh root@AOL-Debian:/usr/tidal-connect# cat pa_devs/devices device#0=HISI-AIAO: - (hw:0,0) device#1=HM: USB Audio (hw:2,0) device#2=sysdefault device#3=default device#4=dmix Number of devices = 5 |
오.. 나이스하게 올라옵니다.
그럼 일단 테스트로 실행을 해봐야하니 아래와 같이 실행을 해봅니다.
root@AOL-Debian:/usr/tidal-connect# ./bin/tidal_connect_application \ --tc-certificate-path "/usr/tidal-connect/id_certificate/IfiAudio_ZenStream.dat" \ --netif-for-deviceid eth0 \ -f "U5MINI Streamer" \ --codec-mpegh true \ --codec-mqa true \ --model-name "U5MINI Streamer" \ --disable-app-security false \ --disable-web-security false \ --enable-mqa-passthrough true \ --playback-device "HM: USB Audio (hw:2,0)" \ --log-level 3 |
오 일단 에러가 많이 발생합니다.
만 .. 작동 잘 되네요..
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline Cannot connect to server socket err = No such file or directory Cannot connect to server request channel jack server is not running or cannot be started JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock STARTED TidalConnect services. [2022-06-07 00:48:10.238] [tisoc] [warning] [PlaybackControllerImpl.cpp:472] Illegal state:1 [2022-06-07 00:48:12.465] [tisoc] [warning] [logger.cpp:22] [audio_worker.cpp:321] Attempting to initialize a decoder without initial data! [2022-06-07 00:48:31] [error] handle_read_frame error: asio.ssl:335544539 (short read) [2022-06-07 00:48:31] [info] asio async_shutdown error: asio.ssl:335544539 (short read) Expression 'alsa_snd_pcm_drop( stream->playback.pcm )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 3042 |
타이달에서는 이렇게 나옵니다.
결선 상태는 아래와 같습니다.
일단 HIFI 음원 기준 오디오 정보는 아래와 같습니다.
root@AOL-Debian:/proc/asound/HM# cat pcm0p/sub0/hw_params access: MMAP_INTERLEAVED format: S16_LE subformat: STD channels: 2 rate: 44100 (44100/1) period_size: 2205 buffer_size: 11025 |
마스터 음원을 찾아보겠습니다. 아래 음원이 마스터로 나오네요.
root@AOL-Debian:/proc/asound/HM# cat pcm0p/sub0/hw_params access: MMAP_INTERLEAVED format: S24_3LE subformat: STD channels: 2 rate: 48000 (48000/1) period_size: 2400 buffer_size: 12000 |
음.. 24비트 48KHz 로 나오네요. 저희가 생각하는 고음질은 아닌거 같습니다.
혹시 트랜스코딩이 걸릴까봐 실행옵션도..
--enable-mqa-passthrough true \ |
이렇게 주었는데.. 기대가 살짝 깨지네요.
이전에 아래와 같이 DSD를 재생하거나 24비트 192KHz 음원일 경우에 아래와 같이 나옵니다.
5. 부팅 시, 자동실행 하기
아래와 같이 작성합니다.
root@AOL-Debian:~# cd /etc/init.d root@AOL-Debian:/etc/init.d# vi tidal-connect #!/bin/sh ### BEGIN INIT INFO # Provides: tidal-connect # Required-Start: $remote_fs $all # Required-Stop: $remote_fs $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: tidal-connect # Description: tidal-connect ### END INIT INFO DESC="tidal-connect" NAME=tidal-connect PIDFILE=/var/run/$NAME.pid RUN_AS=root d_start() { start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --chuid $RUN_AS \ --exec /usr/tidal-connect/bin/tidal_connect_application -- \ --tc-certificate-path "/usr/tidal-connect/id_certificate/IfiAudio_ZenStream.dat" \ --netif-for-deviceid eth0 \ -f "U5MINI Streamer" \ --codec-mpegh true \ --codec-mqa true \ --model-name "U5MINI Streamer" \ --disable-app-security false \ --disable-web-security false \ --enable-mqa-passthrough true \ --playback-device "HM: USB Audio (hw:2,0)" \ --log-level 3 } d_stop() { start-stop-daemon --stop --quiet --pidfile $PIDFILE if [ -e $PIDFILE ] then rm $PIDFILE fi } case $1 in start) echo -n "Starting $DESC: $NAME" d_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" d_stop echo "." ;; restart) echo -n "Restarting $DESC: $NAME" d_stop sleep 1 d_start echo "." ;; *) echo "usage: $NAME {start|stop|restart}" exit 1 ;; esac exit 0 |
서비스 등록합니다.
root@AOL-Debian:/etc/init.d# chmod a+x tidal-connect root@AOL-Debian:/etc/init.d# update-rc.d tidal-connect defaults root@AOL-Debian:/etc/init.d# service tidal-connect start Starting tidal-connect: tidal-connect. root@AOL-Debian:/etc/init.d# ps -ef | grep tidal root 17661 1 3 01:50 ? 00:00:04 /usr/tidal-connect/bin/tidal_connect_application --tc-certificate-path /usr/tidal-connect/id_certificate/IfiAudio_ZenStream.dat --netif-for-deviceid eth0 -f U5MINI Streamer --codec-mpegh true --codec-mqa true --model-name U5MINI Streamer --disable-app-security false --disable-web-security false --enable-mqa-passthrough true --playback-device HM: USB Audio (hw:2,0) --log-level 3 root 17946 8827 0 01:52 pts/0 00:00:00 grep tidal |
6. 후기
무언가 TIDAL 음질 좋은거 같기도 하네요 ㅎㅎㅎ..
마치겠습니다.
'AndroidOverLinux' 카테고리의 다른 글
AoL IOT buildroot 변경사항 (V1.4) (438) | 2020.11.21 |
---|---|
AoL IOT Build 201118 이미지 릴리즈 (422) | 2020.11.18 |
AoL IOT build 사용 방법 (for ATV8) (425) | 2020.11.15 |
AoL IOT rootfs 빌드 스크립트 (432) | 2020.11.15 |
리눅스 펌웨어 내장 외장 200620 릴리즈 (408) | 2020.06.20 |
댓글