저는 컴퓨터 매니아이고 Windows(ASIO4ALL 포함)와 OSX를 사용하여 오디오 작업을 해왔습니다. 이제 HTPC/스테레오 오디오로 Ubuntu 13을 사용하고 있습니다. 먼저 Pulse 오디오를 비활성화하고 ALSA와 함께 GooMusicplayer를 사용했습니다.
내 DAC는 24비트 96khz를 지원합니다. 출력 샘플 속도를 설정하기 위한 ALSA 구성을 찾을 수 없는 것 같습니다. 어떻게 구성하나요?
답변1
Alsa는 기본적으로 소스와 동일한 샘플링 속도 및 형식을 사용합니다. 그러나 샘플링 속도를 강제로 높이거나 낮추는 것은 가능합니다.
여기 당신이 할 수 있는 한 가지 방법이 있습니다. (존재하다/etc/asound.conf또는~/.asoundrc)
pcm.device{
format S24_LE
rate 96000
type hw
card 0
device 0
}
그런 다음 해당 pcm을 기본(스테레오) pcm과 같은 다른 pcm에 슬레이브로 만듭니다. (경고: 24비트 형식은 호환 가능한 카드가 없으면 작동하지 않습니다. 저는 일반적으로 대부분의 카드에서 작동하는 S32_LE를 사용합니다.)
pcm.!default{
type plug
slave.pcm "device"
}
그러나 위의 내용은 스테레오 소스에서만 작동합니다. 따라서 기본적으로 Surround51 pcm을 사용하는 5.1 소스에서 재생하는 경우 상황이 약간 복잡해집니다.
모노럴 소스의 샘플링 속도를 강제하는 방법에 대해 제가 아는(그리고 개인적으로 사용하는) 한 가지 방법은 다음과 같이 시작하는 것입니다.이 asound.conf/asoundrc(데드 링크) 수정하세요. (참고: 이 문서는 제가 직접 작성한 것이 아닙니다.)
(내 것을 찾을 수 있습니다사운드 프로필이 질문에는 아래에서 수동으로 수정하는 수고로움을 겪지 말고 복사만 하시면 됩니다.)
먼저 "dmixed" pcm을 복사하고 하드웨어 부분을 원하는 샘플 속도와 형식으로 수정합니다.
그런 다음 !default, around40 및 around51 PCM을 그대로 복사합니다. 이렇게 하면 모든 출력이 효과적으로 혼합되고 모든 2.0, 4.0 및 5.1 소스의 샘플링 속도가 dmixed pcm에 설정된 샘플링 속도로 상향 변환됩니다.
이 프로필 내에서 "upmix20_51" pcm은 사운드를 선택적으로 다른 채널에 복사하여 2.0 소스를 5.1로 업믹스하는 효율적인 방법이므로 흥미로울 수도 있습니다. 사용하려면 해당 유형을 "플러그"에서 "라우트"로 변경한 다음 기본 pcm의 슬레이브로 설정해야 합니다.
pcm.!default{
type plug
slave.pcm "upmix20_51"
}
이 pcm에서 사용하는 "surround51"은 "dmixed"를 슬레이브 장치로 사용하므로 강제 샘플링 속도가 이 pcm에도 적용됩니다.
안타깝게도 현재 상태에서는 모노 소스가 왼쪽 스피커에서만 출력될 수 있지만, 이 아빠들 사이에서는 모노 소스가 드물기 때문에 이는 거의 문제가 되지 않습니다. 방금 제시한 예시는 제가 직접 예시한 예시입니다.사운드 프로필구성한 후 5.1 스피커 설정이 있고 96khz 샘플링 속도를 강제로 적용하려는 경우 재미있게 즐겨보세요.
이론적으로는 더 높은 샘플 속도를 강제하는 것이 아무 소용이 없을 것이라고 생각합니다(낮은 샘플 속도로 소스의 오디오 품질을 향상시킨다는 것은 터무니없는 생각이기 때문입니다). 따라서 응용 프로그램을 구성하게 됩니다. 96khz 출력을 사용하는 것이 더 좋습니다.
하지만 제 경우에는 96khz나 44.1khz 주파수를 강제로 설정하지 않으면 딱딱거리는 소리가 나는 문제가 있습니다(XCOM: Enemy Unknown과 같은 특정 게임에서는). 96khz를 강제한다고 해서 손실되는 것은 없습니다(44.1/48khz 소스의 품질을 향상시키거나 저하시키지 않습니다). 이는 완벽한 솔루션입니다.
답변2
장치의 샘플링 속도는 기본적으로 애플리케이션에서 구성한 샘플링 속도, 즉 원본 파일의 샘플링 속도로 설정됩니다.
답변3
다른 답변은 다소 정확합니다.
대부분의 사운드 카드에는 기본적으로 다중 채널 기능이 없습니다. 다중 채널 믹서가 포함된 카드 중 하나를 가지고 있다면 아마도 이 내용을 읽을 필요가 없을 것입니다. ALSA는 소프트웨어에서 여러 사운드를 혼합합니다.
일반적으로 말하면 다음과 같은 두 가지 옵션이 있습니다.
믹싱 소프트웨어 출력을 우회하여 더 넓은 범위의 사운드를 즐길 수 있습니다. (예: 더 높은 샘플링 속도 및 비트 전송률, 6개 이상의 스피커에 대한 채널)
사운드 카드에서는 하나의 프로그램만 실행할 수 있습니다!
소프트웨어 블렌딩을 활성화하면 눈치채지 못할 수도 있는 일부 품질이 손실됩니다. (Asus Xonair DX는 Sennheiser HD598로 테스트되었으며 96khz 6채널 샘플 속도 flac 및 192khz 2채널 샘플 속도를 사용하여 차이가 없습니다.)
이런 식으로 작동하는 프로그램이 두 개 이상 있습니다! 나는 적어도 아직 오디오 애호가는 아닙니다.
하드웨어가 여러 스트림을 동시에 혼합하는 것을 지원하지 않는 경우 두 번째 옵션이 기본적으로 활성화됩니다.
노트:세 번째 옵션이 있습니다. ALSA 리샘플링은 소프트웨어에서 구성할 수 있지만 내 경험상 모든 애플리케이션을 최대 샘플 속도와 비트 전송률로 리샘플링하도록 조정할 수 있지만 FPS 게임에서는 눈에 띄는 지연이 발생하는데 이는 게이머에게는 좋지 않습니다. (총에서 총알을 쏠 때 약 3분의 1초 동안 짜증이 납니다.)
세 번째 옵션은 여러 가지 이유로 실용적이지 않을 수 있습니다.
- 잘 테스트하지는 않았지만 일부 응용 프로그램에는 여전히 문제가 있을 수 있다고 생각합니다.
- 대부분의 오디오 컬렉션은 FLAC를 많이 사용하지 않는 한 44.1/44khz 샘플링 속도와 16비트 전송률이지만, FLAC도 더 높은 샘플링 속도를 가져야 합니다.
- 업샘플링은 더 나은 음질을 제공하지 않습니다(이론적으로는 그렇습니다. 그러나 값싼 헤드폰을 사용하는 경우에는 눈치 채지 못할 것입니다. 99% 확신합니다).
- 파일에서 뭔가 잘못된 일을 하지 않는 한 게임의 지연은 매우 현실적입니다
.asoundrc
.
상황을 더욱 혼란스럽게 만드는 것은 긍정적인 측면에서 상황이 더 악화될 수 있다는 것입니다. 다양한 설정(채널/속도/샘플링 속도/물리적 출력 및 입력 구성)으로 "장치"를 생성할 수 있습니다. 일부 앱은 수동으로 생성한 장치를 사용할 수 있지만 일부 앱은 사용할 수 없습니다. 이것은 나를 짜증나게 한다.
가장 악명 높고 문제가 많은 것은 Flash Player입니다.
이 답변은 USB를 사용하여 헤드폰을 연결하지 않는 사람들에게 적합합니다. 그들은 자체 내장 사운드 카드를 갖고 있는데, 제가 이에 대해 제한된 지식을 가지고 있는데, 아마도 내장 마더보드 사운드 카드를 가지고 있는 사람들에게는 더욱 그럴 것입니다. 여전히 USB 헤드셋과 함께 작동할 수 있지만 모든 것을 약간의 소금으로 받아들입니다. 하드웨어에 옵션이 없기 때문에 생산된 모든 사운드 카드의 최소 10%는 하드웨어 믹싱을 사용한다고 추측합니다. 한 가지 큰 예외는 조명 출력입니다. AFAIK 파이버 출력에는 믹서가 필요하지 않습니다. 역다중화는 "수신기"에서 발생하며 하드웨어에서 수행됩니다. 내 말을 믿지 마세요.
답변4
위의 정보를 제공한 @Cestarian에게 감사드립니다. 이는 USB 세미프로 오디오 인터페이스를 재인코딩 정규화 샘플 속도(96K)까지 높이는 데 도움이 될 것입니다. 나는 이것이 스튜디오의 기계 설정에 대해 매우 통찰력이 있다는 것을 알았습니다.
도움을 드리기 위해 이제 도움을 주셨으니 다음 질문에 답변해 드리겠습니다.
"이론적으로 더 높은 샘플 속도를 강요하는 것이 아무런 도움이 되지 않을 것이라고 생각합니다(더 낮은 샘플 속도로 소스의 오디오 품질을 향상시키기 때문에 터무니없는 생각입니다). 따라서 응용 프로그램을 구성하는 것이 더 나을 것입니다. 96khz 출력을 사용하려면
하지만 제 경우에는 96khz나 44.1khz 주파수를 강제로 설정하지 않으면 딱딱거리는 소리가 나는 문제가 있습니다(XCOM: Enemy Unknown과 같은 특정 게임에서는). 96khz를 강제한다고 해서 손실되는 것은 없으므로(44.1/48khz 소스의 품질을 향상시키거나 저하시키지 않음) 이것이 완벽한 솔루션입니다. "
디지털 신호를 가져와 원래 신호보다 높은 승수로 변환하는 애플리케이션이 있습니다. 바로 디지털 지터 감소입니다. 이러한 목적으로 컴퓨터와 마스터링 스튜디오에서 사용하는 외부 샘플 속도 변환기 박스의 정확성을 알아내는 것은 흥미로울 것입니다.
두 번째: 내 이미지에는 샘플링 속도가 정의되지 않은 경우 발생해야 하는 처리 프레임이 있어야 합니다. 논리적으로 하드 드라이브에서 들어오는 데이터를 감지한 다음 데이터 스트림으로 출력하는 대신 데이터 스트림으로 형식을 지정해야 합니다(잘못된 경우). 사운드는 CPU 대신 실시간 처리를 사용합니다. 그러나 업샘플링도 수행하므로 게임 사운드 파일의 소스 샘플링 속도 지터를 수정할 수 있습니다.