Avvio rapido: convertire testo scritto in voce
Documentazione di riferimento | Pacchetto (NuGet) | Ulteriori esempi in GitHub
Con Voce di Azure AI, è possibile eseguire un'applicazione che sintetizza una voce simile a quella umana per leggere il testo. È possibile modificare la voce, immettere il testo da pronunciare e ascoltare l'output sull'altoparlante del computer.
Suggerimento
È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza registrarsi o scrivere codice.
Suggerimento
Provare Azure AI Speech Toolkit per compilare ed eseguire facilmente esempi in Visual Studio Code.
Prerequisiti
- Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.
- Creare una risorsa Voce nel portale di Azure.
- Ottenere la chiave e l'area della risorsa Voce. Dopo aver distribuito la risorsa Voce, selezionare Vai alla risorsa per visualizzare e gestire le chiavi.
Configurare l'ambiente
Speech SDK è disponibile come pacchetto NuGet che implementa .NET Standard 2.0. Installare Speech SDK più avanti in questa guida usando la console. Per le istruzioni di installazione dettagliate, consultare Installare Speech SDK.
Impostare le variabili di ambiente
È necessario autenticare l'applicazione per accedere ai Servizi di Azure AI. Questo articolo illustra come usare le variabili di ambiente per archiviare le credenziali. È quindi possibile accedere alle variabili di ambiente dal codice per autenticare l'applicazione. Per l'ambiente di produzione, usare un modo più sicuro per archiviare e accedere alle credenziali.
Importante
Si consiglia l'autenticazione di Microsoft Entra ID insieme alle identità gestite per le risorse di Azure al fine di evitare di archiviare le credenziali con le applicazioni eseguite nel cloud.
Se si usa una chiave API, archiviarla in modo sicuro in un'altra posizione, ad esempio in Azure Key Vault. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente.
Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autenticare le richieste a Servizi di Azure AI.
Per impostare le variabili di ambiente per la chiave e l'area della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la variabile di ambiente
SPEECH_KEY
, sostituire chiave-utente con una delle chiavi della risorsa. - Per impostare la variabile di ambiente
SPEECH_REGION
, sostituire area-utente con una delle aree della risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Nota
Se è sufficiente accedere alla variabile di ambiente nella console corrente, è possibile impostare la variabile di ambiente con set
anziché setx
.
Dopo l'aggiunta delle variabili di ambiente potrebbe essere necessario riavviare eventuali programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Creare l'applicazione
Seguire questi passaggi per creare un'applicazione console e installare Speech SDK.
Aprire una finestra del prompt dei comandi nella cartella in cui si desidera il nuovo progetto. Eseguire questo comando per creare un'applicazione console con l'interfaccia della riga di comando di .NET.
dotnet new console
Il comando crea un file Program.cs nella directory del progetto.
Installare Speech SDK nel nuovo progetto con l'interfaccia della riga di comando di .NET.
dotnet add package Microsoft.CognitiveServices.Speech
Sostituire il contenuto di Program.cs con il codice seguente.
using System; using System.IO; using System.Threading.Tasks; using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; class Program { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION"); static void OutputSpeechSynthesisResult(SpeechSynthesisResult speechSynthesisResult, string text) { switch (speechSynthesisResult.Reason) { case ResultReason.SynthesizingAudioCompleted: Console.WriteLine($"Speech synthesized for text: [{text}]"); break; case ResultReason.Canceled: var cancellation = SpeechSynthesisCancellationDetails.FromResult(speechSynthesisResult); Console.WriteLine($"CANCELED: Reason={cancellation.Reason}"); if (cancellation.Reason == CancellationReason.Error) { Console.WriteLine($"CANCELED: ErrorCode={cancellation.ErrorCode}"); Console.WriteLine($"CANCELED: ErrorDetails=[{cancellation.ErrorDetails}]"); Console.WriteLine($"CANCELED: Did you set the speech resource key and region values?"); } break; default: break; } } async static Task Main(string[] args) { var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion); // The neural multilingual voice can speak different languages based on the input text. speechConfig.SpeechSynthesisVoiceName = "en-US-AvaMultilingualNeural"; using (var speechSynthesizer = new SpeechSynthesizer(speechConfig)) { // Get text from the console and synthesize to the default speaker. Console.WriteLine("Enter some text that you want to speak >"); string text = Console.ReadLine(); var speechSynthesisResult = await speechSynthesizer.SpeakTextAsync(text); OutputSpeechSynthesisResult(speechSynthesisResult, text); } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } }
Per modificare la lingua della sintesi vocale, sostituire
en-US-AvaMultilingualNeural
con un'altra voce supportata.Tutte le voci neurali sono multilingue e parlano fluentemente sia la propria lingua che l’inglese. Ad esempio, se il testo di input in inglese è I'm excited to try text to speech e si imposta
es-ES-ElviraNeural
come lingua, il testo viene pronunciato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituirà l'audio sintetizzato.Eseguire la nuova applicazione console per avviare la sintesi vocale nell'altoparlante predefinito.
dotnet run
Importante
Assicurarsi di impostare
SPEECH_KEY
eSPEECH_REGION
come variabili di ambiente. Se queste variabili non vengono impostate, l'esempio avrà esito negativo e riporterà un messaggio di errore.Immettere un testo che si desidera sentir pronunciare. Ad esempio, digitare Non vedo l'ora di provare la sintesi vocale. Selezionare INVIO per ascoltare il parlato sintetizzato.
Enter some text that you want to speak > I'm excited to try text to speech
Osservazioni:
Altre opzioni di sintesi vocale
Questa guida introduttiva usa l'operazione SpeakTextAsync
per sintetizzare un breve blocco di testo immesso dall'utente. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.
- Per informazioni sulla sintesi vocale da un file e un controllo più fine su stili vocali, prosodia e altre impostazioni, vedere Come sintetizzare il parlato e Migliorare la sintesi con Speech Synthesis Markup Language (SSML).
- Per informazioni sulla sintesi vocale, vedere API di sintesi batch per informazioni sulla sintesi vocale in formato lungo.
Voci di sintesi vocale OpenAI in Voce di Azure AI
Sono supportate anche le voci di sintesi vocale di OpenAI. Vedere Voci per la sintesi vocale OpenAI in Voce di Azure AI e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural
con un nome di voce OpenAI supportato, ad esempio en-US-FableMultilingualNeural
.
Pulire le risorse
Per rimuovere la risorsa Voce creata è possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure.
Documentazione di riferimento | Pacchetto (NuGet) | Ulteriori esempi in GitHub
Con Voce di Azure AI, è possibile eseguire un'applicazione che sintetizza una voce simile a quella umana per leggere il testo. È possibile modificare la voce, immettere il testo da pronunciare e ascoltare l'output sull'altoparlante del computer.
Suggerimento
È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza registrarsi o scrivere codice.
Suggerimento
Provare Azure AI Speech Toolkit per compilare ed eseguire facilmente esempi in Visual Studio Code.
Prerequisiti
- Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.
- Creare una risorsa Voce nel portale di Azure.
- Ottenere la chiave e l'area della risorsa Voce. Dopo aver distribuito la risorsa Voce, selezionare Vai alla risorsa per visualizzare e gestire le chiavi.
Configurare l'ambiente
Speech SDK è disponibile come pacchetto NuGet che implementa .NET Standard 2.0. L'SDK Voce verrà installato più avanti in questa guida. Per le istruzioni di installazione dettagliate, consultare Installare Speech SDK.
Impostare le variabili di ambiente
È necessario autenticare l'applicazione per accedere ai Servizi di Azure AI. Questo articolo illustra come usare le variabili di ambiente per archiviare le credenziali. È quindi possibile accedere alle variabili di ambiente dal codice per autenticare l'applicazione. Per l'ambiente di produzione, usare un modo più sicuro per archiviare e accedere alle credenziali.
Importante
Si consiglia l'autenticazione di Microsoft Entra ID insieme alle identità gestite per le risorse di Azure al fine di evitare di archiviare le credenziali con le applicazioni eseguite nel cloud.
Se si usa una chiave API, archiviarla in modo sicuro in un'altra posizione, ad esempio in Azure Key Vault. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente.
Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autenticare le richieste a Servizi di Azure AI.
Per impostare le variabili di ambiente per la chiave e l'area della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la variabile di ambiente
SPEECH_KEY
, sostituire chiave-utente con una delle chiavi della risorsa. - Per impostare la variabile di ambiente
SPEECH_REGION
, sostituire area-utente con una delle aree della risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Nota
Se è sufficiente accedere alla variabile di ambiente nella console corrente, è possibile impostare la variabile di ambiente con set
anziché setx
.
Dopo l'aggiunta delle variabili di ambiente potrebbe essere necessario riavviare eventuali programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Creare l'applicazione
Seguire questi passaggi per creare un'applicazione console e installare Speech SDK.
Creare un nuovo progetto console C++ in Visual Studio Community con il nome
SpeechSynthesis
.Sostituire il contenuto di SpeechSynthesis.cpp con il codice seguente:
#include <iostream> #include <stdlib.h> #include <speechapi_cxx.h> using namespace Microsoft::CognitiveServices::Speech; using namespace Microsoft::CognitiveServices::Speech::Audio; std::string GetEnvironmentVariable(const char* name); int main() { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" auto speechKey = GetEnvironmentVariable("SPEECH_KEY"); auto speechRegion = GetEnvironmentVariable("SPEECH_REGION"); if ((size(speechKey) == 0) || (size(speechRegion) == 0)) { std::cout << "Please set both SPEECH_KEY and SPEECH_REGION environment variables." << std::endl; return -1; } auto speechConfig = SpeechConfig::FromSubscription(speechKey, speechRegion); // The neural multilingual voice can speak different languages based on the input text. speechConfig->SetSpeechSynthesisVoiceName("en-US-AvaMultilingualNeural"); auto speechSynthesizer = SpeechSynthesizer::FromConfig(speechConfig); // Get text from the console and synthesize to the default speaker. std::cout << "Enter some text that you want to speak >" << std::endl; std::string text; getline(std::cin, text); auto result = speechSynthesizer->SpeakTextAsync(text).get(); // Checks result. if (result->Reason == ResultReason::SynthesizingAudioCompleted) { std::cout << "Speech synthesized to speaker for text [" << text << "]" << std::endl; } else if (result->Reason == ResultReason::Canceled) { auto cancellation = SpeechSynthesisCancellationDetails::FromResult(result); std::cout << "CANCELED: Reason=" << (int)cancellation->Reason << std::endl; if (cancellation->Reason == CancellationReason::Error) { std::cout << "CANCELED: ErrorCode=" << (int)cancellation->ErrorCode << std::endl; std::cout << "CANCELED: ErrorDetails=[" << cancellation->ErrorDetails << "]" << std::endl; std::cout << "CANCELED: Did you set the speech resource key and region values?" << std::endl; } } std::cout << "Press enter to exit..." << std::endl; std::cin.get(); } std::string GetEnvironmentVariable(const char* name) { #if defined(_MSC_VER) size_t requiredSize = 0; (void)getenv_s(&requiredSize, nullptr, 0, name); if (requiredSize == 0) { return ""; } auto buffer = std::make_unique<char[]>(requiredSize); (void)getenv_s(&requiredSize, buffer.get(), requiredSize, name); return buffer.get(); #else auto value = getenv(name); return value ? value : ""; #endif }
Fare clic su Strumenti>Gestione Pacchetti NuGet>Console di Gestione pacchetti. Nella console di Gestione pacchetti, eseguire questo comando:
Install-Package Microsoft.CognitiveServices.Speech
Per modificare la lingua della sintesi vocale, sostituire
en-US-AvaMultilingualNeural
con un'altra voce supportata.Tutte le voci neurali sono multilingue e parlano fluentemente sia la propria lingua che l’inglese. Ad esempio, se il testo di input in inglese è I'm excited to try text to speech e si imposta
es-ES-ElviraNeural
, il testo viene pronunciato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituirà l'audio sintetizzato.Compilare ed eseguire la nuova applicazione console per avviare la sintesi vocale nell'altoparlante predefinito.
Importante
Assicurarsi di impostare
SPEECH_KEY
eSPEECH_REGION
come variabili di ambiente. Se queste variabili non vengono impostate, l'esempio avrà esito negativo e riporterà un messaggio di errore.Immettere un testo che si desidera sentir pronunciare. Ad esempio, digitare Non vedo l'ora di provare la sintesi vocale. Selezionare INVIO per ascoltare il parlato sintetizzato.
Enter some text that you want to speak > I'm excited to try text to speech
Osservazioni:
Altre opzioni di sintesi vocale
Questa guida introduttiva usa l'operazione SpeakTextAsync
per sintetizzare un breve blocco di testo immesso dall'utente. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.
- Per informazioni sulla sintesi vocale da un file e un controllo più fine su stili vocali, prosodia e altre impostazioni, vedere Come sintetizzare il parlato e Migliorare la sintesi con Speech Synthesis Markup Language (SSML).
- Per informazioni sulla sintesi vocale, vedere API di sintesi batch per informazioni sulla sintesi vocale in formato lungo.
Voci di sintesi vocale OpenAI in Voce di Azure AI
Sono supportate anche le voci di sintesi vocale di OpenAI. Vedere Voci per la sintesi vocale OpenAI in Voce di Azure AI e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural
con un nome di voce OpenAI supportato, ad esempio en-US-FableMultilingualNeural
.
Pulire le risorse
Per rimuovere la risorsa Voce creata è possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure.
Documentazione di riferimento | Pacchetto (Go) | Ulteriori esempi in GitHub
Con Voce di Azure AI, è possibile eseguire un'applicazione che sintetizza una voce simile a quella umana per leggere il testo. È possibile modificare la voce, immettere il testo da pronunciare e ascoltare l'output sull'altoparlante del computer.
Suggerimento
È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza registrarsi o scrivere codice.
Suggerimento
Provare Azure AI Speech Toolkit per compilare ed eseguire facilmente esempi in Visual Studio Code.
Prerequisiti
- Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.
- Creare una risorsa Voce nel portale di Azure.
- Ottenere la chiave e l'area della risorsa Voce. Dopo aver distribuito la risorsa Voce, selezionare Vai alla risorsa per visualizzare e gestire le chiavi.
Configurare l'ambiente
Installare Speech SDK per il linguaggio Go. Per le istruzioni di installazione dettagliate, consultare Installare Speech SDK.
Impostare le variabili di ambiente
È necessario autenticare l'applicazione per accedere ai Servizi di Azure AI. Questo articolo illustra come usare le variabili di ambiente per archiviare le credenziali. È quindi possibile accedere alle variabili di ambiente dal codice per autenticare l'applicazione. Per l'ambiente di produzione, usare un modo più sicuro per archiviare e accedere alle credenziali.
Importante
Si consiglia l'autenticazione di Microsoft Entra ID insieme alle identità gestite per le risorse di Azure al fine di evitare di archiviare le credenziali con le applicazioni eseguite nel cloud.
Se si usa una chiave API, archiviarla in modo sicuro in un'altra posizione, ad esempio in Azure Key Vault. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente.
Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autenticare le richieste a Servizi di Azure AI.
Per impostare le variabili di ambiente per la chiave e l'area della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la variabile di ambiente
SPEECH_KEY
, sostituire chiave-utente con una delle chiavi della risorsa. - Per impostare la variabile di ambiente
SPEECH_REGION
, sostituire area-utente con una delle aree della risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Nota
Se è sufficiente accedere alla variabile di ambiente nella console corrente, è possibile impostare la variabile di ambiente con set
anziché setx
.
Dopo l'aggiunta delle variabili di ambiente potrebbe essere necessario riavviare eventuali programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Creare l'applicazione
Attenersi alla procedura seguente per creare un modulo GO.
Aprire una finestra del prompt dei comandi nella cartella in cui si desidera il nuovo progetto. Creare un nuovo file denominato speech-synthesis.go.
Copiare il codice seguente in speech-synthesis.go:
package main import ( "bufio" "fmt" "os" "strings" "time" "github.com/Microsoft/cognitive-services-speech-sdk-go/audio" "github.com/Microsoft/cognitive-services-speech-sdk-go/common" "github.com/Microsoft/cognitive-services-speech-sdk-go/speech" ) func synthesizeStartedHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Println("Synthesis started.") } func synthesizingHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Printf("Synthesizing, audio chunk size %d.\n", len(event.Result.AudioData)) } func synthesizedHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Printf("Synthesized, audio length %d.\n", len(event.Result.AudioData)) } func cancelledHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Println("Received a cancellation.") } func main() { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" speechKey := os.Getenv("SPEECH_KEY") speechRegion := os.Getenv("SPEECH_REGION") audioConfig, err := audio.NewAudioConfigFromDefaultSpeakerOutput() if err != nil { fmt.Println("Got an error: ", err) return } defer audioConfig.Close() speechConfig, err := speech.NewSpeechConfigFromSubscription(speechKey, speechRegion) if err != nil { fmt.Println("Got an error: ", err) return } defer speechConfig.Close() speechConfig.SetSpeechSynthesisVoiceName("en-US-AvaMultilingualNeural") speechSynthesizer, err := speech.NewSpeechSynthesizerFromConfig(speechConfig, audioConfig) if err != nil { fmt.Println("Got an error: ", err) return } defer speechSynthesizer.Close() speechSynthesizer.SynthesisStarted(synthesizeStartedHandler) speechSynthesizer.Synthesizing(synthesizingHandler) speechSynthesizer.SynthesisCompleted(synthesizedHandler) speechSynthesizer.SynthesisCanceled(cancelledHandler) for { fmt.Printf("Enter some text that you want to speak, or enter empty text to exit.\n> ") text, _ := bufio.NewReader(os.Stdin).ReadString('\n') text = strings.TrimSuffix(text, "\n") if len(text) == 0 { break } task := speechSynthesizer.SpeakTextAsync(text) var outcome speech.SpeechSynthesisOutcome select { case outcome = <-task: case <-time.After(60 * time.Second): fmt.Println("Timed out") return } defer outcome.Close() if outcome.Error != nil { fmt.Println("Got an error: ", outcome.Error) return } if outcome.Result.Reason == common.SynthesizingAudioCompleted { fmt.Printf("Speech synthesized to speaker for text [%s].\n", text) } else { cancellation, _ := speech.NewCancellationDetailsFromSpeechSynthesisResult(outcome.Result) fmt.Printf("CANCELED: Reason=%d.\n", cancellation.Reason) if cancellation.Reason == common.Error { fmt.Printf("CANCELED: ErrorCode=%d\nCANCELED: ErrorDetails=[%s]\nCANCELED: Did you set the speech resource key and region values?\n", cancellation.ErrorCode, cancellation.ErrorDetails) } } } }
Per modificare la lingua della sintesi vocale, sostituire
en-US-AvaMultilingualNeural
con un'altra voce supportata.Tutte le voci neurali sono multilingue e parlano fluentemente sia la propria lingua che l’inglese. Ad esempio, se il testo di input in inglese è I'm excited to try text to speech e si imposta
es-ES-ElviraNeural
, il testo viene pronunciato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituirà l'audio sintetizzato.Eseguire i comandi seguenti per creare un file go.mod che si collega ai componenti ospitati in GitHub:
go mod init speech-synthesis go get github.com/Microsoft/cognitive-services-speech-sdk-go
Importante
Assicurarsi di impostare
SPEECH_KEY
eSPEECH_REGION
come variabili di ambiente. Se queste variabili non vengono impostate, l'esempio avrà esito negativo e riporterà un messaggio di errore.Ora compilare ed eseguire il codice:
go build go run speech-synthesis
Osservazioni:
Voci di sintesi vocale OpenAI in Voce di Azure AI
Sono supportate anche le voci di sintesi vocale di OpenAI. Vedere Voci per la sintesi vocale OpenAI in Voce di Azure AI e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural
con un nome di voce OpenAI supportato, ad esempio en-US-FableMultilingualNeural
.
Pulire le risorse
Per rimuovere la risorsa Voce creata, è possibile usare il portale di Azure o l'interfaccia della riga di comando (CLI) di Azure.
Documentazione di riferimento | Ulteriori esempi in GitHub
Con Voce di Azure AI, è possibile eseguire un'applicazione che sintetizza una voce simile a quella umana per leggere il testo. È possibile modificare la voce, immettere il testo da pronunciare e ascoltare l'output sull'altoparlante del computer.
Suggerimento
È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza registrarsi o scrivere codice.
Suggerimento
Provare Azure AI Speech Toolkit per compilare ed eseguire facilmente esempi in Visual Studio Code.
Prerequisiti
- Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.
- Creare una risorsa Voce nel portale di Azure.
- Ottenere la chiave e l'area della risorsa Voce. Dopo aver distribuito la risorsa Voce, selezionare Vai alla risorsa per visualizzare e gestire le chiavi.
Configurare l'ambiente
Per configurare l'ambiente, installare Speech SDK. L'esempio in questo avvio rapido funziona con Runtime Java.
Installare Apache Maven. Quindi eseguire
mvn -v
per confermare l'installazione corretta.Creare un nuovo file pom.xml nella radice del progetto copiando il codice seguente:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.microsoft.cognitiveservices.speech.samples</groupId> <artifactId>quickstart-eclipse</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.microsoft.cognitiveservices.speech</groupId> <artifactId>client-sdk</artifactId> <version>1.40.0</version> </dependency> </dependencies> </project>
Installare Speech SDK e le dipendenze.
mvn clean dependency:copy-dependencies
Impostare le variabili di ambiente
È necessario autenticare l'applicazione per accedere ai Servizi di Azure AI. Questo articolo illustra come usare le variabili di ambiente per archiviare le credenziali. È quindi possibile accedere alle variabili di ambiente dal codice per autenticare l'applicazione. Per l'ambiente di produzione, usare un modo più sicuro per archiviare e accedere alle credenziali.
Importante
Si consiglia l'autenticazione di Microsoft Entra ID insieme alle identità gestite per le risorse di Azure al fine di evitare di archiviare le credenziali con le applicazioni eseguite nel cloud.
Se si usa una chiave API, archiviarla in modo sicuro in un'altra posizione, ad esempio in Azure Key Vault. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente.
Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autenticare le richieste a Servizi di Azure AI.
Per impostare le variabili di ambiente per la chiave e l'area della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la variabile di ambiente
SPEECH_KEY
, sostituire chiave-utente con una delle chiavi della risorsa. - Per impostare la variabile di ambiente
SPEECH_REGION
, sostituire area-utente con una delle aree della risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Nota
Se è sufficiente accedere alla variabile di ambiente nella console corrente, è possibile impostare la variabile di ambiente con set
anziché setx
.
Dopo l'aggiunta delle variabili di ambiente potrebbe essere necessario riavviare eventuali programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Creare l'applicazione
Seguire questi passaggi per creare un'applicazione console per il riconoscimento vocale.
Creare un file denominato SpeechSynthesis.java nella stessa directory radice del progetto.
Copiare il codice seguente in SpeechSynthesis.java:
import com.microsoft.cognitiveservices.speech.*; import com.microsoft.cognitiveservices.speech.audio.*; import java.util.Scanner; import java.util.concurrent.ExecutionException; public class SpeechSynthesis { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" private static String speechKey = System.getenv("SPEECH_KEY"); private static String speechRegion = System.getenv("SPEECH_REGION"); public static void main(String[] args) throws InterruptedException, ExecutionException { SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechKey, speechRegion); speechConfig.setSpeechSynthesisVoiceName("en-US-AvaMultilingualNeural"); SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer(speechConfig); // Get text from the console and synthesize to the default speaker. System.out.println("Enter some text that you want to speak >"); String text = new Scanner(System.in).nextLine(); if (text.isEmpty()) { return; } SpeechSynthesisResult speechSynthesisResult = speechSynthesizer.SpeakTextAsync(text).get(); if (speechSynthesisResult.getReason() == ResultReason.SynthesizingAudioCompleted) { System.out.println("Speech synthesized to speaker for text [" + text + "]"); } else if (speechSynthesisResult.getReason() == ResultReason.Canceled) { SpeechSynthesisCancellationDetails cancellation = SpeechSynthesisCancellationDetails.fromResult(speechSynthesisResult); System.out.println("CANCELED: Reason=" + cancellation.getReason()); if (cancellation.getReason() == CancellationReason.Error) { System.out.println("CANCELED: ErrorCode=" + cancellation.getErrorCode()); System.out.println("CANCELED: ErrorDetails=" + cancellation.getErrorDetails()); System.out.println("CANCELED: Did you set the speech resource key and region values?"); } } System.exit(0); } }
Per modificare la lingua della sintesi vocale, sostituire
en-US-AvaMultilingualNeural
con un'altra voce supportata.Tutte le voci neurali sono multilingue e parlano fluentemente sia la propria lingua che l’inglese. Ad esempio, se il testo di input in inglese è I'm excited to try text to speech e si imposta
es-ES-ElviraNeural
, il testo viene pronunciato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituirà l'audio sintetizzato.Eseguire l'applicazione console per eseguire l'output della sintesi vocale nell'altoparlante predefinito.
javac SpeechSynthesis.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" SpeechSynthesis
Importante
Assicurarsi di impostare
SPEECH_KEY
eSPEECH_REGION
come variabili di ambiente. Se queste variabili non vengono impostate, l'esempio avrà esito negativo e riporterà un messaggio di errore.Immettere un testo che si desidera sentir pronunciare. Ad esempio, digitare Non vedo l'ora di provare la sintesi vocale. Selezionare INVIO per ascoltare il parlato sintetizzato.
Enter some text that you want to speak > I'm excited to try text to speech
Osservazioni:
Altre opzioni di sintesi vocale
Questa guida introduttiva usa l'operazione SpeakTextAsync
per sintetizzare un breve blocco di testo immesso dall'utente. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.
- Per informazioni sulla sintesi vocale da un file e un controllo più fine su stili vocali, prosodia e altre impostazioni, vedere Come sintetizzare il parlato e Migliorare la sintesi con Speech Synthesis Markup Language (SSML).
- Per informazioni sulla sintesi vocale, vedere API di sintesi batch per informazioni sulla sintesi vocale in formato lungo.
Voci di sintesi vocale OpenAI in Voce di Azure AI
Sono supportate anche le voci di sintesi vocale di OpenAI. Vedere Voci per la sintesi vocale OpenAI in Voce di Azure AI e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural
con un nome di voce OpenAI supportato, ad esempio en-US-FableMultilingualNeural
.
Pulire le risorse
Per rimuovere la risorsa Voce creata è possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure.
Documentazione di riferimento | Pacchetto (npm) | Ulteriori esempi in GitHub | Codice sorgente della libreria
Con Voce di Azure AI, è possibile eseguire un'applicazione che sintetizza una voce simile a quella umana per leggere il testo. È possibile modificare la voce, immettere il testo da pronunciare e ascoltare l'output sull'altoparlante del computer.
Suggerimento
È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza registrarsi o scrivere codice.
Suggerimento
Provare Azure AI Speech Toolkit per compilare ed eseguire facilmente esempi in Visual Studio Code.
Prerequisiti
- Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.
- Creare una risorsa Voce nel portale di Azure.
- Ottenere la chiave e l'area della risorsa Voce. Dopo aver distribuito la risorsa Voce, selezionare Vai alla risorsa per visualizzare e gestire le chiavi.
Configurare l'ambiente
Per configurare l'ambiente, installare Speech SDK per JavaScript. Se si vuole installare solo il nome del pacchetto, eseguire npm install microsoft-cognitiveservices-speech-sdk
. Per le istruzioni di installazione dettagliate, consultare Installare Speech SDK.
Impostare le variabili di ambiente
È necessario autenticare l'applicazione per accedere ai Servizi di Azure AI. Questo articolo illustra come usare le variabili di ambiente per archiviare le credenziali. È quindi possibile accedere alle variabili di ambiente dal codice per autenticare l'applicazione. Per l'ambiente di produzione, usare un modo più sicuro per archiviare e accedere alle credenziali.
Importante
Si consiglia l'autenticazione di Microsoft Entra ID insieme alle identità gestite per le risorse di Azure al fine di evitare di archiviare le credenziali con le applicazioni eseguite nel cloud.
Se si usa una chiave API, archiviarla in modo sicuro in un'altra posizione, ad esempio in Azure Key Vault. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente.
Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autenticare le richieste a Servizi di Azure AI.
Per impostare le variabili di ambiente per la chiave e l'area della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la variabile di ambiente
SPEECH_KEY
, sostituire chiave-utente con una delle chiavi della risorsa. - Per impostare la variabile di ambiente
SPEECH_REGION
, sostituire area-utente con una delle aree della risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Nota
Se è sufficiente accedere alla variabile di ambiente nella console corrente, è possibile impostare la variabile di ambiente con set
anziché setx
.
Dopo l'aggiunta delle variabili di ambiente potrebbe essere necessario riavviare eventuali programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Creare l'applicazione
Seguire questi passaggi per creare un'applicazione console Node.js per la sintesi vocale.
Aprire una finestra della console in cui si desidera il nuovo progetto e creare un file denominato SpeechSynthesis.js.
Installare Speech SDK per JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
Copiare il codice seguente in SpeechSynthesis.js:
(function() { "use strict"; var sdk = require("microsoft-cognitiveservices-speech-sdk"); var readline = require("readline"); var audioFile = "YourAudioFile.wav"; // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" const speechConfig = sdk.SpeechConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION); const audioConfig = sdk.AudioConfig.fromAudioFileOutput(audioFile); // The language of the voice that speaks. speechConfig.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural"; // Create the speech synthesizer. var synthesizer = new sdk.SpeechSynthesizer(speechConfig, audioConfig); var rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.question("Enter some text that you want to speak >\n> ", function (text) { rl.close(); // Start the synthesizer and wait for a result. synthesizer.speakTextAsync(text, function (result) { if (result.reason === sdk.ResultReason.SynthesizingAudioCompleted) { console.log("synthesis finished."); } else { console.error("Speech synthesis canceled, " + result.errorDetails + "\nDid you set the speech resource key and region values?"); } synthesizer.close(); synthesizer = null; }, function (err) { console.trace("err - " + err); synthesizer.close(); synthesizer = null; }); console.log("Now synthesizing to: " + audioFile); }); }());
In SpeechSynthesis.js, facoltativamente, è possibile rinominare YourAudioFile.wav in un altro nome di file di output.
Per modificare la lingua della sintesi vocale, sostituire
en-US-AvaMultilingualNeural
con un'altra voce supportata.Tutte le voci neurali sono multilingue e parlano fluentemente sia la propria lingua che l’inglese. Ad esempio, se il testo di input in inglese è I'm excited to try text to speech e si imposta
es-ES-ElviraNeural
, il testo viene pronunciato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituirà l'audio sintetizzato.Eseguire l'applicazione console per avviare la sintesi vocale in un file:
node SpeechSynthesis.js
Importante
Assicurarsi di impostare
SPEECH_KEY
eSPEECH_REGION
come variabili di ambiente. Se queste variabili non vengono impostate, l'esempio avrà esito negativo e riporterà un messaggio di errore.Il testo fornito deve trovarsi in un file audio:
Enter some text that you want to speak > > I'm excited to try text to speech Now synthesizing to: YourAudioFile.wav synthesis finished.
Osservazioni:
Altre opzioni di sintesi vocale
Questa guida introduttiva usa l'operazione SpeakTextAsync
per sintetizzare un breve blocco di testo immesso dall'utente. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.
- Per informazioni sulla sintesi vocale da un file e un controllo più fine su stili vocali, prosodia e altre impostazioni, vedere Come sintetizzare il parlato e Migliorare la sintesi con Speech Synthesis Markup Language (SSML).
- Per informazioni sulla sintesi vocale, vedere API di sintesi batch per informazioni sulla sintesi vocale in formato lungo.
Voci di sintesi vocale OpenAI in Voce di Azure AI
Sono supportate anche le voci di sintesi vocale di OpenAI. Vedere Voci per la sintesi vocale OpenAI in Voce di Azure AI e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural
con un nome di voce OpenAI supportato, ad esempio en-US-FableMultilingualNeural
.
Pulire le risorse
Per rimuovere la risorsa Voce creata è possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure.
Documentazione di riferimento | Pacchetto (download) | Ulteriori esempi in GitHub
Con Voce di Azure AI, è possibile eseguire un'applicazione che sintetizza una voce simile a quella umana per leggere il testo. È possibile modificare la voce, immettere il testo da pronunciare e ascoltare l'output sull'altoparlante del computer.
Suggerimento
È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza registrarsi o scrivere codice.
Suggerimento
Provare Azure AI Speech Toolkit per compilare ed eseguire facilmente esempi in Visual Studio Code.
Prerequisiti
- Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.
- Creare una risorsa Voce nel portale di Azure.
- Ottenere la chiave e l'area della risorsa Voce. Dopo aver distribuito la risorsa Voce, selezionare Vai alla risorsa per visualizzare e gestire le chiavi.
Configurare l'ambiente
Speech SDK per Objective-C viene distribuito come bundle framework. Il framework supporta sia Objective-C che Swift sia in iOS che in macOS.
Speech SDK può essere usato nei progetti Xcode come CocoaPod o scaricato direttamente qui e collegato manualmente. Questa guida usa CocoaPod. Installare il gestore di dipendenze di CocoaPod come descritto in queste istruzioni per l'installazione.
Impostare le variabili di ambiente
È necessario autenticare l'applicazione per accedere ai Servizi di Azure AI. Questo articolo illustra come usare le variabili di ambiente per archiviare le credenziali. È quindi possibile accedere alle variabili di ambiente dal codice per autenticare l'applicazione. Per l'ambiente di produzione, usare un modo più sicuro per archiviare e accedere alle credenziali.
Importante
Si consiglia l'autenticazione di Microsoft Entra ID insieme alle identità gestite per le risorse di Azure al fine di evitare di archiviare le credenziali con le applicazioni eseguite nel cloud.
Se si usa una chiave API, archiviarla in modo sicuro in un'altra posizione, ad esempio in Azure Key Vault. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente.
Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autenticare le richieste a Servizi di Azure AI.
Per impostare le variabili di ambiente per la chiave e l'area della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la variabile di ambiente
SPEECH_KEY
, sostituire chiave-utente con una delle chiavi della risorsa. - Per impostare la variabile di ambiente
SPEECH_REGION
, sostituire area-utente con una delle aree della risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Nota
Se è sufficiente accedere alla variabile di ambiente nella console corrente, è possibile impostare la variabile di ambiente con set
anziché setx
.
Dopo l'aggiunta delle variabili di ambiente potrebbe essere necessario riavviare eventuali programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Creare l'applicazione
Seguire questa procedura per sintetizzare la voce in un'applicazione macOS.
Clonare il repository Azure-Samples/cognitive-services-speech-sdk per ottenere il progetto di esempio Sintetizza audio in Objective-C su macOS usando Speech SDK. Il repository include anche esempi con iOS.
Aprire la directory dell'app di esempio scaricata (
helloworld
) in un terminale.Eseguire il comando
pod install
. Verrà generata un'area di lavoro Xcodehelloworld.xcworkspace
contenente l'app di esempio e Speech SDK come dipendenza.Aprire l'area di lavoro
helloworld.xcworkspace
in Xcode.Aprire il file denominato AppDelegate.m e individuare il metodo
buttonPressed
come illustrato di seguito.- (void)buttonPressed:(NSButton *)button { // Creates an instance of a speech config with specified subscription key and service region. NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"]; NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"]; SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:speechKey region:serviceRegion]; speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural"; SPXSpeechSynthesizer *speechSynthesizer = [[SPXSpeechSynthesizer alloc] init:speechConfig]; NSLog(@"Start synthesizing..."); SPXSpeechSynthesisResult *speechResult = [speechSynthesizer speakText:[self.textField stringValue]]; // Checks result. if (SPXResultReason_Canceled == speechResult.reason) { SPXSpeechSynthesisCancellationDetails *details = [[SPXSpeechSynthesisCancellationDetails alloc] initFromCanceledSynthesisResult:speechResult]; NSLog(@"Speech synthesis was canceled: %@. Did you set the speech resource key and region values?", details.errorDetails); } else if (SPXResultReason_SynthesizingAudioCompleted == speechResult.reason) { NSLog(@"Speech synthesis was completed"); } else { NSLog(@"There was an error."); } }
In AppDelegate.m usare le variabili di ambiente impostate in precedenza per la chiave e l'area della risorsa Voce.
NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"]; NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
Facoltativamente, in AppDelegate.m, includere un nome per la voce della sintesi vocale, come illustrato di seguito:
speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
Per modificare la lingua della sintesi vocale, sostituire
en-US-AvaMultilingualNeural
con un'altra voce supportata.Tutte le voci neurali sono multilingue e parlano fluentemente sia la propria lingua che l’inglese. Ad esempio, se il testo di input in inglese è I'm excited to try text to speech e si imposta
es-ES-ElviraNeural
, il testo viene pronunciato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituirà l'audio sintetizzato.Per rendere visibile l'output di debug, selezionare Visualizza>Area di debug>Attiva console.
Per compilare ed eseguire il codice di esempio, selezionare Prodotto>Esegui dal menu o selezionare il pulsante Riproduci.
Importante
Assicurarsi di impostare
SPEECH_KEY
eSPEECH_REGION
come variabili di ambiente. Se queste variabili non vengono impostate, l'esempio avrà esito negativo e riporterà un messaggio di errore.
Dopo aver immesso un testo e aver selezionato il pulsante nell'app, si dovrebbe sentire l'audio sintetizzato riprodotto.
Osservazioni:
Altre opzioni di sintesi vocale
Questa guida introduttiva usa l'operazione SpeakText
per sintetizzare un breve blocco di testo immesso dall'utente. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.
- Per informazioni sulla sintesi vocale da un file e un controllo più fine su stili vocali, prosodia e altre impostazioni, vedere Come sintetizzare il parlato e Migliorare la sintesi con Speech Synthesis Markup Language (SSML).
- Per informazioni sulla sintesi vocale, vedere API di sintesi batch per informazioni sulla sintesi vocale in formato lungo.
Voci di sintesi vocale OpenAI in Voce di Azure AI
Sono supportate anche le voci di sintesi vocale di OpenAI. Vedere Voci per la sintesi vocale OpenAI in Voce di Azure AI e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural
con un nome di voce OpenAI supportato, ad esempio en-US-FableMultilingualNeural
.
Pulire le risorse
Per rimuovere la risorsa Voce creata è possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure.
Documentazione di riferimento | Pacchetto (download) | Ulteriori esempi in GitHub
Con Voce di Azure AI, è possibile eseguire un'applicazione che sintetizza una voce simile a quella umana per leggere il testo. È possibile modificare la voce, immettere il testo da pronunciare e ascoltare l'output sull'altoparlante del computer.
Suggerimento
È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza registrarsi o scrivere codice.
Suggerimento
Provare Azure AI Speech Toolkit per compilare ed eseguire facilmente esempi in Visual Studio Code.
Prerequisiti
- Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.
- Creare una risorsa Voce nel portale di Azure.
- Ottenere la chiave e l'area della risorsa Voce. Dopo aver distribuito la risorsa Voce, selezionare Vai alla risorsa per visualizzare e gestire le chiavi.
Configurare l'ambiente
Speech SDK per Swift viene distribuito come bundle framework. Il framework supporta sia Objective-C che Swift sia in iOS che in macOS.
Speech SDK può essere usato nei progetti Xcode come CocoaPod o scaricato direttamente qui e collegato manualmente. Questa guida usa CocoaPod. Installare il gestore di dipendenze di CocoaPod come descritto in queste istruzioni per l'installazione.
Impostare le variabili di ambiente
È necessario autenticare l'applicazione per accedere ai Servizi di Azure AI. Questo articolo illustra come usare le variabili di ambiente per archiviare le credenziali. È quindi possibile accedere alle variabili di ambiente dal codice per autenticare l'applicazione. Per l'ambiente di produzione, usare un modo più sicuro per archiviare e accedere alle credenziali.
Importante
Si consiglia l'autenticazione di Microsoft Entra ID insieme alle identità gestite per le risorse di Azure al fine di evitare di archiviare le credenziali con le applicazioni eseguite nel cloud.
Se si usa una chiave API, archiviarla in modo sicuro in un'altra posizione, ad esempio in Azure Key Vault. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente.
Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autenticare le richieste a Servizi di Azure AI.
Per impostare le variabili di ambiente per la chiave e l'area della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la variabile di ambiente
SPEECH_KEY
, sostituire chiave-utente con una delle chiavi della risorsa. - Per impostare la variabile di ambiente
SPEECH_REGION
, sostituire area-utente con una delle aree della risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Nota
Se è sufficiente accedere alla variabile di ambiente nella console corrente, è possibile impostare la variabile di ambiente con set
anziché setx
.
Dopo l'aggiunta delle variabili di ambiente potrebbe essere necessario riavviare eventuali programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Creare l'applicazione
Seguire questa procedura per sintetizzare la voce in un'applicazione macOS.
Clonare il repository Azure-Samples/cognitive-services-speech-sdk per ottenere il progetto di esempio Sintetizza audio in Swift su macOS usando Speech SDK. Il repository include anche esempi con iOS.
Passare alla directory dell'app di esempio scaricata (
helloworld
) in un terminale.Eseguire il comando
pod install
. Verrà generata un'area di lavoro Xcodehelloworld.xcworkspace
contenente l'app di esempio e Speech SDK come dipendenza.Aprire l'area di lavoro
helloworld.xcworkspace
in Xcode.Aprire il file denominato AppDelegate.swift e individuare i metodi
applicationDidFinishLaunching
esynthesize
come illustrato di seguito.import Cocoa @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate, NSTextFieldDelegate { var textField: NSTextField! var synthesisButton: NSButton! var inputText: String! var sub: String! var region: String! @IBOutlet weak var window: NSWindow! func applicationDidFinishLaunching(_ aNotification: Notification) { print("loading") // load subscription information sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"] inputText = "" textField = NSTextField(frame: NSRect(x: 100, y: 200, width: 200, height: 50)) textField.textColor = NSColor.black textField.lineBreakMode = .byWordWrapping textField.placeholderString = "Type something to synthesize." textField.delegate = self self.window.contentView?.addSubview(textField) synthesisButton = NSButton(frame: NSRect(x: 100, y: 100, width: 200, height: 30)) synthesisButton.title = "Synthesize" synthesisButton.target = self synthesisButton.action = #selector(synthesisButtonClicked) self.window.contentView?.addSubview(synthesisButton) } @objc func synthesisButtonClicked() { DispatchQueue.global(qos: .userInitiated).async { self.synthesize() } } func synthesize() { var speechConfig: SPXSpeechConfiguration? do { try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region) } catch { print("error \(error) happened") speechConfig = nil } speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural"; let synthesizer = try! SPXSpeechSynthesizer(speechConfig!) let result = try! synthesizer.speakText(inputText) if result.reason == SPXResultReason.canceled { let cancellationDetails = try! SPXSpeechSynthesisCancellationDetails(fromCanceledSynthesisResult: result) print("cancelled, error code: \(cancellationDetails.errorCode) detail: \(cancellationDetails.errorDetails!) ") print("Did you set the speech resource key and region values?"); return } } func controlTextDidChange(_ obj: Notification) { let textFiled = obj.object as! NSTextField inputText = textFiled.stringValue } }
In AppDelegate.m usare le variabili di ambiente impostate in precedenza per la chiave e l'area della risorsa Voce.
sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
Facoltativamente, in AppDelegate.m, includere un nome per la voce della sintesi vocale, come illustrato di seguito:
speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural";
Per modificare la lingua della sintesi vocale, sostituire
en-US-AvaMultilingualNeural
con un'altra voce supportata.Tutte le voci neurali sono multilingue e parlano fluentemente sia la propria lingua che l’inglese. Ad esempio, se il testo di input in inglese è I'm excited to try text to speech e si imposta
es-ES-ElviraNeural
, il testo viene pronunciato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituirà l'audio sintetizzato.Per rendere visibile l'output di debug, selezionare Visualizza>Area di debug>Attiva console.
Per compilare ed eseguire il codice di esempio, selezionare Prodotto>Esegui dal menu o selezionare il pulsante Riproduci.
Importante
Assicurarsi di impostare SPEECH_KEY
e SPEECH_REGION
come variabili di ambiente. Se queste variabili non vengono impostate, l'esempio avrà esito negativo e riporterà un messaggio di errore.
Dopo aver immesso un testo e aver selezionato il pulsante nell'app, si dovrebbe sentire l'audio sintetizzato riprodotto.
Osservazioni:
Altre opzioni di sintesi vocale
Questa guida introduttiva usa l'operazione SpeakText
per sintetizzare un breve blocco di testo immesso dall'utente. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.
- Per informazioni sulla sintesi vocale da un file e un controllo più fine su stili vocali, prosodia e altre impostazioni, vedere Come sintetizzare il parlato e Migliorare la sintesi con Speech Synthesis Markup Language (SSML).
- Per informazioni sulla sintesi vocale, vedere API di sintesi batch per informazioni sulla sintesi vocale in formato lungo.
Voci di sintesi vocale OpenAI in Voce di Azure AI
Sono supportate anche le voci di sintesi vocale di OpenAI. Vedere Voci per la sintesi vocale OpenAI in Voce di Azure AI e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural
con un nome di voce OpenAI supportato, ad esempio en-US-FableMultilingualNeural
.
Pulire le risorse
Per rimuovere la risorsa Voce creata è possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure.
Documentazione di riferimento | Pacchetto (PyPi) | Ulteriori esempi in GitHub
Con Voce di Azure AI, è possibile eseguire un'applicazione che sintetizza una voce simile a quella umana per leggere il testo. È possibile modificare la voce, immettere il testo da pronunciare e ascoltare l'output sull'altoparlante del computer.
Suggerimento
È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza registrarsi o scrivere codice.
Suggerimento
Provare Azure AI Speech Toolkit per compilare ed eseguire facilmente esempi in Visual Studio Code.
Prerequisiti
- Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.
- Creare una risorsa Voce nel portale di Azure.
- Ottenere la chiave e l'area della risorsa Voce. Dopo aver distribuito la risorsa Voce, selezionare Vai alla risorsa per visualizzare e gestire le chiavi.
Configurare l'ambiente
Speech SDK per Python è disponibile come modulo Python Package Index (PyPI). Speech SDK per Python è compatibile con Windows, Linux e macOS.
- Su Windows, installare Microsoft Visual C++ Redistributable per Visual Studio 2015, 2017, 2019 e 2022 per la piattaforma. L'installazione di questo pacchetto potrebbe richiedere un riavvio.
- In Linux è necessario usare l'architettura di destinazione x64.
Installare Python 3.7 o una versione successiva. Per altri requisiti, vedere Installare SDK Voce.
Impostare le variabili di ambiente
È necessario autenticare l'applicazione per accedere ai Servizi di Azure AI. Questo articolo illustra come usare le variabili di ambiente per archiviare le credenziali. È quindi possibile accedere alle variabili di ambiente dal codice per autenticare l'applicazione. Per l'ambiente di produzione, usare un modo più sicuro per archiviare e accedere alle credenziali.
Importante
Si consiglia l'autenticazione di Microsoft Entra ID insieme alle identità gestite per le risorse di Azure al fine di evitare di archiviare le credenziali con le applicazioni eseguite nel cloud.
Se si usa una chiave API, archiviarla in modo sicuro in un'altra posizione, ad esempio in Azure Key Vault. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente.
Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autenticare le richieste a Servizi di Azure AI.
Per impostare le variabili di ambiente per la chiave e l'area della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la variabile di ambiente
SPEECH_KEY
, sostituire chiave-utente con una delle chiavi della risorsa. - Per impostare la variabile di ambiente
SPEECH_REGION
, sostituire area-utente con una delle aree della risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Nota
Se è sufficiente accedere alla variabile di ambiente nella console corrente, è possibile impostare la variabile di ambiente con set
anziché setx
.
Dopo l'aggiunta delle variabili di ambiente potrebbe essere necessario riavviare eventuali programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Creare l'applicazione
Seguire questi passaggi per creare un'applicazione console.
Aprire una finestra del prompt dei comandi nella cartella in cui si desidera il nuovo progetto. Creare un file denominato speech_synthesis.py.
Eseguire questo comando per installare Speech SDK:
pip install azure-cognitiveservices-speech
Copiare il codice seguente in speech_synthesis.py:
import os import azure.cognitiveservices.speech as speechsdk # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION')) audio_config = speechsdk.audio.AudioOutputConfig(use_default_speaker=True) # The neural multilingual voice can speak different languages based on the input text. speech_config.speech_synthesis_voice_name='en-US-AvaMultilingualNeural' speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config) # Get text from the console and synthesize to the default speaker. print("Enter some text that you want to speak >") text = input() speech_synthesis_result = speech_synthesizer.speak_text_async(text).get() if speech_synthesis_result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted: print("Speech synthesized for text [{}]".format(text)) elif speech_synthesis_result.reason == speechsdk.ResultReason.Canceled: cancellation_details = speech_synthesis_result.cancellation_details print("Speech synthesis canceled: {}".format(cancellation_details.reason)) if cancellation_details.reason == speechsdk.CancellationReason.Error: if cancellation_details.error_details: print("Error details: {}".format(cancellation_details.error_details)) print("Did you set the speech resource key and region values?")
Per modificare la lingua della sintesi vocale, sostituire
en-US-AvaMultilingualNeural
con un'altra voce supportata.Tutte le voci neurali sono multilingue e parlano fluentemente sia la propria lingua che l’inglese. Ad esempio, se il testo di input in inglese è I'm excited to try text to speech e si imposta
es-ES-ElviraNeural
, il testo viene pronunciato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituirà l'audio sintetizzato.Eseguire la nuova applicazione console per avviare la sintesi vocale nell'altoparlante predefinito.
python speech_synthesis.py
Importante
Assicurarsi di impostare
SPEECH_KEY
eSPEECH_REGION
come variabili di ambiente. Se queste variabili non vengono impostate, l'esempio avrà esito negativo e riporterà un messaggio di errore.Immettere un testo che si desidera sentir pronunciare. Ad esempio, digitare Non vedo l'ora di provare la sintesi vocale. Selezionare INVIO per ascoltare il parlato sintetizzato.
Enter some text that you want to speak > I'm excited to try text to speech
Osservazioni:
Altre opzioni di sintesi vocale
Questa guida introduttiva usa l'operazione speak_text_async
per sintetizzare un breve blocco di testo immesso dall'utente. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.
- Per informazioni sulla sintesi vocale da un file e un controllo più fine su stili vocali, prosodia e altre impostazioni, vedere Come sintetizzare il parlato e Migliorare la sintesi con Speech Synthesis Markup Language (SSML).
- Per informazioni sulla sintesi vocale, vedere API di sintesi batch per informazioni sulla sintesi vocale in formato lungo.
Voci di sintesi vocale OpenAI in Voce di Azure AI
Sono supportate anche le voci di sintesi vocale di OpenAI. Vedere Voci per la sintesi vocale OpenAI in Voce di Azure AI e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural
con un nome di voce OpenAI supportato, ad esempio en-US-FableMultilingualNeural
.
Pulire le risorse
Per rimuovere la risorsa Voce creata è possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure.
Informazioni di riferimento sull'API REST di riconoscimento vocale | Informazioni di riferimento sull'API REST di riconoscimento vocale per audio brevi | Ulteriori esempi in GitHub
Con Voce di Azure AI, è possibile eseguire un'applicazione che sintetizza una voce simile a quella umana per leggere il testo. È possibile modificare la voce, immettere il testo da pronunciare e ascoltare l'output sull'altoparlante del computer.
Suggerimento
È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza registrarsi o scrivere codice.
Suggerimento
Provare Azure AI Speech Toolkit per compilare ed eseguire facilmente esempi in Visual Studio Code.
Prerequisiti
- Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.
- Creare una risorsa Voce nel portale di Azure.
- Ottenere la chiave e l'area della risorsa Voce. Dopo aver distribuito la risorsa Voce, selezionare Vai alla risorsa per visualizzare e gestire le chiavi.
Impostare le variabili di ambiente
È necessario autenticare l'applicazione per accedere ai Servizi di Azure AI. Questo articolo illustra come usare le variabili di ambiente per archiviare le credenziali. È quindi possibile accedere alle variabili di ambiente dal codice per autenticare l'applicazione. Per l'ambiente di produzione, usare un modo più sicuro per archiviare e accedere alle credenziali.
Importante
Si consiglia l'autenticazione di Microsoft Entra ID insieme alle identità gestite per le risorse di Azure al fine di evitare di archiviare le credenziali con le applicazioni eseguite nel cloud.
Se si usa una chiave API, archiviarla in modo sicuro in un'altra posizione, ad esempio in Azure Key Vault. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente.
Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autenticare le richieste a Servizi di Azure AI.
Per impostare le variabili di ambiente per la chiave e l'area della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la variabile di ambiente
SPEECH_KEY
, sostituire chiave-utente con una delle chiavi della risorsa. - Per impostare la variabile di ambiente
SPEECH_REGION
, sostituire area-utente con una delle aree della risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Nota
Se è sufficiente accedere alla variabile di ambiente nella console corrente, è possibile impostare la variabile di ambiente con set
anziché setx
.
Dopo l'aggiunta delle variabili di ambiente potrebbe essere necessario riavviare eventuali programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Sintetizzare la voce in un file
Al prompt dei comandi, eseguire il seguente comando cURL. Facoltativamente, è possibile rinominare output.mp3 in un altro nome di file di output.
curl --location --request POST "https://%SPEECH_REGION%.tts.speech.microsoft.com/cognitiveservices/v1" ^
--header "Ocp-Apim-Subscription-Key: %SPEECH_KEY%" ^
--header "Content-Type: application/ssml+xml" ^
--header "X-Microsoft-OutputFormat: audio-16khz-128kbitrate-mono-mp3" ^
--header "User-Agent: curl" ^
--data-raw "<speak version='1.0' xml:lang='en-US'><voice xml:lang='en-US' xml:gender='Female' name='en-US-AvaMultilingualNeural'>my voice is my passport verify me</voice></speak>" --output output.mp3
Importante
Assicurarsi di impostare SPEECH_KEY
e SPEECH_REGION
come variabili di ambiente. Se queste variabili non vengono impostate, l'esempio avrà esito negativo e riporterà un messaggio di errore.
Il testo fornito deve essere restituito in un file audio denominato output.mp3.
Per modificare la lingua della sintesi vocale, sostituire en-US-AvaMultilingualNeural
con un'altra voce supportata.
Tutte le voci neurali sono multilingue e parlano fluentemente sia la propria lingua che l’inglese. Ad esempio, se il testo di input in inglese è I'm excited to try text to speech e si imposta es-ES-ElviraNeural
, il testo viene pronunciato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituirà l'audio sintetizzato.
Per altre informazioni, vedere API REST di sintesi vocale.
Osservazioni:
Voci di sintesi vocale OpenAI in Voce di Azure AI
Sono supportate anche le voci di sintesi vocale di OpenAI. Vedere Voci per la sintesi vocale OpenAI in Voce di Azure AI e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural
con un nome di voce OpenAI supportato, ad esempio en-US-FableMultilingualNeural
.
Pulire le risorse
Per rimuovere la risorsa Voce creata è possibile usare il portale di Azure o l'interfaccia della riga di comando (CLI) di Azure.
Con Voce di Azure AI, è possibile eseguire un'applicazione che sintetizza una voce simile a quella umana per leggere il testo. È possibile modificare la voce, immettere il testo da pronunciare e ascoltare l'output sull'altoparlante del computer.
Suggerimento
È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza registrarsi o scrivere codice.
Suggerimento
Provare Azure AI Speech Toolkit per compilare ed eseguire facilmente esempi in Visual Studio Code.
Prerequisiti
- Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.
- Creare una risorsa Voce nel portale di Azure.
- Ottenere la chiave e l'area della risorsa Voce. Dopo aver distribuito la risorsa Voce, selezionare Vai alla risorsa per visualizzare e gestire le chiavi.
Configurare l'ambiente
Seguire questi passaggi e vedere la guida di Avvio rapido sull'interfaccia della riga di comando di Voce per altri requisiti della piattaforma.
Eseguire il comando seguente dell'interfaccia della riga di comando di .NET per installare l'interfaccia della riga di comando di Voce:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Eseguire i comandi seguenti per configurare la chiave e l'area della risorsa Voce. Sostituire
SUBSCRIPTION-KEY
con la chiave della risorsa Voce eREGION
con l'area della risorsa Voce.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Inviare il parlato al parlante
Eseguire il comando seguente per eseguire l'output della sintesi vocale nell'altoparlante predefinito. È possibile modificare il testo e la voce da sintetizzare.
spx synthesize --text "I'm excited to try text to speech" --voice "en-US-AvaMultilingualNeural"
Se non si imposta un nome per la voce, parlerà la voce predefinita per en-US
.
Tutte le voci neurali sono multilingue e parlano fluentemente sia la propria lingua che l’inglese. Ad esempio, se il testo di input in inglese è I'm excited to try text to speech e si imposta --voice "es-ES-ElviraNeural"
, il testo viene pronunciato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituirà l'audio sintetizzato.
Eseguire questo comando per informazioni sulle opzioni di sintesi vocale aggiuntive, ad esempio l'input e l'output del file:
spx help synthesize
Osservazioni:
Supporto SSML
È possibile avere un controllo più fine sugli stili vocali, sulla prosodia e su altre impostazioni usando Speech Synthesis Markup Language (SSML).
Voci di sintesi vocale OpenAI in Voce di Azure AI
Sono supportate anche le voci di sintesi vocale di OpenAI. Vedere Voci per la sintesi vocale OpenAI in Voce di Azure AI e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural
con un nome di voce OpenAI supportato, ad esempio en-US-FableMultilingualNeural
.
Pulire le risorse
Per rimuovere la risorsa Voce creata è possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure.