Audio
Dieses Dokument enthält Empfehlungen für das Design und die Entwicklung von Audiogeräten, einschließlich Audiowiedergabe- und Audioeingabegeräten, die für die Verwendung mit der Azure Cognitive Service für Speech von Microsoft vorgesehen sind. Die Sprachplattform wird verwendet, um alle Sprachfunktionen in Windows zu unterstützen, z. B. Spracheingabe und Liveuntertitel. Das Ziel dieses Dokuments ist es, Ökosystempartner in die Lage zu versetzen, Geräte mit optimiertem Audioerlebnis mit Microsoft-Technologie zu bauen.
Mindestanforderungen an die Hardware und das Windows-Hardwarekompatibilitätsprogramm
Die minimalen Hardwareanforderungen und die Anforderungen des Windows-Hardwarekompatibilitätsprogramms sind grundlegend für die Erstellung von Windows-kompatiblen Audiolösungen. Obwohl die Programme optional sind, wird dringend empfohlen, dass Audioprodukte beide Anforderungen erfüllen, um eine grundlegende Audioqualität sicherzustellen.
Für weitere Details zu jedem:
Siehe Abschnitt 6.2.2 in Mindestanforderungen an die Hardware
Szenario zur Optimierung der Multistream-Audiowiedergabe
Obwohl Multi-Streaming für die Windows 10 Desktop Edition nicht mehr erforderlich ist, wird dringend empfohlen, mindestens zwei Digital-Analog-Konverter (DAC) zu haben, um Multi-Streaming-Szenarien zu unterstützen. Wenn ein einzelner DAC (z. B. ein umgeleiteter Kopfhörer) verwendet wird, wird dringend empfohlen, die Audiolautstärkeregelung und den Status unabhängig für jeden Audioendpunkt (z. B. integrierte Lautsprecher oder eine 3,5-mm-Audiobuchse) zu unterstützen, damit Benutzereinstellungen vornehmen können beibehalten werden.
Optimierung einer Audiolösung für Sprache und Kommunikation
Sobald die Audiolösung sowohl die Mindesthardwareanforderungen als auch die Anforderungen des Windows-Kompatibilitätsprogramms erfüllt, bietet die Audiolösung grundlegende Audioerlebnisse in Windows. Abhängig vom angestrebten Marktsegment kann ein Gerät zwei zusätzliche Optimierungen unterstützen: Speech Platform und Skype. Empfehlungen für die Azure Cognitive Service für Speech und Skype bauen auf den Anforderungen für ein grundlegendes Audioerlebnis auf. Es wäre eine Herausforderung, für Speech Platform oder Skype zu optimieren, wenn die Audiolösung die grundlegenden Anforderungen nicht vollständig erfüllt.
Hinweis
Richtlinien für Telefonie und Anwendungen wie Skype werden zu diesem Thema ergänzt, sobald sie verfügbar sind.
Spracherkennung in Windows
Gerätehersteller werden ermutigt, die Sprachverbesserungsverarbeitung in ihr Gerät zu integrieren und abzustimmen, um die Leistung in Bezug auf die Azure Cognitive Service für Speech zu optimieren.
Für Geräte ohne integrierte Sprachverbesserungsverarbeitung stellt Microsoft die Standardverarbeitung in Windows bereit. Die Sprachverbesserungsverarbeitung von Microsoft benötigt keine gerätespezifische Abstimmung durch den IHV.
Die Microsoft-Sprachverbesserungspipeline wird verwendet, wenn der Audiotreiber keine Mikrofongeometrie und Audiosignalverarbeitung für Sprache bereitstellt. Um Erweiterungen von Drittanbietern nutzen zu können, muss die Mikrofongeometrie bereitgestellt werden, den Signalverarbeitungsmodus „Sprache“ am Audioeingang unterstützen und sicherstellen, dass die vom Audiotreiber oder seinen Software-APOs bereitgestellten Effekte mindestens Rauschunterdrückung und Echounterdrückung umfassen.
Unterschied zwischen Azure Cognitive Service für Speech und Telefonie
Viele Geräte, die auf die Azure Cognitive Service für Speech abzielen, zielen auch auf die Telefonienutzung ab. Die Ähnlichkeiten sind offensichtlich – beide Szenarien verwenden Geräte mit Mikrofonen, um menschliche Sprache aufzunehmen, Audioverarbeitungs-Pipelines, um Geräusche aus der Umgebung zu entfernen und menschliche Sprache zu verbessern, und verbrauchende Anwendungen, die auf ein klares Sprachsignal angewiesen sind, um die Sprache zu verstehen.
Die Unterschiede liegen darin, wer oder was das Sprachsignal konsumiert. Die Telefonie hat einen menschlichen Verbraucher, für den wahrnehmbare Sprachqualität und Sprachverständlichkeit im Vordergrund stehen. Die Azure Cognitive Service für Speech hat einen algorithmischen Verbraucher, bei dem maschinelles Lernen, das auf bestimmte Merkmale des Sprachsignals trainiert ist, bestimmt, was erkannt wird, und bei dem diese Merkmale nicht unbedingt an Wahrnehmungsnormen ausgerichtet sind.
Die wahrgenommene Sprachqualität korreliert oft mit der Genauigkeit der Spracherkennung, aber das ist nicht immer der Fall. Dieses Dokument konzentriert sich auf Methoden zur Bewertung und Maximierung der Spracherkennungsgenauigkeit. Es wird empfohlen, den Signalverarbeitungsmodus „Sprache“ zu unterstützen und diesen Modus speziell für die Spracherkennung einzustellen.
Das Bestehen der Skype/Lync-Audiozertifizierung ist ein starker Indikator für eine gute Audioleistung des Geräts.
Empfehlungen für Audiogeräte
Die folgenden Abschnitte enthalten Empfehlungen für das Sprechen. Um ein qualitativ hochwertiges Spracherlebnis zu gewährleisten, sollten alle Geräte anhand dieser Leistungsanforderungen getestet werden.
Bereich | Art der Führung | Welche Geräte sollen getestet werden |
---|---|---|
Gerät.Spracherkennung | Bietet die Anforderungen an die Spracherkennungsleistung, um ein qualitativ hochwertiges Spracherlebnis zu gewährleisten. | Alle Geräte sollten anhand dieser Leistungsanforderungen getestet werden. |
Device.Audio | Bietet Richtlinien für eine optimale Funktion mit dem Host-Betriebssystem in Bezug auf Softwareschnittstellen, Kommunikationsprotokolle und Datenformate. | Alle Geräte sollten anhand dieser Richtlinien getestet werden. |
Geräte.Audio.Akustik | Bietet Empfehlungen und Best Practices für Akustik und verwandte Eigenschaften des Gerätedesigns. | Am relevantesten für Geräte, die die Sprachverbesserungsverarbeitung von Microsoft verwenden. |
Gerät.Spracherkennung
Die folgende Tabelle fasst die Microsoft-Empfehlungen für die Genauigkeit der Zielspracherkennung für Geräte in verschiedenen Umgebungen zusammen. Alle Ziele sind in Sprachgenauigkeit.
Testen | Beschreibung | Ziel | Empfehlung |
---|---|---|---|
Gerät.Spracherkennung.Quiet | Eine ideale Umgebung mit minimalen Umgebungsgeräuschen (Grundrauschen < 35 dBA SPL) und ohne Empfangsrauschen (Echoweg). | Leise <= 35 dBA SPL | 95 % |
Gerät.Spracherkennung.Umgebungsgeräusche | Verschiedene Pegel und Arten von lauten Umgebungen, z. B. Café & Pub. | Umgebungsgeräusch @ DUT >= 57 dBA SPL | 90% |
Device.SpeechRecognition.EchoNoise | Verschiedene Ebenen und Arten von Render-Wiedergabeszenarien (z. B. Medienwiedergabe). | Echorauschen bei LRP >= 70 dBA SPL | 90% |
Device.Audio
In diesem Abschnitt werden Empfehlungen zu den Software- und Hardwareschnittstellen, Kommunikationsprotokollen und Datenformaten des Geräts gegeben. Geräte, die Spracherkennungsfunktionen verwenden sollen, müssen alle Device.Audio-Anforderungen erfüllen.
Name | Empfehlung |
---|---|
Device.Audio.Base.AudioProcessing | Treiber müssen alle Audioeffekte über die FXStreamCLSID-, FXModeCLSID- und FXEndpointCLSID-APOs (oder Proxy-APOs) verfügbar machen. Die APOs müssen auf Anfrage eine genaue Liste der aktivierten Effekte an das System senden. Fahrer müssen APO-Änderungsbenachrichtigungen unterstützen und das System nur benachrichtigen, wenn eine APO-Änderung aufgetreten ist. |
Device.Audio.Base.StreamingFormats | Die Spracherkennung funktioniert unter allen Audioaufnahme- und Renderstreamingformaten, die im StreamingFormats HLK definiert sind, wobei das Optimum 16 kHz mit 24-Bit-Aufnahme und Monorendering ist. |
Device.Audio.Base.SamplePositionAccuracy | Es ist wichtig, dass Render- und Capture-Audiosignale sowohl 1) genau abgetastet als auch 2) genau mit einem Zeitstempel versehen sind. |
Device.Audio.USB.USB | Alle USB-Audioeingabegeräte müssen den Deskriptor entsprechend der Geräteklassenspezifikation von USB.org richtig einstellen. |
Fahrerrichtlinien | Roadmap für die Entwicklung von WDM-Audiotreibern |
Geräte.Audio.Akustik
In diesem Abschnitt werden Empfehlungen zu den akustischen und verwandten Eigenschaften des Geräts gegeben, wie z. B. Mikrofon- und Lautsprecherplatzierung, Mikrofonantworten, vom Gerät empfangene Geräusche usw. Mikrofonauswahl, Platzierung, Integration und Array-Design sind einige der wichtigsten Faktoren zur Unterstützung einer qualitativ hochwertigen Spracherkennungsleistung.
Die Empfehlungen und Tests beziehen sich auf das Signal vor der Sprachverbesserungsverarbeitung, aber nach Mikrofonentzerrung und fester Mikrofonverstärkung.
Weitere Einzelheiten zu all diesen Empfehlungen, einschließlich empfohlener Mikrofon-Array-Geometrien, finden Sie unter Deskriptorformat für die Mikrofon-Array-Geometrie.
Name | Empfehlung |
---|---|
Device.Audio.Acoustics.MicArray | Siehe Mikrofon-Array-Unterstützung in Windows. Der Audiotreiber muss die Eigenschaft KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY implementieren. Dann kann über die Windows.Devices.Enumeration-API auf die System.Devices.MicrophoneArray.Geometry-Eigenschaft zugegriffen werden. Der USB-Audiotreiber unterstützt diese Eigenschaft für USB-Mikrofonarrays, bei denen die entsprechenden Felder im USB-Deskriptor festgelegt sind. |
Mikrofon-Array-Deskriptor | Das Gerät muss seinen Mikrofontyp und seine Geometrie mithilfe des Mic-Array-Deskriptors beschreiben. |
Device.Audio.Acoustics.MicSensitivity | Die Max-Empfehlung ist so eingestellt, dass sie Spracheingabepegel unterstützen kann, die als „laut“ gelten, und die Min-Empfehlung ist so eingestellt, dass sie Spracheingabepegel unterstützen kann, die als „leise“ gelten. |
Device.Audio.Acoustics.MicIntegration | Die Mikrofone müssen integriert werden, um eine gute akustische Abdichtung zwischen dem Mikrofon und dem Gerätechassis und gegebenenfalls entlang des Mikrofondurchführungsrohrs zu gewährleisten. Minimieren Sie akustische Geräusche und Vibrationen zwischen dem System und dem Mikrofon. Zwei typische Lösungen sind die Verwendung einer Gummimanschette oder einer Dichtung. Unabhängig davon, welche Methode gewählt wird, überprüfen Sie, ob die akustische Abdichtung über alle Produktionstoleranzen hinweg und sowohl über Umwelt- als auch über Lebensdaueränderungen hinweg ausreichend ist. |
Device.Audio.Acoustics.MicPlacement | Platzieren Sie das Mikrofon so weit wie möglich von Geräuschquellen wie Lautsprechern, Lüftern, Tastaturen, Festplatten und den Händen des Benutzers entfernt und so nah wie möglich am Mund des Sprechers. |
Device.Audio.Acoustics.MicSelfNoise | Die Verwendung eines hochwertigen Mikrofons minimiert das interne Rauschen des Mikrofons. Mikrofone mit einem SNR von mindestens 61 dB nominell werden für Standard und 63 dB für Premium empfohlen. |
Device.Audio.Acoustics.MicReceivedNoise | Die zwei Hauptquellen des empfangenen Rauschens sind akustisches Rauschen und elektrisches Rauschen. Akustische Geräusche können von außerhalb des Geräts kommen oder intern im Gerät durch Lüfter, Festplatten usw. erzeugt werden. Die akustischen Geräusche können auch durch die Gerätemechanik übertragen werden. Elektrisches Rauschen kann minimiert werden, indem anstelle von analogen Mikrofonen digitale Mikrofone verwendet werden. |
Device.Audio.Acoustics.MicMagnitudeResponse | Die Premium- und Standardmasken gelten für alle Geräteebenen unter Device.Audio.Acoustics.Bandwidth, z. Ein Gerät kann eine Standardbandbreite (schmalbandig) und eine Premium-Bandbreitenantwort innerhalb dieses Bandes haben. |
Device.Audio.Acoustics.MicPhaseResponseMatching | Diese Empfehlung stellt sicher, dass die zeitliche Beziehung zwischen Signalen, die über Mikrofonelemente in einem Array empfangen werden, mit der physikalischen Geometrie der Mikrofonelemente in dem Array konsistent ist. |
Device.Audio.Acoustics.MicDistortion | Es wird empfohlen, die Verzerrung mit SDNR (Pulsed Noise Signal-to-Distortion-and-Noise-Ratio) zu messen, obwohl auch THD-Ziele angegeben sind. |
Device.Audio.Acoustics.MicBandwidth | Die Abtastrate des Erfassungssignals ist der Hauptfaktor bei der Bestimmung der effektiven Bandbreite des Sprachsignals. Da die Sprachplattform 16-kHz-Akustikmodelle in der Spracherkennung verwendet, wird eine Mindestabtastrate von 16 kHz empfohlen. 300 Hz ist das effektive untere Ende der Spracherkennung, jedoch ist 200 Hz die empfohlene akustische Grenze für Geräte, die auch auf Sprachkommunikation abzielen. |
Device.Audio.Acoustics.RenderDistortion | Es wird empfohlen, die Verzerrung mit SDNR (Pulsed Noise Signal-to-Distortion-and-Noise-Ratio) zu messen, obwohl auch THD-Ziele angegeben sind. |
Device.Audio.Acoustics.RenderPlacement | Damit die akustische Echokompensation gut funktioniert, sollten die Gerätelautsprecher in einem maximalen Abstand von den Mikrofonen aufgestellt werden oder Richtwirkungsnullen in Richtung der Lautsprecher platzieren. |
Anforderungen zum Aktivieren einer Erweiterungspipeline eines Drittanbieters
Die folgenden Anforderungen sind entscheidend, um eine Erweiterungspipeline von Drittanbietern zu ermöglichen. Diese und andere Empfehlungen werden in den folgenden Abschnitten ausführlicher behandelt:
Melden von Mikrofonstandorten – erklärt, wie eine Meldestruktur für ein Mikrofon-Array implementiert wird.
Sprachmodus unterstützt:
So registrieren Sie APPs für bestimmte Modi
Audiosignalverarbeitungsmodi
Device.Audio.Based.Audio Processing – Acoustic Echo Cancellation (AEC) und Noise Suppression (NS) sind für die Pipeline von Drittanbietern erforderlich:
Implementing Audio Processing Objects
Objektarchitektur der Audioverarbeitung
Zugehörige Ressourcen
Windows-Hardware-Kompatibilitätsprogramm