Avvio rapido: convertire testo scritto in voce

Pacchetto della documentazione di riferimento | (NuGet) | Esempi aggiuntivi in GitHub

In questa guida introduttiva si esegue un'applicazione che esegue la sintesi vocale.

Suggerimento

È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza iscriversi o scrivere codice.

Prerequisiti

Configurare l'ambiente

Speech SDK è disponibile come pacchetto NuGet che implementa .NET Standard 2.0. Installare Speech SDK più avanti in questa guida. Per eventuali requisiti, vedere Installare Speech SDK.

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Sintetizzare l'output dell'altoparlante

Seguire questa procedura per creare un'applicazione console e installare Speech SDK.

  1. 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.

  2. Installare Speech SDK nel nuovo progetto con l'interfaccia della riga di comando di .NET.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. 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();
        }
    }
    
  4. Per modificare il linguaggio di sintesi vocale, sostituire en-US-AvaMultilingualNeural con un'altra voce supportata.

    Tutte le voci neurali sono multilingue e fluente nella propria lingua e inglese. Ad esempio, se il testo di input in inglese è "Sono entusiasta di provare la sintesi vocale" e si imposta es-ES-ElviraNeural, il testo viene parlato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituisce l'audio sintetizzato.

  5. Eseguire la nuova applicazione console per avviare la sintesi vocale nell'altoparlante predefinito.

    dotnet run
    

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

  6. Immettere un testo che si desidera pronunciare. Ad esempio, digitare I'm excited to try text to speech .For example, type I'm excited to try text to speech.For example, type I'm excited to try text to speech. Selezionare il tasto 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. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.

Testo OpenAI per le voci vocali in Riconoscimento vocale di Intelligenza artificiale di Azure

Sono supportati anche testo OpenAI per le voci vocali. Vedere Testo OpenAI per le voci vocali in Voce di Intelligenza artificiale di Azure e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural con un nome di voce OpenAI supportato, en-US-FableMultilingualNeuralad esempio .

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Pacchetto della documentazione di riferimento | (NuGet) | Esempi aggiuntivi in GitHub

In questa guida introduttiva si esegue un'applicazione che esegue la sintesi vocale.

Suggerimento

È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza iscriversi o scrivere codice.

Prerequisiti

Configurare l'ambiente

Speech SDK è disponibile come pacchetto NuGet che implementa .NET Standard 2.0. Installare Speech SDK più avanti in questa guida. Per eventuali requisiti, vedere Installare Speech SDK.

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Sintetizzare l'output dell'altoparlante

Seguire questa procedura per creare un'applicazione console e installare Speech SDK.

  1. Creare un progetto console C++ in Visual Studio Community denominato SpeechSynthesis.

  2. 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
    }  
    
  3. Selezionare Strumenti>nuget Gestione pacchetti> Gestione pacchetti Console. Nella console di Gestione pacchetti eseguire questo comando:

    Install-Package Microsoft.CognitiveServices.Speech
    
  4. Per modificare il linguaggio di sintesi vocale, sostituire en-US-AvaMultilingualNeural con un'altra voce supportata.

    Tutte le voci neurali sono multilingue e fluente nella propria lingua e inglese. Ad esempio, se il testo di input in inglese è "Sono entusiasta di provare la sintesi vocale" e si imposta es-ES-ElviraNeural, il testo viene parlato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituisce l'audio sintetizzato.

  5. Compilare ed eseguire la nuova applicazione console per avviare la sintesi vocale nell'altoparlante predefinito.

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

  6. Immettere un testo che si desidera pronunciare. Ad esempio, digitare I'm excited to try text to speech .For example, type I'm excited to try text to speech.For example, type I'm excited to try text to speech. Selezionare il tasto 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. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.

Testo OpenAI per le voci vocali in Riconoscimento vocale di Intelligenza artificiale di Azure

Sono supportati anche testo OpenAI per le voci vocali. Vedere Testo OpenAI per le voci vocali in Voce di Intelligenza artificiale di Azure e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural con un nome di voce OpenAI supportato, en-US-FableMultilingualNeuralad esempio .

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Pacchetto della documentazione di riferimento | (Go) | Esempi aggiuntivi in GitHub

