1
비트 퍼펙트하지 않게는, 그러니까 안드로이드 종특인 48Khz 나 96Khz로 리샘플링 되는 방식으로는 ArmAmp 같은 WebDAV 플레이어를 이용할 수도 있고 시놀로지 나스라면 DS Audio를 이용할 수도 있습니다.
2
Neutron Music Player 를 플레이어로 사용하고 전용 DAC이 탑재된 스마트폰이나 USB DAC을 사용하는 경우라면 Neutron Music Player의
1) FTP 나 WebDAV 방식의 원격지 음원 액세스 기능
2) 원본 주파수와 동일 출력 기능
을 이용해 원칙적으로 나스 음원의 비트 퍼펙트 플레이가 가능하나 실제로는 원격지 음원을 스캔해서 색인화하는 작업이, 음원 수가 많을 수록 완결되지 않는 경향이 있습니다. 5만곡 정도의 음원을 대상으로 수십번 이상 시도해 보았지만 실패했습니다. 성공한 것처럼 보이는 경우에도 살펴보면 빼먹은 음원들이 있습니다.
3
해서 아예 리샘플링을 하지 않게 하는 방법을 찾아보았습니다. 그 방법만 있다면 그 방법과 ArmAmp 같은 WebDAV 플레이어나 DS Audio를 결합시키면 되기 때문입니다.
4
다행히, 정확히 그 방법은 아니어도 44.1Khz 로 고정시키는 방법은 찾아냈습니다. 음원 대부분은 44.1Khz 이고 고해상도 음원은
따로 나스 음원 폴더를 만들어 Neutron Music Player를 이용할 수 있으니까요(음원 수가 많지 않으면 스캔/색인 작업 성공 가능성이 커집니다).
5
전제는 다음과 같습니다:
* 나스 음원 폴더에 수만 곡 이상의 16Bit/44.1Khz 음원이 있다.
* 무제한 데이터 요금제를 사용하거나 와이파이 곁에서만 음악을 듣는다.
* 리샘플링된 음을 듣기 싫다.
* 안드로이드 버전이 마시멜로거나 누가이며 루팅되어 있는 스마트폰을 갖고 있다.
(* 스마트폰에 잘 연결되는 휴대용 USB DAC이 있다.)
6
방법은 다음과 같습니다:
1) USB DAC을 연결해서만 음악을 들을 경우
루트에 액세스할 수 있는 Solid Explorer 같은 파일 관리자로 sys/etc/audio_policy.conf file
을 열어 마지막쯤에 있는 usb_device 섹션의 output 항목의 sampling_rates 과 formats를 각각
44100 과 AUDIO_FORMAT_PCM_16_BIT로 변경한 다음 저장하고 재부팅하면 됩니다.
제 자신이 잘 되는 것을 직접 확인했습니다.
* 참고
https://www.reddit.com/r/headphones/comments/5z7h7m/couple_things_to_improve_usb_dac_audio_quality/
2) 폰의 3.5mm 단자만을 이용할 경우
https://www.reddit.com/r/Android/comments/73v3o6/this_is_how_you_change_the_sample_rate_to_441_khz/
에 따르면 다음 파일들을 검색해 찾아 48000을 모두 44100으로 변경하면 된다고 하는데, 일반적 폰이든 전용 DAC이 탑재된 폰이든
별 의미가 없을 수도 있습니다. 일반적 폰이면 어차피 이런 신경을 쓸 필요가 없고 전용 DAC이 탑재된 폰이라면 WebDAV 플레이어나 DS Audio 같은 원격지 음원 플레이어가 전용 DAC을 이용한다는 전제가 충족되어야 하는데, 충족 안될 수도 있기 때문입니다.
- audio.policy.conf
- a2dp_audio_policy_configurations.xml
- r_submix_audio_policy_configurations.xml