Elaborazione audio

Microsoft Audio Stack è un set di miglioramenti ottimizzati per gli scenari di elaborazione vocale, ad esempio per il riconoscimento di parole chiave e il riconoscimento vocale. È costituito da vari miglioramenti/componenti che agiscono sul segnale audio di input:

  • Eliminazione del rumore: riduce il livello di rumore di fondo.
  • Beamforming: individua l'origine del suono e ottimizza il segnale audio usando più microfoni.
  • Riduzione dell'effetto riverbero: riduce i riflessi del suono dalle superfici nell'ambiente.
  • Annullamento dell'eco acustica: elimina la riproduzione di audio dal dispositivo mentre l'input del microfono è attivo.
  • Controllo automatico del guadagno: consente di regolare dinamicamente il livello della voce della persona in modo da tenere conto delle persone che parlano a voce bassa, delle lunghe distanze o di microfoni non calibrati.

Diagramma a blocchi dei miglioramenti di Microsoft Audio Stack.

Diversi scenari e casi d'uso possono richiedere ottimizzazioni diverse che influiscono sul comportamento dello stack di elaborazione audio. Ad esempio, negli scenari di telecomunicazione, come le chiamate telefoniche, è accettabile avere lievi distorsioni nel segnale audio dopo l'applicazione dell'elaborazione. In questo caso, infatti, gli esseri umani possono continuare a comprendere il parlato con una precisione elevata. È tuttavia inaccettabile e fastidioso per una persona sentire l'eco della propria voce. Ciò contrasta con gli scenari di elaborazione vocale in cui l'audio distorto può influire negativamente sull'accuratezza di un modello di riconoscimento vocale basato sull'apprendimento automatico, mentre è accettabile avere lievi livelli di eco residua.

L'elaborazione viene interamente eseguita in ambiente locale, dove viene usato Speech SDK. Nessun dato audio viene trasmesso in streaming ai servizi cloud Microsoft per l'elaborazione da parte di Microsoft Audio Stack. L'unica eccezione è data dal servizio di trascrizione conversazione, in cui l'audio non elaborato viene inviato ai servizi cloud Microsoft per l'elaborazione.

Microsoft Audio Stack supporta anche un'ampia gamma di prodotti Microsoft:

  • Windows: Microsoft Audio Stack è la pipeline di elaborazione vocale predefinita quando si usa la categoria dell'audio vocale.
  • Display Microsoft Teams e dispositivi Microsoft Teams Rooms: i display Microsoft Teams e i dispositivi Teams Rooms usano Microsoft Audio Stack per consentire esperienze in vivavoce di alta qualità con Cortana.

Integrazione di Speech SDK

Speech SDK integra Microsoft Audio Stack (MAS), consentendo a qualsiasi applicazione o prodotto di applicare le specifiche funzionalità di elaborazione all'audio di input. Alcune delle principali funzionalità di Microsoft Audio Stack disponibili tramite Speech SDK includono:

  • Input del microfono in tempo reale e input basato su file: l'elaborazione di Microsoft Audio Stack può essere applicata all'input del microfono in tempo reale, ai flussi e all'input basato su file.
  • Selezione di miglioramenti: per consentire il controllo completo dello scenario, l'SDK consente di disabilitare singoli miglioramenti come la riduzione dell'effetto riverbero, l'eliminazione del rumore, il controllo automatico del guadagno e l'annullamento dell'eco acustica. Ad esempio, se lo scenario non prevede la necessità di eliminare l'audio di output di rendering dall'audio di input, è possibile disabilitare la cancellazione dell'eco acustica.
  • Geometrie dei microfoni personalizzate: l'SDK consente di fornire informazioni sulla propria geometria dei microfoni personalizzata, oltre a supportare geometrie preimpostate come due microfoni lineari, quattro microfoni lineari e array circolari a 7 microfoni. Altre informazioni sulle geometrie predefinite supportate sono disponibili in Raccomandazioni per gli array di microfoni.
  • Angoli di beamforming: è possibile specificare angoli di beamforming specifici per ottimizzare, rispetto ai microfoni, l'input audio proveniente da una posizione predeterminata.

Requisiti minimi per l'uso di Microsoft Audio Stack

Microsoft Audio Stack può essere usato da qualsiasi prodotto o applicazione in grado di soddisfare i requisiti seguenti:

  • Audio non elaborato: per fornire risultati ottimali, Microsoft Audio Stack richiede audio non elaborato come input. L'audio già elaborato limita la capacità dello stack audio di eseguire miglioramenti di qualità elevata.
  • Geometrie dei microfoni: per una corretta esecuzione di tutti i miglioramenti offerti da Microsoft Audio Stack, sono necessarie le informazioni sulla geometria di ogni microfono sul dispositivo, tra cui il numero di microfoni, la loro disposizione fisica e le coordinate. Sono supportati fino a 16 canali di microfono di input.
  • Audio di loopback o di riferimento: per l'annullamento dell'eco acustica è necessario un canale audio che rappresenta l'audio riprodotto dal dispositivo.
  • Formato di input: Microsoft Audio Stack supporta il campionamento inattivo per le frequenze di campionamento che sono multipli interi di 16 kHz. È necessaria una frequenza di campionamento minima di 16 kHz. Sono supportati anche i formati seguenti: float little endian IEEE a 32 bit, signed int little endian a 32 bit, signed int little endian a 24 bit, signed int little endian a 16 bit e signed int a 8 bit.