In questa guida introduttiva si esegue un'applicazione che esegue la sintesi vocale.

Suggerimento

È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza iscriversi o scrivere codice.

Prerequisiti

Configurare l'ambiente

Installare Speech SDK per Go. Per i requisiti e le istruzioni, vedere Installare Speech SDK.

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Sintetizzare l'output dell'altoparlante

Seguire questa procedura per creare un modulo Go.

  1. Aprire una finestra del prompt dei comandi nella cartella in cui si desidera il nuovo progetto. Creare un nuovo file denominato speech-synthesis.go.

  2. 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)
                }
            }
        }
    }
    
  3. Per modificare il linguaggio di sintesi vocale, sostituire en-US-AvaMultilingualNeural con un'altra voce supportata.

    Tutte le voci neurali sono multilingue e fluente nella propria lingua e inglese. Ad esempio, se il testo di input in inglese è "Sono entusiasta di provare la sintesi vocale" e si imposta es-ES-ElviraNeural, il testo viene parlato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituisce l'audio sintetizzato.

  4. Eseguire i comandi seguenti per creare un file go.mod che collega i componenti ospitati in GitHub:

    go mod init speech-synthesis
    go get github.com/Microsoft/cognitive-services-speech-sdk-go
    

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

  5. A questo momento compilare ed eseguire il codice:

    go build
    go run speech-synthesis
    

Osservazioni:

Testo OpenAI per le voci vocali in Riconoscimento vocale di Intelligenza artificiale di Azure

Sono supportati anche testo OpenAI per le voci vocali. Vedere Testo OpenAI per le voci vocali in Voce di Intelligenza artificiale di Azure e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural con un nome di voce OpenAI supportato, en-US-FableMultilingualNeuralad esempio .

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Documentazione di riferimento | Esempi aggiuntivi su GitHub

In questa guida introduttiva si esegue un'applicazione che esegue la sintesi vocale.

Suggerimento

È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza iscriversi o scrivere codice.

Prerequisiti

Configurare l'ambiente

Per configurare l'ambiente, installare Speech SDK. L'esempio in questa guida introduttiva funziona con Java Runtime.

  1. Installare Apache Maven. mvn -v Eseguire quindi per confermare l'installazione corretta.

  2. Creare un file pom.xml nella radice del progetto e copiarne 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.37.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Installare Speech SDK e le dipendenze.

    mvn clean dependency:copy-dependencies
    

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Sintetizzare l'output dell'altoparlante

Seguire questa procedura per creare un'applicazione console per il riconoscimento vocale.

  1. Creare un file denominato SpeechSynthesis.java nella stessa directory radice del progetto.

  2. 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);
        }
    }
    
  3. Per modificare il linguaggio di sintesi vocale, sostituire en-US-AvaMultilingualNeural con un'altra voce supportata.

    Tutte le voci neurali sono multilingue e fluente nella propria lingua e inglese. Ad esempio, se il testo di input in inglese è "Sono entusiasta di provare la sintesi vocale" e si imposta es-ES-ElviraNeural, il testo viene parlato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituisce l'audio sintetizzato.

  4. Eseguire l'applicazione console per avviare la sintesi vocale nell'altoparlante predefinito.

    javac SpeechSynthesis.java -cp ".;target\dependency\*"
    java -cp ".;target\dependency\*" SpeechSynthesis
    

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

  5. Immettere un testo che si desidera pronunciare. Ad esempio, digitare I'm excited to try text to speech .For example, type I'm excited to try text to speech.For example, type I'm excited to try text to speech. Selezionare il tasto 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. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.

Testo OpenAI per le voci vocali in Riconoscimento vocale di Intelligenza artificiale di Azure

Sono supportati anche testo OpenAI per le voci vocali. Vedere Testo OpenAI per le voci vocali in Voce di Intelligenza artificiale di Azure e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural con un nome di voce OpenAI supportato, en-US-FableMultilingualNeuralad esempio .

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Pacchetto della documentazione di riferimento | (npm) | Esempi aggiuntivi nel codice sorgente della libreria GitHub |

In questa guida introduttiva si esegue un'applicazione che esegue la sintesi vocale.

Suggerimento

È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza iscriversi o scrivere codice.

Prerequisiti

