다음을 통해 공유


오디오

이 문서에서는 Microsoft의 Speech Platform에서 사용하기 위한 오디오 재생 및 오디오 입력 장치를 포함하여 오디오 장치의 디자인 및 개발에 대한 권장 사항을 제공합니다. Speech Platform은 음성 입력 및 라이브 캡션과 같은 Windows의 모든 음성 환경을 구동하는 데 사용됩니다. 이 문서의 목표는 에코시스템 파트너가 Microsoft 기술을 사용하여 최적화된 오디오 환경을 갖춘 디바이스를 구축할 수 있도록 하는 것입니다.

최소 하드웨어 요구 사항 및 Windows 하드웨어 호환성 프로그램

최소 하드웨어 요구 사항 및 Windows 하드웨어 호환성 프로그램 요구 사항은 Windows 호환 오디오 솔루션을 만들기 위한 기본 사항입니다. 프로그램은 선택 사항이지만 오디오 제품은 기본 오디오 품질을 보장하기 위해 두 가지 요구 사항 세트를 모두 충족하는 것이 좋습니다.

각각에 대한 자세한 내용은 다음을 참조하세요.

멀티스트림 오디오 재생 최적화 시나리오

멀티스트리밍은 더 이상 Windows 10 Desktop 버전에 대한 요구 사항이 아니지만, 멀티스트리밍 시나리오를 지원하려면 둘 이상의 DAC(디지털-아날로그 변환기)를 사용하는 것이 좋습니다. 단일 DAC(예: 리디렉션된 헤드폰)를 사용하는 경우 사용자가 설정한 기본 설정을 유지할 수 있도록 각 오디오 엔드포인트(예: 통합 스피커 또는 3.5mm 오디오 잭)에 대해 독립적으로 오디오 볼륨 제어 및 상태를 지원하는 것이 좋습니다.

음성 및 통신용 오디오 솔루션 최적화

오디오 솔루션에서 최소 하드웨어 요구 사항과 Windows 호환성 프로그램 요구 사항을 모두 충족하면 이 오디오 솔루션은 Windows에서 기본 오디오 환경을 제공합니다. 대상 시장 부문에 따라 디바이스는 Speech Platform 및 Skype의 두 가지 추가 최적화를 지원할 수 있습니다. Speech Platform과 Skype 모두에 대한 권장 사항은 기본 오디오 환경에 대한 요구 사항을 기반으로 합니다. 오디오 솔루션에서 기본 요구 사항을 완전히 충족하지 않는 경우 Speech Platform 또는 Skype에 최적화하는 것이 어려울 수 있습니다.

참고 항목

전화 통신 및 Skype와 같은 애플리케이션에 대한 지침은 사용 가능한 경우 이 항목을 보완합니다.

 

audio recommendations

Windows의 음성 인식

디바이스 제조업체는 음성 인식 테스트 조건과 관련된 성능을 최적화하기 위해 음성 자동 보정 처리를 디바이스에 통합하고 튜닝하는 것이 좋습니다.

통합 음성 향상 처리가 없는 디바이스의 경우 Microsoft는 Windows에서 기본 처리를 제공합니다. Microsoft의 음성 자동 보정 처리에는 IHV의 디바이스별 튜닝이 필요하지 않습니다.

오디오 드라이버에서 음성에 대한 마이크 기하 도형 및 오디오 신호 처리를 공개하지 않는 경우 Microsoft 음성 자동 보정 파이프라인이 사용됩니다. 타사 자동 보정 기능을 활용하려면 마이크 기하 도형을 제공하고, 오디오 입력에서 "음성" 신호 처리 모드를 지원하며, 최소한 노이즈 억제 및 반향 소거를 오디오 드라이버 또는 해당 소프트웨어 APO에서 제공하는 효과에 포함해야 합니다.

음성 인식과 전화 통신의 차이점

음성 인식 기능을 대상으로 하는 대부분의 디바이스는 전화 통신 사용도 대상으로 합니다. 두 시나리오는 모두 마이크가 있는 디바이스를 사용하여 사람의 음성을 포착하고, 오디오 처리 파이프라인을 사용하여 환경에서 노이즈를 제거하며, 사람의 음성을 자동으로 보정하고, 애플리케이션에서 음성을 이해하기 위해 명확한 음성 신호를 사용한다 점에서 매우 비슷합니다.

차이점은 음성 신호를 사용하는 주체 또는 대상에 있습니다. 전화 통신에는 음성 지각력 및 음성 명료도가 가장 중요한 인간 소비자가 있습니다. 음성 인식에는 알고리즘 소비자가 있습니다. 여기서 음성 신호의 특정 기능에 대해 학습된 기계 학습은 인식되는 대상 및 이러한 기능이 반드시 지각 규범과 일치하지 않는 경우를 결정합니다.

음성 지각력은 음성 인식 정확도와 상관 관계가 있는 경우가 많지만 항상 그렇지는 않습니다. 이 문서에서는 음성 인식 정확도를 평가하고 최대화하는 방법에 중점을 둡니다. "음성" 신호 처리 모드를 지원하고 음성 인식을 위해 해당 모드를 구체적으로 튜닝하는 것이 좋습니다.

