Audio
Questo documento fornisce suggerimenti per la progettazione e lo sviluppo di dispositivi audio, tra cui la riproduzione audio e i dispositivi di input audio destinati all'uso con La piattaforma di riconoscimento vocale Di Microsoft. Speech Platform consente di usare tutte le esperienze vocali in Windows, ad esempio digitazione vocale e sottotitoli in tempo reale. L'obiettivo di questo documento è consentire ai partner dell'ecosistema di creare dispositivi con un'esperienza audio ottimizzata con la tecnologia Microsoft.
Requisiti hardware minimi e programma di compatibilità hardware Windows
I requisiti hardware minimi e i requisiti del programma di compatibilità hardware Windows sono fondamentali per la creazione di soluzioni audio compatibili con Windows. Anche se i programmi sono facoltativi, è altamente consigliabile che i prodotti audio soddisfino entrambi i requisiti per garantire la qualità audio di base.
Per altri dettagli su ogni:
Vedere la sezione 6.2.2 in Requisiti hardware minimi
Scenario per l'ottimizzazione della riproduzione audio multi-flusso
Anche se il multi-streaming non è più un requisito per l'edizione Desktop di Windows 10, è consigliabile avere almeno due convertitori da digitale a analogico (DAC) per supportare scenari multi-streaming. Se viene usata una singola applicazione livello dati(ad esempio una cuffie reindirizzata), è consigliabile supportare il controllo del volume audio e lo stato in modo indipendente per ogni endpoint audio (ad esempio altoparlanti integrati o un jack audio da 3,5 mm) in modo che le preferenze dell'utente possano essere mantenute.
Ottimizzazione di una soluzione audio per la sintesi vocale e le comunicazioni
Una volta che la soluzione audio soddisfa i requisiti hardware minimi e i requisiti del programma di compatibilità di Windows, la soluzione audio fornirà esperienze audio di base in Windows. A seconda del segmento di mercato di destinazione, un dispositivo può supportare due ottimizzazioni aggiuntive: Speech Platform e Skype. Consigli sia per Speech Platform che per Skype si basano sui requisiti per un'esperienza audio di base. Sarebbe una sfida ottimizzare speech platform o Skype se la soluzione audio non soddisfa completamente i requisiti di base.
Nota
Le linee guida per la telefonia e le applicazioni come Skype verranno integrate in questo argomento quando sono disponibili.
Riconoscimento vocale in Windows
I produttori di dispositivi sono invitati a integrare e ottimizzare l'elaborazione del riconoscimento vocale nel dispositivo per ottimizzare le prestazioni rispetto ai criteri di test di riconoscimento vocale.
Per i dispositivi senza l'elaborazione integrata del riconoscimento vocale, Microsoft fornisce l'elaborazione predefinita in Windows. L'elaborazione dei miglioramenti vocali di Microsoft non richiede l'ottimizzazione specifica del dispositivo da parte dell'IHV.
La pipeline di miglioramento vocale Microsoft verrà usata se il driver audio non espone una geometria del microfono e l'elaborazione del segnale audio per la voce. Per utilizzare miglioramenti di terze parti, è necessario fornire la geometria del microfono, supportare la modalità di elaborazione del segnale vocale sull'input audio e assicurarsi che gli effetti forniti dal driver audio o dalle relative API software includano almeno l'eliminazione del rumore e l'annullamento dell'eco.
Differenza tra riconoscimento vocale e telefonia
Molti dispositivi destinati alla funzionalità riconoscimento vocale sono destinati anche all'utilizzo della telefonia. Le analogie sono evidenti: entrambi gli scenari usano dispositivi con microfoni per raccogliere la voce umana, le pipeline di elaborazione audio per rimuovere il rumore dall'ambiente e migliorare la voce umana e utilizzare applicazioni che si basano su un segnale vocale chiaro per comprendere il parlato.
Le differenze si trovano in chi o cosa utilizza il segnale vocale. La telefonia ha un consumatore umano, per cui la qualità della voce e l'intelligibilità vocale sono fondamentali. Il riconoscimento vocale ha un consumer algoritmico, in cui l'apprendimento automatico è stato sottoposto a training su funzionalità specifiche del segnale vocale determina cosa viene riconosciuto e dove tali funzionalità non sono necessariamente allineate alle norme percettive.
La qualità della voce percettiva è spesso correlata all'accuratezza del riconoscimento vocale, ma questo non è sempre il caso. Questo documento è incentrato sui metodi di valutazione e ottimizzazione dell'accuratezza del riconoscimento vocale. È consigliabile supportare la modalità di elaborazione del segnale vocale e ottimizzare tale modalità specificamente per il riconoscimento vocale.
Il passaggio della certificazione audio Skype/Lync è un forte indicatore di buone prestazioni audio del dispositivo.
Raccomandazioni per i dispositivi audio
Le sezioni seguenti illustrano le raccomandazioni per il parlato. Per garantire un'esperienza vocale di alta qualità, tutti i dispositivi devono essere testati in base a questi requisiti di prestazioni.
Area | Tipo di materiale sussidiario | Quali dispositivi devono essere testati |
---|---|---|
Device.SpeechRecognition | Fornisce i requisiti di prestazioni del riconoscimento vocale per garantire un'esperienza vocale di alta qualità. | Tutti i dispositivi devono essere testati in base a questi requisiti di prestazioni. |
Device.Audio | Fornisce linee guida per funzionare in modo ottimale con il sistema operativo host in termini di interfacce software, protocolli di comunicazione e formati di dati. | Tutti i dispositivi devono essere testati in base a queste linee guida. |
Device.Audio.Acoustics | Fornisce raccomandazioni e procedure consigliate per l'acustica e le proprietà correlate della progettazione dei dispositivi. | Più rilevante per i dispositivi che useranno l'elaborazione del miglioramento vocale di Microsoft. |
Device.SpeechRecognition
La tabella seguente riepiloga le raccomandazioni Microsoft per l'accuratezza del riconoscimento vocale di destinazione per i dispositivi in vari ambienti. Tutte le destinazioni sono nell'accuratezza del parlato.
Test | Descrizione | Destinazione | Elemento consigliato |
---|---|---|---|
Device.SpeechRecognition.Quiet | Un ambiente ideale con rumore ambientale minimo (piano < rumore 35 dBA SPL) e nessun rumore di ricezione (percorso eco). | Quiet <= 35 dBA SPL | 95% |
Device.SpeechRecognition.AmbientNoise | Vari livelli e tipi di ambienti rumorosi, ad esempio Café & Pub. | Rumore ambientale @ DUT >= 57 dBA SPL | 90% |
Device.SpeechRecognition.EchoNoise | Vari livelli e tipi di scenari di riproduzione di rendering (ad esempio, riproduzione multimediale). | Echo Noise @ LRP >= 70 dBA SPL | 90% |
Device.Audio
Consigli in questa sezione vengono eseguite informazioni sulle interfacce software e hardware, i protocolli di comunicazione e i formati di dati del dispositivo. I dispositivi destinati all'uso della funzionalità di riconoscimento vocale devono soddisfare tutti i requisiti di Device.Audio.
Nome | Elemento consigliato |
---|---|
Device.Audio.Base.AudioProcessing | I driver devono esporre tutti gli effetti audio tramite le API FXStreamCLSID, FXModeCLSID e FXEndpointCLSID (o API proxy). Le API devono inviare un elenco accurato di effetti abilitati al sistema quando viene eseguita una query. I driver devono supportare le notifiche di modifica apo e notificare al sistema solo quando si è verificata una modifica apo. |
Device.Audio.Base.StreamingFormats | Le funzioni di riconoscimento vocale in tutti i formati di streaming di rendering e acquisizione audio definiti in StreamingFormats HLK, con un rendering ottimale di 16 kHz con acquisizione a 24 bit e rendering mono. |
Device.Audio.Base.SamplePositionAccuracy | È importante che il rendering e l'acquisizione dei segnali audio siano entrambi 1) campionati con precisione e 2) con timestamp. |
Device.Audio.USB.USB | Tutti i dispositivi di input audio USB devono impostare correttamente il descrittore in base alla specifica della classe di dispositivo USB.org. |
Linee guida per i driver | Roadmap per lo sviluppo di driver audio WDM |
Device.Audio.Acoustics
Consigli in questa sezione vengono effettuate in relazione alle proprietà acustiche e correlate del dispositivo, ad esempio il posizionamento del microfono e dell'altoparlante, le risposte del microfono, il rumore ricevuto dal dispositivo e così via. La selezione del microfono, il posizionamento, l'integrazione e la progettazione di matrici sono alcuni dei fattori più importanti per supportare le prestazioni di riconoscimento vocale di qualità.
Le raccomandazioni e i test sono relativi al segnale prima dell'elaborazione del miglioramento vocale, ma dopo l'equalizzazione del microfono e il guadagno fisso del microfono.
Per altri dettagli su tutte queste raccomandazioni, incluse le geometrie della matrice di microfoni consigliate, vedere Microphone Array Geometry Descriptor Format (Formato del descrittore geometry della matrice di microfoni).
Nome | Elemento consigliato |
---|---|
Device.Audio.Acoustics.MicArray | Fare riferimento al supporto dell'array di microfoni in Windows. Il driver audio deve implementare la proprietà KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY . È quindi possibile accedere alla proprietà System.Devices.MicrophoneArray.Geometry tramite l'API Windows.Devices.Enumeration. Il driver audio USB supporterà questa proprietà per le matrici di microfoni USB con i campi appropriati impostati nel descrittore USB. |
Descrittore matrice microfono | Il dispositivo deve descrivere il tipo di microfono e la geometria usando il descrittore della matrice di microfoni. |
Device.Audio.Acoustics.MicSensitivity | La raccomandazione Max è impostata per poter supportare i livelli di input vocale considerati "rumorosi" e la raccomandazione Min è impostata per poter supportare i livelli di input vocale considerati "silenziosi". |
Device.Audio.Acoustics.MicIntegration | I microfoni devono essere integrati per garantire una buona tenuta acustica tra il microfono e lo chassis del dispositivo, e, se appropriato, lungo il tubo di conversione del microfono. Ridurre al minimo il rumore acustico e la vibrazione tra il sistema e il microfono. Due soluzioni tipiche sono l'uso di un stivali di gomma o di una stivale. Indipendentemente dal metodo scelto, verificare che il sigillo acustico sia sufficiente per tutte le tolleranze di produzione e per i cambiamenti di durata e ambientali. |
Device.Audio.Acoustics.MicPlacement | Posizionare il microfono il più lontano possibile da fonti di rumore come altoparlanti, fan, tastiere, dischi rigidi e le mani dell'utente, e il più vicino possibile alla bocca dell'altoparlante. |
Device.Audio.Acoustics.MicSelfNoise | L'uso di un microfono di alta qualità riduce al minimo il rumore interno del microfono. I microfoni con snr di almeno 61 dB nominale sono consigliati per Standard e 63 dB per Premium. |
Device.Audio.Acoustics.MicReceivedNoise | Le due principali fonti di rumore ricevuto sono il rumore acustico e il rumore elettrico. Il rumore acustico può provenire dall'esterno del dispositivo o essere generato internamente nel dispositivo a causa di ventole, dischi rigidi e così via. Il rumore acustico può anche essere trasmesso attraverso la meccanica del dispositivo. Il rumore elettrico può essere ridotto al minimo usando microfoni digitali anziché microfoni analogici. |
Device.Audio.Acoustics.MicMagnitudeResponse | Le maschere Premium e Standard si applicano a tutti i livelli di dispositivo in Device.Audio.Acoustics.Bandwidth, ad esempio un dispositivo può avere una larghezza di banda Standard (banda stretta) e una risposta di grandezza Premium all'interno di tale banda. |
Device.Audio.Acoustics.MicPhaseResponseMatching | Questa raccomandazione garantisce che la relazione temporale tra i segnali ricevuti tramite gli elementi del microfono in una matrice sia coerente con la geometria fisica degli elementi del microfono nella matrice. |
Device.Audio.Acoustics.MicDistortion | La distorsione è consigliata per essere misurata usando SDNR (rapporto segnale acustico a distorsione e rumore a impulsi), anche se vengono fornite anche destinazioni THD. |
Device.Audio.Acoustics.MicBandwidth | La frequenza di campionamento del segnale di acquisizione è il fattore principale per determinare la larghezza di banda effettiva del segnale vocale. Poiché la piattaforma di riconoscimento vocale usa modelli acustici a 16 kHz nel riconoscimento vocale, è consigliabile una frequenza di campionamento minima di 16 kHz. 300 Hz è l'estremità inferiore effettiva del riconoscimento vocale, tuttavia 200 Hz è il limite acustico consigliato per i dispositivi destinati anche alle comunicazioni vocali. |
Device.Audio.Acoustics.RenderDistortion | La distorsione è consigliata per essere misurata usando SDNR (rapporto segnale acustico a distorsione e rumore a impulsi), anche se vengono fornite anche destinazioni THD. |
Device.Audio.Acoustics.RenderPlacement | Per consentire il corretto funzionamento del canceller echo acustico, gli altoparlanti del dispositivo devono essere posizionati a una distanza massima dai microfoni o posizionare null di directivity verso altoparlanti. |
Requisiti per abilitare una pipeline di miglioramento di terze parti
I requisiti seguenti sono fondamentali per abilitare una pipeline di miglioramento di terze parti. Questi e altri consigli sono trattati in modo più dettagliato nelle sezioni seguenti:
Segnalazione della posizione del microfono: spiega come implementare una struttura di report per una matrice di microfoni.
La modalità Voce supporta:
Come registrare le API per modalità specifiche
Modalità di elaborazione dei segnali audio
Device.Audio.Base.Audioprocessing - L'annullamento dell'eco acustico (AEC) e la soppressione nosie (NS) sono necessari per la pipeline di terze parti:
Implementazione di oggetti di elaborazione audio
Architettura degli oggetti di elaborazione audio
Risorse correlate
Programma di compatibilità hardware Windows