Configurare l'ambiente

Per configurare l'ambiente, installare Speech SDK per JavaScript. Se si vuole solo installare il nome del pacchetto, eseguire npm install microsoft-cognitiveservices-speech-sdk. Per istruzioni di installazione guidata, vedere Installare Speech SDK.

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Eseguire la sintesi nell'output del file

Seguire questa procedura per creare un'applicazione console Node.js per la sintesi vocale.

  1. Aprire una finestra della console in cui si desidera il nuovo progetto e creare un file denominato SpeechSynthesis.js.

  2. Installare Speech SDK per JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. 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);
        });
    }());
    
  4. In SpeechSynthesis.js facoltativamente è possibile rinominare YourAudioFile.wav in un altro nome di file di output.

  5. Per modificare il linguaggio di sintesi vocale, sostituire en-US-AvaMultilingualNeural con un'altra voce supportata.

    Tutte le voci neurali sono multilingue e fluente nella propria lingua e inglese. Ad esempio, se il testo di input in inglese è "Sono entusiasta di provare la sintesi vocale" e si imposta es-ES-ElviraNeural, il testo viene parlato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituisce l'audio sintetizzato.

  6. Eseguire l'applicazione console per avviare la sintesi vocale in un file:

    node SpeechSynthesis.js
    

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

  7. 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. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.

Testo OpenAI per le voci vocali in Riconoscimento vocale di Intelligenza artificiale di Azure

Sono supportati anche testo OpenAI per le voci vocali. Vedere Testo OpenAI per le voci vocali in Voce di Intelligenza artificiale di Azure e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural con un nome di voce OpenAI supportato, en-US-FableMultilingualNeuralad esempio .

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Pacchetto della documentazione di riferimento | (download) | Esempi aggiuntivi in GitHub

In questa guida introduttiva si esegue un'applicazione che esegue la sintesi vocale.

Suggerimento

È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza iscriversi o scrivere codice.

Prerequisiti

Configurare l'ambiente

Speech SDK per Objective-C viene distribuito come bundle del 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 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

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Sintetizzare l'output dell'altoparlante

Seguire questa procedura per sintetizzare la voce in un'applicazione macOS.

  1. Clonare il repository Azure-Samples/cognitive-services-speech-sdk per ottenere l'audio Sintetizzare l'audio in Objective-C in macOS usando il progetto di esempio Speech SDK . Il repository include anche esempi di iOS.

  2. Aprire la directory dell'app di esempio scaricata (helloworld) in un terminale.

  3. Eseguire il comando pod install. Verrà generata un'area di lavoro Xcode helloworld.xcworkspace contenente l'app di esempio e Speech SDK come dipendenza.

  4. Aprire l'area di lavoro helloworld.xcworkspace in Xcode.

  5. Aprire il file denominato AppDelegate.m e individuare il buttonPressed metodo 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.");
        }
    }
    
  6. 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"];
    
  7. Facoltativamente, in AppDelegate.m includere un nome vocale di sintesi vocale, come illustrato di seguito:

    speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
    
  8. Per modificare il linguaggio di sintesi vocale, sostituire en-US-AvaMultilingualNeural con un'altra voce supportata.

    Tutte le voci neurali sono multilingue e fluente nella propria lingua e inglese. Ad esempio, se il testo di input in inglese è "Sono entusiasta di provare la sintesi vocale" e si imposta es-ES-ElviraNeural, il testo viene parlato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituisce l'audio sintetizzato.

  9. Per rendere visibile l'output di debug, selezionare Visualizza>area>debug Attiva console.

  10. Per compilare ed eseguire il codice di esempio, selezionare Product Run (Esegui prodotto>) dal menu o selezionare il pulsante Play (Riproduci).

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

Dopo aver immesso testo e aver selezionato il pulsante nell'app, dovresti 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. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.

Testo OpenAI per le voci vocali in Riconoscimento vocale di Intelligenza artificiale di Azure

Sono supportati anche testo OpenAI per le voci vocali. Vedere Testo OpenAI per le voci vocali in Voce di Intelligenza artificiale di Azure e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural con un nome di voce OpenAI supportato, en-US-FableMultilingualNeuralad esempio .

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Pacchetto della documentazione di riferimento | (download) | Esempi aggiuntivi in GitHub

