Áudio
Este documento fornece recomendações para o design e o desenvolvimento de dispositivos de áudio, incluindo dispositivos de reprodução de áudio e entrada de áudio destinados a uso com a Plataforma de Fala da Microsoft. A Plataforma de Fala é usada para impulsionar todas as experiências de fala no Windows, como Digitação de Voz e Legendas Ao Vivo. O objetivo deste documento é permitir que os parceiros do ecossistema criem dispositivos com experiência de áudio otimizada com a tecnologia da Microsoft.
Requisitos mínimos de hardware e o Programa de Compatibilidade de Hardware do Windows
Os requisitos mínimos de hardware e os requisitos do Programa de Compatibilidade de Hardware do Windows são fundamentais para a criação de soluções de áudio compatíveis com o Windows. Embora os programas sejam opcionais, é altamente recomendável que os produtos de áudio atendam aos dois conjuntos de requisitos para garantir a qualidade básica do áudio.
Para obter mais detalhes sobre cada um:
Consulte a seção 6.2.2 em Requisitos mínimos de hardware
Cenário para otimizar a reprodução de áudio de vários fluxos
Embora o multi-streaming não seja mais um requisito para a edição do Windows 10 Desktop, é altamente recomendável ter um mínimo de dois Conversores Digitais para Analógicos (DAC) para dar suporte a cenários de multi-streaming. Se um único DAC (como um fone de ouvido redirecionado) for usado, é altamente recomendável dar suporte ao controle de volume de áudio e status independentemente para cada ponto de extremidade de áudio (por exemplo, alto-falantes integrados ou uma tomada de áudio de 3,5 mm) para que as preferências de configuração do usuário possam ser mantidas.
Otimizando uma solução de áudio para fala e comunicações
Depois que a solução de áudio atender aos requisitos mínimos de hardware e aos requisitos do Programa de Compatibilidade do Windows, a solução de áudio fornecerá experiências básicas de áudio no Windows. Dependendo do segmento de mercado de destino, um dispositivo pode dar suporte a duas otimizações adicionais: Plataforma de Fala e Skype. As recomendações para a Plataforma de Fala e o Skype se baseiam nos requisitos para uma experiência básica de áudio. Seria um desafio otimizar para a Plataforma de Fala ou o Skype se a solução de áudio não atendesse totalmente aos requisitos básicos.
Observação
As diretrizes para telefonia e aplicativos como o Skype serão complementadas a este tópico quando estiverem disponíveis.
Reconhecimento de fala no Windows
Os fabricantes de dispositivos são incentivados a integrar e ajustar o processamento de aprimoramento de fala em seu dispositivo, a fim de otimizar o desempenho em relação aos critérios de teste de Reconhecimento de Fala.
Para dispositivos sem processamento de aprimoramento de fala integrado, a Microsoft fornece processamento padrão no Windows. O processamento de aprimoramento de fala da Microsoft não precisa de ajuste específico do dispositivo pelo IHV.
O pipeline de aprimoramento de fala da Microsoft será usado se o driver de áudio não expor uma geometria do microfone e o processamento de sinal de áudio para fala. Para utilizar aprimoramentos de terceiros, a geometria do microfone deve ser fornecida, dar suporte ao modo de processamento de sinal de "fala" na entrada de áudio e garantir que os efeitos fornecidos pelo driver de áudio ou suas APOs de software incluam pelo menos supressão de ruído e cancelamento de eco.
Diferença entre reconhecimento de fala e telefonia
Muitos dispositivos direcionados à funcionalidade de Reconhecimento de Fala também terão como destino o uso de telefonia. As semelhanças são evidentes – ambos os cenários usam dispositivos com microfones para captar fala humana, pipelines de processamento de áudio para remover ruídos do ambiente e aprimorar a fala humana e consumir aplicativos que dependem de um sinal de fala claro para entender a fala.
As diferenças estão em quem ou no que consome o sinal de fala. A telefonia tem um consumidor humano, para quem a qualidade perceptiva da voz e a inteligibilidade de fala são primordiais. O reconhecimento de fala tem um consumidor algorítmico, em que o aprendizado de máquina treinado em recursos específicos do sinal de fala determina o que é reconhecido e onde esses recursos não necessariamente se alinham às normas perceptivas.
A qualidade de voz perceptiva geralmente está correlacionada com a precisão do reconhecimento de fala, mas nem sempre é o caso. Este documento se concentra em métodos de avaliação e maximização da precisão do reconhecimento de fala. É recomendável dar suporte ao modo de processamento de sinal de "fala" e ajustar esse modo especificamente para reconhecimento de fala.
Passar pela certificação de áudio do Skype/Lync é um forte indicador de bom desempenho de áudio do dispositivo.
Recomendações de dispositivo de áudio
As seções a seguir abrangem recomendações de fala. Para garantir uma experiência de fala de alta qualidade, todos os dispositivos devem ser testados em relação a esses requisitos de desempenho.
Área | Tipo de orientação | Quais dispositivos devem ser testados |
---|---|---|
Device.SpeechRecognition | Fornece os requisitos de desempenho de reconhecimento de fala para garantir uma experiência de fala de alta qualidade. | Todos os dispositivos devem ser testados em relação a esses requisitos de desempenho. |
Device.Audio | Fornece diretrizes para funcionar de forma ideal com o sistema operacional host em termos de interfaces de software, protocolos de comunicação e formatos de dados. | Todos os dispositivos devem ser testados em relação a essas diretrizes. |
Device.Audio.Acoustics | Fornece recomendações e práticas recomendadas para acústica e propriedades relacionadas do design do dispositivo. | Mais relevante para dispositivos que usarão o processamento de aprimoramento de fala da Microsoft. |
Device.SpeechRecognition
A tabela a seguir resume as recomendações da Microsoft para precisão de reconhecimento de fala de destino para dispositivos em vários ambientes. Todos os destinos estão em precisão de fala.
Teste | Descrição | Destino | Recomendação |
---|---|---|---|
Device.SpeechRecognition.Quiet | Um ambiente ideal com ruído ambiente mínimo (spl de piso < de ruído 35 dBA) e nenhum ruído de recebimento (caminho de eco). | Quiet <= 35 dBA SPL | 95% |
Device.SpeechRecognition.AmbientNoise | Vários níveis e tipos de ambientes barulhentos, por exemplo, Café & Pub. | Ruído ambiente @ DUT >= 57 dBA SPL | 90% |
Device.SpeechRecognition.EchoNoise | Vários níveis e tipos de cenários de reprodução de renderização (por exemplo, reprodução de mídia). | Echo Noise @ LRP >= 70 dBA SPL | 90% |
Device.Audio
Recomendações nesta seção são feitas sobre as interfaces de software e hardware, protocolos de comunicação e formatos de dados do dispositivo. Os dispositivos destinados a usar a funcionalidade de reconhecimento de fala devem atender a todos os Requisitos de Device.Audio.
Nome | Recomendação |
---|---|
Device.Audio.Base.AudioProcessing | Os drivers devem expor todo o efeito de áudio por meio dos APOs FXStreamCLSID, FXModeCLSID e FXEndpointCLSID (ou APOs proxy). As APOs devem enviar uma lista precisa de efeitos habilitados para o sistema quando consultados. Os drivers devem dar suporte a notificações de alteração do APO e somente notificar o sistema quando ocorrer uma alteração de APO. |
Device.Audio.Base.StreamingFormats | Funções de reconhecimento de fala em todos os formatos de streaming de captura e renderização de áudio definidos no HLK StreamingFormats, com o ideal sendo 16 kHz com captura de 24 bits e renderização mono. |
Device.Audio.Base.SamplePositionAccuracy | É importante que os sinais de áudio de renderização e captura sejam ambos 1) amostrados com precisão e 2) com carimbo de data/hora com precisão. |
Device.Audio.USB.USB | Todos os dispositivos de entrada de áudio USB devem definir corretamente o descritor de acordo com a especificação de classe de dispositivo USB.org. |
Diretrizes do driver | Roteiro para desenvolver drivers de áudio WDM |
Device.Audio.Acoustics
Recomendações nesta seção são feitas sobre as propriedades acústicas e relacionadas do dispositivo, como posicionamento de microfone e alto-falante, respostas de microfone, ruído recebido do dispositivo e assim por diante. Seleção de microfone, posicionamento, integração e design de matriz são alguns dos fatores mais importantes para dar suporte ao desempenho de reconhecimento de fala de qualidade.
As recomendações e os testes são relativos ao sinal antes do processamento do aprimoramento da fala, mas após a equalização do microfone e o ganho fixo do microfone.
Para obter mais detalhes sobre todas essas recomendações, incluindo geometrias de matriz de microfone recomendadas, consulte Formato de descritor geometry de matriz de microfone.
Nome | Recomendação |
---|---|
Device.Audio.Acoustics.MicArray | Consulte Suporte à matriz de microfone no Windows. O driver de áudio deve implementar a propriedade KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY . Em seguida, a propriedade System.Devices.MicrophoneArray.Geometry pode ser acessada por meio da API Windows.Devices.Enumeration. O driver de áudio USB dará suporte a essa propriedade para matrizes de microfone USB que têm os campos apropriados definidos no descritor USB. |
Descritor de matriz de microfone | O dispositivo deve descrever seu tipo de microfone e geometria usando o descritor de matriz de microfone. |
Device.Audio.Acoustics.MicSensitivity | A recomendação Max é definida para dar suporte aos níveis de entrada de fala considerados "altos" e a recomendação Min está definida para ser capaz de dar suporte aos níveis de entrada de fala considerados "silenciosos". |
Device.Audio.Acoustics.MicIntegration | Os microfones devem ser integrados para garantir um bom selo acústico entre o microfone e o chassi do dispositivo e, se apropriado, ao longo do tubo de portabilidade do microfone. Minimize o ruído acústico e a vibração entre o sistema e o microfone. Duas soluções típicas são usar uma bota de borracha ou uma junta. Qualquer método escolhido marcar que o selo acústico seja suficiente em todas as tolerâncias de produção e ao longo de alterações ambientais e de tempo de vida. |
Device.Audio.Acoustics.MicPlacement | Coloque o microfone o mais longe possível de fontes de ruído, como alto-falantes, ventiladores, teclados, discos rígidos e as mãos do usuário e o mais próximo possível da boca do alto-falante. |
Device.Audio.Acoustics.MicSelfNoise | O uso de um microfone de alta qualidade minimizará o ruído interno do microfone. Microfones com um SNR de pelo menos 61 bancos de dados nominais são recomendados para Standard e 63 dB para Premium. |
Device.Audio.Acoustics.MicReceivedNoise | As duas fontes main de ruído recebido são ruído acústico e ruído elétrico. O ruído acústico pode vir de fora do dispositivo ou ser gerado internamente no dispositivo devido a ventiladores, discos rígidos etc. O ruído acústico também pode ser transmitido pela mecânica do dispositivo. O ruído elétrico pode ser minimizado usando microfones digitais em vez de microfones analógicos. |
Device.Audio.Acoustics.MicMagnitudeResponse | As máscaras Premium e Standard se aplicam a todas as camadas de dispositivo em Device.Audio.Acoustics.Bandwidth, por exemplo, um dispositivo pode ter largura de banda Standard (banda estreita) e uma resposta de magnitude Premium dentro dessa banda. |
Device.Audio.Acoustics.MicPhaseResponseMatching | Essa recomendação garante que a relação temporal entre sinais recebidos por meio de elementos de microfone em uma matriz seja consistente com a geometria física dos elementos de microfone na matriz. |
Device.Audio.Acoustics.MicDistortion | Recomenda-se que a distorção seja medida usando SDNR (taxa de ruído pulsada de sinal para distorção e ruído), embora também sejam fornecidas metas de THD. |
Device.Audio.Acoustics.MicBandwidth | A taxa de amostragem do sinal de captura é o principal fator na determinação da largura de banda efetiva do sinal de fala. Como a plataforma de fala usa modelos acústicos de 16 kHz no reconhecedor de fala, uma taxa de amostragem mínima de 16 kHz é recomendada. 300 Hz é a extremidade inferior efetiva do reconhecedor de fala, no entanto, 200 Hz é o limite acústico recomendado para dispositivos que também direcionam comunicações de voz. |
Device.Audio.Acoustics.RenderDistortion | Recomenda-se que a distorção seja medida usando SDNR (taxa de ruído pulsada de sinal para distorção e ruído), embora também sejam fornecidas metas de THD. |
Device.Audio.Acoustics.RenderPlacement | Para permitir que o cancelador de eco acústico funcione bem, os alto-falantes do dispositivo devem ser colocados a uma distância máxima dos microfones ou colocar nulos de directividade em direção aos alto-falantes. |
Requisitos para habilitar um pipeline de aprimoramento de terceiros
Os requisitos a seguir são fundamentais para habilitar um pipeline de aprimoramento de terceiros. Essas e outras recomendações são abordadas mais detalhadamente nas seguintes seções:
Relatório de localização do microfone – explica como implementar uma estrutura de relatório para uma matriz de microfone.
O modo de fala dá suporte a:
Como registrar APOs para modos específicos
Modos de processamento de sinal de áudio
Device.Audio.Base.Audioprocessing – Cancelamento de Eco Acústico (AEC) e NS (Supressão de Nosie) são necessários para pipeline de terceiros:
Implementando objetos de processamento de áudio
Arquitetura do objeto de processamento de áudio
Recursos relacionados
Programa de Compatibilidade de Hardware do Windows