Skype/Lync 오디오 인증을 통과하는 것은 양호한 디바이스 오디오 성능에 대한 강력한 지표입니다.

오디오 디바이스 권장 사항

다음 섹션에서는 음성에 대한 권장 사항을 다루고 있습니다. 고품질 음성 환경을 보장하려면 이러한 성능 요구 사항에 대해 모든 디바이스를 테스트해야 합니다.

영역 지침 유형 테스트해야 하는 디바이스
Device.SpeechRecognition 고품질 음성 환경을 보장하기 위해 음성 인식 성능 요구 사항을 제공합니다. 모든 디바이스는 이러한 성능 요구 사항에 대해 테스트해야 합니다.
Device.Audio 소프트웨어 인터페이스, 통신 프로토콜 및 데이터 형식 측면에서 호스트 OS와 최적으로 작동하기 위한 지침을 제공합니다. 모든 디바이스는 이 지침에 따라 테스트해야 합니다.
Device.Audio.Acoustics 디바이스 디자인의 음향 및 관련 속성에 대한 권장 사항 및 모범 사례를 제공합니다. Microsoft의 음성 자동 보정 처리를 사용하는 디바이스와 가장 관련이 있습니다.

 

Device.SpeechRecognition

다음 표에는 다양한 환경의 디바이스에 대한 대상 음성 인식 정확도에 대한 Microsoft 권장 사항이 요약되어 있습니다. 모든 대상은 음성 정확도에 있습니다.

테스트 설명 대상 권장
Device.SpeechRecognition.Quiet 주변 노이즈(노이즈 플로어 < 35dBA SPL)가 최소이고 수신(반향 경로) 노이즈가 없는 이상적인 환경입니다. 조용함 <= 35dBA SPL 95%
Device.SpeechRecognition.AmbientNoise 다양한 수준 및 시끄러운 환경의 유형(예: Café & Pub). 주변 노이즈 @ DUT >= 57dBA SPL 90%
Device.SpeechRecognition.EchoNoise 다양한 수준 및 유형의 렌더링 재생 시나리오(예: 미디어 재생) 반향 노이즈 @ LRP >= 70dBA SPL 90%

Device.Audio

이 섹션의 권장 사항은 디바이스의 소프트웨어/하드웨어 인터페이스, 통신 프로토콜 및 데이터 형식에 관한 것입니다. 음성 인식 기능을 사용하려는 디바이스는 모든 Device.Audio 요구 사항을 충족해야 합니다.

이름 권장
Device.Audio.Base.AudioProcessing 드라이버는 FXStreamCLSID, FXModeCLSID 및 FXEndpointCLSID APO(또는 프록시 APO)를 통해 모든 오디오 효과를 공개해야 합니다. APO는 쿼리할 때 시스템에 사용하도록 설정된 효과의 정확한 목록을 보내야 합니다. 드라이버는 APO 변경 알림을 지원하고 APO 변경이 발생한 경우에만 시스템에 알려야 합니다.
Device.Audio.Base.StreamingFormats 음성 인식은 StreamingFormats HLK에 정의된 모든 오디오 캡처 및 렌더링 스트리밍 형식에서 작동하며, 최적은 24비트 캡처 및 모노 렌더링의 경우 16kHz입니다.
Device.Audio.Base.SamplePositionAccuracy 오디오 신호를 렌더링하고 캡처하는 경우 1) 정확하게 샘플링하고 2) 정확하게 타임스탬프를 찍어야 합니다.
Device.Audio.USB.USB 모든 USB 오디오 입력 디바이스는 USB.org 디바이스 클래스 사양에 따라 설명자를 올바르게 설정해야 합니다.
드라이버 지침 WDM 오디오 드라이버 개발 로드맵

 

Device.Audio.Acoustics

이 섹션의 권장 사항은 마이크 및 스피커 배치, 마이크 응답, 디바이스로부터 수신된 노이즈 등과 같은 디바이스의 음향 및 관련 속성에 관한 것입니다. 마이크 선택, 배치, 통합 및 배열 디자인은 고품질 음성 인식 성능을 지원하는 가장 중요한 요소 중 일부입니다.

권장 사항 및 테스트는 음성 자동 보정 처리 전의 신호와 관련이 있지만 마이크 이퀄라이제이션 및 고정 마이크 게인 이후의 신호입니다.

권장 마이크 배열 기하 도형을 포함하여 이러한 모든 권장 사항에 대한 자세한 내용은 마이크 배열 기하 도형 설명자 형식을 참조하세요.