In questa guida introduttiva si esegue un'applicazione che esegue la sintesi vocale.

Suggerimento

È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza iscriversi o scrivere codice.

Prerequisiti

Configurare l'ambiente

Speech SDK per Swift viene distribuito come bundle del 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 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

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Sintetizzare l'output dell'altoparlante

Seguire questa procedura per sintetizzare la voce in un'applicazione macOS.

  1. Clonare il repository Azure-Samples/cognitive-services-speech-sdk per ottenere l'audio Sintetizzare in Swift in macOS usando il progetto di esempio Speech SDK . Il repository include anche esempi di iOS.

  2. Passare alla directory dell'app di esempio scaricata (helloworld) in un terminale.

  3. Eseguire il comando pod install. Verrà generata un'area di lavoro Xcode helloworld.xcworkspace contenente l'app di esempio e Speech SDK come dipendenza.

  4. Aprire l'area di lavoro helloworld.xcworkspace in Xcode.

  5. Aprire il file denominato AppDelegate.swift e individuare i applicationDidFinishLaunching metodi e synthesize 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
        }
    }
    
  6. 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"]
    
  7. Facoltativamente, in AppDelegate.m includere un nome vocale di sintesi vocale, come illustrato di seguito:

    speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural";
    
  8. Per modificare il linguaggio di sintesi vocale, sostituire en-US-AvaMultilingualNeural con un'altra voce supportata.

    Tutte le voci neurali sono multilingue e fluente nella propria lingua e inglese. Ad esempio, se il testo di input in inglese è "Sono entusiasta di provare la sintesi vocale" e si imposta es-ES-ElviraNeural, il testo viene parlato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituisce l'audio sintetizzato.

  9. Per rendere visibile l'output di debug, selezionare Visualizza>area>debug Attiva console.

  10. Per compilare ed eseguire il codice di esempio, selezionare Product Run (Esegui prodotto>) dal menu o selezionare il pulsante Play (Riproduci).

Importante

Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

Dopo aver immesso testo e aver selezionato il pulsante nell'app, dovresti 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. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.

Testo OpenAI per le voci vocali in Riconoscimento vocale di Intelligenza artificiale di Azure

Sono supportati anche testo OpenAI per le voci vocali. Vedere Testo OpenAI per le voci vocali in Voce di Intelligenza artificiale di Azure e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural con un nome di voce OpenAI supportato, en-US-FableMultilingualNeuralad esempio .

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Pacchetto della documentazione di riferimento | (PyPi) | Esempi aggiuntivi in GitHub

In questa guida introduttiva si esegue un'applicazione che esegue la sintesi vocale.

Suggerimento

È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza iscriversi o scrivere codice.

Prerequisiti

Configurare l'ambiente

Speech SDK per Python è disponibile come modulo Python Package Index (PyPI). Speech SDK per Python è compatibile con Windows, Linux e macOS.

Installare una versione di Python dalla versione 3.7 o successiva. Per eventuali requisiti, vedere Installare Speech SDK.

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Sintetizzare l'output dell'altoparlante

Seguire questa procedura per creare un'applicazione console.

  1. Aprire una finestra del prompt dei comandi nella cartella in cui si desidera il nuovo progetto. Creare un file denominato speech_synthesis.py.

  2. Eseguire questo comando per installare Speech SDK:

    pip install azure-cognitiveservices-speech
    
  3. 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?")
    
  4. Per modificare il linguaggio di sintesi vocale, sostituire en-US-AvaMultilingualNeural con un'altra voce supportata.

    Tutte le voci neurali sono multilingue e fluente nella propria lingua e inglese. Ad esempio, se il testo di input in inglese è "Sono entusiasta di provare la sintesi vocale" e si imposta es-ES-ElviraNeural, il testo viene parlato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituisce l'audio sintetizzato.

  5. Eseguire la nuova applicazione console per avviare la sintesi vocale nell'altoparlante predefinito.

    python speech_synthesis.py
    

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

  6. Immettere un testo che si desidera pronunciare. Ad esempio, digitare I'm excited to try text to speech .For example, type I'm excited to try text to speech.For example, type I'm excited to try text to speech. Selezionare il tasto 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. È anche possibile usare testo in formato lungo da un file e ottenere un controllo più corretto sugli stili vocali, prosodia e altre impostazioni.