이름 권장
Device.Audio.Acoustics.MicArray Windows의 마이크 배열 지원을 참조하세요. 오디오 드라이버는 KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY 속성을 구현해야 합니다. 그러면 Windows.Devices.Enumeration API를 통해 System.Devices.MicrophoneArray.Geometry 속성에 액세스할 수 있습니다. USB 오디오 드라이버는 USB 설명자에 적절한 필드가 설정된 USB 마이크 배열에 대해 이 속성을 지원합니다.
마이크 배열 설명자 디바이스는 마이크 배열 설명자를 사용하여 마이크 유형과 기하 도형을 설명해야 합니다.
Device.Audio.Acoustics.MicSensitivity Max(최대) 권장 사항은 "큰 소리", Min(최소) 권장 사항은 "조용한 소리"로 간주되는 음성 입력 수준을 지원할 수 있도록 설정됩니다.
Device.Audio.Acoustics.MicIntegration 마이크와 디바이스 섀시 사이에 그리고 적절한 경우 마이크 포팅 튜브를 따라 양호한 음향 밀봉을 보장하기 위해 마이크를 통합해야 합니다. 시스템과 마이크 사이의 음향 노이즈와 진동을 최소화합니다. 두 가지 일반적인 해결 방법은 고무 부트 또는 개스킷을 사용하는 것입니다. 어떤 방법을 선택하든 음향 밀봉이 모든 생성 허용 오차와 환경 및 수명 변경 모두에서 충분한지 확인합니다.
Device.Audio.Acoustics.MicPlacement 마이크는 스피커, 팬, 키보드, 하드 드라이브 및 사용자의 손과 같은 노이즈 원본에서 최대한 멀리 배치하고, 말하는 사람의 입에 최대한 가까이 배치합니다.
Device.Audio.Acoustics.MicSelfNoise 고품질 마이크를 사용하면 마이크 내부 노이즈를 최소화할 수 있습니다. SNR이 61dB 이상인 마이크는 표준에 권장되고, 63dB는 프리미엄에 권장됩니다.
Device.Audio.Acoustics.MicReceivedNoise 수신된 노이즈의 두 가지 주요 원본은 음향 노이즈와 전기 노이즈입니다. 음향 노이즈는 디바이스 외부에서 발생하거나 팬, 하드 디스크 등으로 인해 디바이스 내부에서 생성될 수 있습니다. 음향 노이즈는 디바이스 메커니즘을 통해 전송될 수도 있습니다. 아날로그 마이크 대신 디지털 마이크를 사용하여 전기 노이즈를 최소화할 수 있습니다.
Device.Audio.Acoustics.MicMagnitudeResponse 프리미엄 및 표준 마스크는 Device.Audio.Acoustics.Bandwidth 아래의 모든 디바이스 계층에 적용됩니다. 예를 들어 디바이스에는 해당 대역 내에서 표준 대역폭(협대역) 및 프리미엄 크기 응답이 있을 수 있습니다.
Device.Audio.Acoustics.MicPhaseResponseMatching 이 권장 사항은 배열의 마이크 요소를 통해 수신된 신호 간의 시간 관계가 배열에 있는 마이크 요소의 물리적 기하 도형과 일치하도록 합니다.
Device.Audio.Acoustics.MicDistortion THD 목표도 제공되지만 SDNR(펄스 노이즈 신호 대 왜곡 및 노이즈 비율)을 사용하여 왜곡을 측정하는 것이 좋습니다.
Device.Audio.Acoustics.MicBandwidth 캡처 신호의 샘플 속도는 음성 신호의 유효 대역폭을 결정하는 주요 요소입니다. 음성 플랫폼은 음성 인식기에서 16kHz 음향 모델을 사용하므로 16kHz의 최소 샘플 속도를 사용하는 것이 좋습니다. 300Hz는 음성 인식기의 유효 하한이지만, 200Hz는 음성 통신을 대상으로 하는 디바이스에도 권장되는 음향 제한입니다.
Device.Audio.Acoustics.RenderDistortion THD 목표도 제공되지만 SDNR(펄스 노이즈 신호 대 왜곡 및 노이즈 비율)을 사용하여 왜곡을 측정하는 것이 좋습니다.
Device.Audio.Acoustics.RenderPlacement 음향 반향 제거기가 제대로 작동하도록 하려면 디바이스 스피커를 마이크에서 가장 먼 거리에 배치하거나 스피커를 향한 방향성을 null로 배치해야 합니다.

 

타사 자동 보정 파이프라인을 사용하도록 설정하기 위한 요구 사항

타사 자동 보정 파이프라인을 사용하도록 설정하는 데 중요한 요구 사항은 다음과 같습니다. 이러한 권장 사항 및 기타 권장 사항은 다음 섹션에서 자세히 설명합니다.

  • 마이크 위치 보고 – 마이크 배열에 대한 보고 구조를 구현하는 방법을 설명합니다.

  • 음성 모드는 다음을 지원합니다.

    • 특정 모드에 APO를 등록하는 방법

    • 오디오 신호 처리 모드

  • Device.Audio.Base.Audioprocessing – 타사 파이프라인에는 AEC(음향 반향 제거) 및 NS(노이즈 억제)가 필요합니다.

    • 오디오 처리 개체 구현

    • 오디오 처리 개체 아키텍처

Windows 하드웨어 호환성 프로그램

Windows Hardware Lab Kit

Skype/Lync 오디오 인증

Windows의 마이크 배열 지원