Testo OpenAI per le voci vocali in Riconoscimento vocale di Intelligenza artificiale di Azure

Sono supportati anche testo OpenAI per le voci vocali. Vedere Testo OpenAI per le voci vocali in Voce di Intelligenza artificiale di Azure e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural con un nome di voce OpenAI supportato, en-US-FableMultilingualNeuralad esempio .

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Informazioni di riferimento | sull'API REST Riconoscimento vocale in testo per brevi riferimenti | audio Esempi aggiuntivi in GitHub

In questa guida introduttiva si esegue un'applicazione che esegue la sintesi vocale.

Suggerimento

È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza iscriversi o scrivere codice.

Prerequisiti

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Eseguire la sintesi in un file

Al prompt dei comandi eseguire il comando cURL seguente. 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 le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

Il testo fornito deve essere restituito in un file audio denominato output.mp3.

Per modificare il linguaggio di sintesi vocale, sostituire en-US-AvaMultilingualNeural con un'altra voce supportata.

Tutte le voci neurali sono multilingue e fluente nella propria lingua e inglese. Ad esempio, se il testo di input in inglese è "Sono entusiasta di provare la sintesi vocale" e si imposta es-ES-ElviraNeural, il testo viene parlato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituisce l'audio sintetizzato.

Per altre informazioni, vedere API REST Sintesi vocale.

Osservazioni:

Testo OpenAI per le voci vocali in Riconoscimento vocale di Intelligenza artificiale di Azure

Sono supportati anche testo OpenAI per le voci vocali. Vedere Testo OpenAI per le voci vocali in Voce di Intelligenza artificiale di Azure e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural con un nome di voce OpenAI supportato, en-US-FableMultilingualNeuralad esempio .

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

In questa guida introduttiva si esegue un'applicazione che esegue la sintesi vocale.

Suggerimento

È possibile provare la sintesi vocale in Speech Studio Voice Gallery senza iscriversi o scrivere codice.

Prerequisiti

Configurare l'ambiente

Seguire questa procedura e vedere la guida introduttiva all'interfaccia della riga di comando di Voce per altri requisiti per la piattaforma.

  1. 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
    
  2. Eseguire i comandi seguenti per configurare la chiave e l'area della risorsa Voce. Sostituire SUBSCRIPTION-KEY con la chiave della risorsa Voce e sostituire REGION con l'area della risorsa Voce.

    spx config @key --set SUBSCRIPTION-KEY
    spx config @region --set REGION
    

Sintetizzare l'output dell'altoparlante

Eseguire il comando seguente per la sintesi vocale nell'output predefinito dell'altoparlante. È possibile modificare la voce e il testo da sintetizzare.

spx synthesize --text "I'm excited to try text to speech" --voice "en-US-AvaMultilingualNeural"

Se non imposti un nome vocale, la voce predefinita per en-US parla.

Tutte le voci neurali sono multilingue e fluente nella propria lingua e inglese. Ad esempio, se il testo di input in inglese è "Sono entusiasta di provare la sintesi vocale" e si imposta --voice "es-ES-ElviraNeural", il testo viene parlato in inglese con un accento spagnolo. Se la voce non parla la lingua del testo di input, il servizio Voce non restituisce l'audio sintetizzato.

Eseguire questo comando per informazioni su altre opzioni di sintesi vocale, ad esempio l'input e l'output dei file:

spx help synthesize

Osservazioni:

Supporto SSML

È possibile avere un controllo più corretto sugli stili vocali, sulla prosodia e su altre impostazioni usando Speech Synthesis Markup Language (SSML).

Testo OpenAI per le voci vocali in Riconoscimento vocale di Intelligenza artificiale di Azure

Sono supportati anche testo OpenAI per le voci vocali. Vedere Testo OpenAI per le voci vocali in Voce di Intelligenza artificiale di Azure e voci multilingue. È possibile sostituire en-US-AvaMultilingualNeural con un nome di voce OpenAI supportato, en-US-FableMultilingualNeuralad esempio .

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Passaggio successivo