Hızlı Başlangıç: Metni konuşmaya dönüştürme

GitHub'da Başvuru belgeleri | Paketi (NuGet) | Ek Örnekler

Bu hızlı başlangıçta, metinden konuşma sentezine yönelik bir uygulama çalıştıracaksınız.

İpucu

Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun.
  • Azure portalında konuşma kaynağı oluşturun.
  • Konuşma kaynak anahtarınız ve bölgeniz. Konuşma kaynağınız dağıtıldıktan sonra anahtarları görüntülemek ve yönetmek için Kaynağa git'i seçin. Azure AI hizmetleri kaynakları hakkında daha fazla bilgi için bkz . Kaynağınızın anahtarlarını alma.

Ortamı ayarlama

Konuşma SDK'sı, .NET Standard 2.0'ı uygulayan bir NuGet paketi olarak kullanılabilir. Bu kılavuzun devamında Konuşma SDK'sını yükleyin. Tüm gereksinimler için bkz . Konuşma SDK'sını yükleme.

Ortam değişkenlerini belirleme

Azure AI hizmetleri kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Örneğin, Konuşma kaynağınız için bir anahtar aldıktan sonra, uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuz içinde eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi daha fazla kimlik doğrulama seçeneği için bkz. Azure AI hizmetleri güvenliği.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • Ortam değişkenini SPEECH_KEY ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkenini SPEECH_REGION ayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Not

Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okuması gereken tüm programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Hoparlör çıkışına sentezle

Konsol uygulaması oluşturmak ve Konuşma SDK'sını yüklemek için bu adımları izleyin.

  1. Yeni projeyi istediğiniz klasörde bir komut istemi penceresi açın. .NET CLI ile bir konsol uygulaması oluşturmak için bu komutu çalıştırın.

    dotnet new console
    

    komutu proje dizininde bir Program.cs dosyası oluşturur.

  2. .NET CLI ile yeni projenize Konuşma SDK'sını yükleyin.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Program.cs içeriğini aşağıdaki kodla değiştirin.

    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. Konuşma sentezi dilini değiştirmek için öğesini desteklenen başka bir sesle değiştirinen-US-AvaMultilingualNeural.

    Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni "Konuşmayı denemek için sabırsızlanıyorum" ise ve ayarını es-ES-ElviraNeuralyaparsanız, metin İspanyolca aksanlı İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.

  5. Konuşma sentezini varsayılan konuşmacıya başlatmak için yeni konsol uygulamanızı çalıştırın.

    dotnet run
    

    Önemli

    ve SPEECH_REGIONortam değişkenlerini ayarladığınızdan SPEECH_KEY emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.

  6. Konuşmak istediğiniz bir metin girin. Örneğin, metin okuma özelliğini denemek için heyecan duyuyorum yazın. Sentezlenen konuşmayı dinlemek için Enter tuşunu seçin.

    Enter some text that you want to speak >
    I'm excited to try text to speech
    

Açıklamalar

Diğer konuşma sentezi seçenekleri

Bu hızlı başlangıçta, girdiğiniz kısa bir metin bloğunu sentezlemek için işlemi kullanılır SpeakTextAsync . Ayrıca bir dosyadan uzun biçimli metin kullanabilir ve ses stilleri, prosody ve diğer ayarlar üzerinde daha ayrıntılı denetime sahip olabilirsiniz.

Azure AI Konuşma'da konuşma seslerine openAI metni

OpenAI metinden konuşma seslerine de desteklenir. Bkz . Azure AI Konuşma ve çok dilli seslerde OpenAI metni konuşma seslerine. değerini gibi en-US-FableMultilingualNeuraldesteklenen bir OpenAI ses adıyla değiştirebilirsinizen-US-AvaMultilingualNeural.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portalını veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

GitHub'da Başvuru belgeleri | Paketi (NuGet) | Ek Örnekler

Bu hızlı başlangıçta, metinden konuşma sentezine yönelik bir uygulama çalıştıracaksınız.

İpucu

Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun.
  • Azure portalında konuşma kaynağı oluşturun.
  • Konuşma kaynak anahtarınız ve bölgeniz. Konuşma kaynağınız dağıtıldıktan sonra anahtarları görüntülemek ve yönetmek için Kaynağa git'i seçin. Azure AI hizmetleri kaynakları hakkında daha fazla bilgi için bkz . Kaynağınızın anahtarlarını alma.

Ortamı ayarlama

Konuşma SDK'sı, .NET Standard 2.0'ı uygulayan bir NuGet paketi olarak kullanılabilir. Bu kılavuzun devamında Konuşma SDK'sını yükleyin. Tüm gereksinimler için bkz . Konuşma SDK'sını yükleme.

Ortam değişkenlerini belirleme

Azure AI hizmetleri kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Örneğin, Konuşma kaynağınız için bir anahtar aldıktan sonra, uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuz içinde eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi daha fazla kimlik doğrulama seçeneği için bkz. Azure AI hizmetleri güvenliği.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • Ortam değişkenini SPEECH_KEY ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkenini SPEECH_REGION ayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Not

Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okuması gereken tüm programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Hoparlör çıkışına sentezle

Konsol uygulaması oluşturmak ve Konuşma SDK'sını yüklemek için bu adımları izleyin.

  1. Visual Studio Topluluğu'nda adlı SpeechSynthesisbir C++ konsol projesi oluşturun.

  2. SpeechSynthesis.cpp içeriğini aşağıdaki kodla değiştirin:

    #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. Araçlar>Nuget Paket Yöneticisi> Paket Yöneticisi Konsolu'nu seçin. Paket Yöneticisi Konsolu'nda şu komutu çalıştırın:

    Install-Package Microsoft.CognitiveServices.Speech
    
  4. Konuşma sentezi dilini değiştirmek için öğesini desteklenen başka bir sesle değiştirinen-US-AvaMultilingualNeural.

    Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni "Konuşmayı denemek için sabırsızlanıyorum" ise ve ayarını es-ES-ElviraNeuralyaparsanız, metin İspanyolca aksanlı İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.

  5. Konuşma sentezini varsayılan konuşmacıya başlatmak için yeni konsol uygulamanızı derleyin ve çalıştırın.

    Önemli

    ve SPEECH_REGIONortam değişkenlerini ayarladığınızdan SPEECH_KEY emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.

  6. Konuşmak istediğiniz bir metin girin. Örneğin, metin okuma özelliğini denemek için heyecan duyuyorum yazın. Sentezlenen konuşmayı dinlemek için Enter tuşunu seçin.

    Enter some text that you want to speak >
    I'm excited to try text to speech
    

Açıklamalar

Diğer konuşma sentezi seçenekleri

Bu hızlı başlangıçta, girdiğiniz kısa bir metin bloğunu sentezlemek için işlemi kullanılır SpeakTextAsync . Ayrıca bir dosyadan uzun biçimli metin kullanabilir ve ses stilleri, prosody ve diğer ayarlar üzerinde daha ayrıntılı denetime sahip olabilirsiniz.

Azure AI Konuşma'da konuşma seslerine openAI metni

OpenAI metinden konuşma seslerine de desteklenir. Bkz . Azure AI Konuşma ve çok dilli seslerde OpenAI metni konuşma seslerine. değerini gibi en-US-FableMultilingualNeuraldesteklenen bir OpenAI ses adıyla değiştirebilirsinizen-US-AvaMultilingualNeural.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portalını veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

GitHub'da Başvuru belgeleri | Paketi (Go) | Ek Örnekler

Bu hızlı başlangıçta, metinden konuşma sentezine yönelik bir uygulama çalıştıracaksınız.

İpucu

Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun.
  • Azure portalında konuşma kaynağı oluşturun.
  • Konuşma kaynak anahtarınız ve bölgeniz. Konuşma kaynağınız dağıtıldıktan sonra anahtarları görüntülemek ve yönetmek için Kaynağa git'i seçin. Azure AI hizmetleri kaynakları hakkında daha fazla bilgi için bkz . Kaynağınızın anahtarlarını alma.

Ortamı ayarlama

Go için Konuşma SDK'sını yükleyin. Gereksinimler ve yönergeler için bkz . Konuşma SDK'sını yükleme.

Ortam değişkenlerini belirleme

Azure AI hizmetleri kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Örneğin, Konuşma kaynağınız için bir anahtar aldıktan sonra, uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuz içinde eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi daha fazla kimlik doğrulama seçeneği için bkz. Azure AI hizmetleri güvenliği.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • Ortam değişkenini SPEECH_KEY ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkenini SPEECH_REGION ayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Not

Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okuması gereken tüm programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Hoparlör çıkışına sentezle

Go modülü oluşturmak için bu adımları izleyin.

  1. Yeni projeyi istediğiniz klasörde bir komut istemi penceresi açın. speech-synthesis.go adlı yeni bir dosya oluşturun.

  2. Aşağıdaki kodu speech-synthesis.go içine kopyalayın:

    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. Konuşma sentezi dilini değiştirmek için öğesini desteklenen başka bir sesle değiştirinen-US-AvaMultilingualNeural.

    Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni "Konuşmayı denemek için sabırsızlanıyorum" ise ve ayarını es-ES-ElviraNeuralyaparsanız, metin İspanyolca aksanlı İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.

  4. GitHub'da barındırılan bileşenlere bağlanan bir go.mod dosyası oluşturmak için aşağıdaki komutları çalıştırın:

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

    Önemli

    ve SPEECH_REGIONortam değişkenlerini ayarladığınızdan SPEECH_KEY emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.

  5. Şimdi kodu derleyin ve çalıştırın:

    go build
    go run speech-synthesis
    

Açıklamalar

Azure AI Konuşma'da konuşma seslerine openAI metni

OpenAI metinden konuşma seslerine de desteklenir. Bkz . Azure AI Konuşma ve çok dilli seslerde OpenAI metni konuşma seslerine. değerini gibi en-US-FableMultilingualNeuraldesteklenen bir OpenAI ses adıyla değiştirebilirsinizen-US-AvaMultilingualNeural.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portalını veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Başvuru belgeleri | GitHub'da Ek Örnekler

Bu hızlı başlangıçta, metinden konuşma sentezine yönelik bir uygulama çalıştıracaksınız.

İpucu

Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun.
  • Azure portalında konuşma kaynağı oluşturun.
  • Konuşma kaynak anahtarınız ve bölgeniz. Konuşma kaynağınız dağıtıldıktan sonra anahtarları görüntülemek ve yönetmek için Kaynağa git'i seçin. Azure AI hizmetleri kaynakları hakkında daha fazla bilgi için bkz . Kaynağınızın anahtarlarını alma.

Ortamı ayarlama

Ortamınızı ayarlamak için Konuşma SDK'sını yükleyin. Bu hızlı başlangıçtaki örnek Java Çalışma Zamanı ile çalışır.

  1. Apache Maven'ı yükleyin. Ardından başarılı yüklemeyi onaylamak için komutunu çalıştırın mvn -v .

  2. Projenizin kökünde bir pom.xml dosyası oluşturun ve içine aşağıdaki kodu kopyalayın:

    <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.36.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Konuşma SDK'sını ve bağımlılıkları yükleyin.

    mvn clean dependency:copy-dependencies
    

Ortam değişkenlerini belirleme

Azure AI hizmetleri kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Örneğin, Konuşma kaynağınız için bir anahtar aldıktan sonra, uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuz içinde eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi daha fazla kimlik doğrulama seçeneği için bkz. Azure AI hizmetleri güvenliği.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • Ortam değişkenini SPEECH_KEY ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkenini SPEECH_REGION ayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Not

Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okuması gereken tüm programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Hoparlör çıkışına sentezle

Konuşma tanıma için bir konsol uygulaması oluşturmak için bu adımları izleyin.

  1. Aynı proje kök dizininde SpeechSynthesis.java adlı bir dosya oluşturun.

  2. Aşağıdaki kodu SpeechSynthesis.java kopyalayın:

    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. Konuşma sentezi dilini değiştirmek için öğesini desteklenen başka bir sesle değiştirinen-US-AvaMultilingualNeural.

    Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni "Konuşmayı denemek için sabırsızlanıyorum" ise ve ayarını es-ES-ElviraNeuralyaparsanız, metin İspanyolca aksanlı İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.

  4. Konuşma sentezini varsayılan konuşmacıya başlatmak için konsol uygulamanızı çalıştırın.

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

    Önemli

    ve SPEECH_REGIONortam değişkenlerini ayarladığınızdan SPEECH_KEY emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.

  5. Konuşmak istediğiniz bir metin girin. Örneğin, metin okuma özelliğini denemek için heyecan duyuyorum yazın. Sentezlenen konuşmayı dinlemek için Enter tuşunu seçin.

    Enter some text that you want to speak >
    I'm excited to try text to speech
    

Açıklamalar

Diğer konuşma sentezi seçenekleri

Bu hızlı başlangıçta, girdiğiniz kısa bir metin bloğunu sentezlemek için işlemi kullanılır SpeakTextAsync . Ayrıca bir dosyadan uzun biçimli metin kullanabilir ve ses stilleri, prosody ve diğer ayarlar üzerinde daha ayrıntılı denetime sahip olabilirsiniz.

Azure AI Konuşma'da konuşma seslerine openAI metni

OpenAI metinden konuşma seslerine de desteklenir. Bkz . Azure AI Konuşma ve çok dilli seslerde OpenAI metni konuşma seslerine. değerini gibi en-US-FableMultilingualNeuraldesteklenen bir OpenAI ses adıyla değiştirebilirsinizen-US-AvaMultilingualNeural.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portalını veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Başvuru belgeleri | Paketi (npm) | GitHub | Kitaplığı kaynak kodunda ek örnekler

Bu hızlı başlangıçta, metinden konuşma sentezine yönelik bir uygulama çalıştıracaksınız.

İpucu

Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun.
  • Azure portalında konuşma kaynağı oluşturun.
  • Konuşma kaynak anahtarınız ve bölgeniz. Konuşma kaynağınız dağıtıldıktan sonra anahtarları görüntülemek ve yönetmek için Kaynağa git'i seçin. Azure AI hizmetleri kaynakları hakkında daha fazla bilgi için bkz . Kaynağınızın anahtarlarını alma.

Ortamı ayarlama

Ortamınızı ayarlamak için JavaScript için Konuşma SDK'sını yükleyin. Yalnızca paket adının yüklenmesini istiyorsanız komutunu çalıştırın npm install microsoft-cognitiveservices-speech-sdk. Kılavuzlu yükleme yönergeleri için bkz. Konuşma SDK'sını yükleme.

Ortam değişkenlerini belirleme

Azure AI hizmetleri kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Örneğin, Konuşma kaynağınız için bir anahtar aldıktan sonra, uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuz içinde eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi daha fazla kimlik doğrulama seçeneği için bkz. Azure AI hizmetleri güvenliği.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • Ortam değişkenini SPEECH_KEY ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkenini SPEECH_REGION ayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Not

Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okuması gereken tüm programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Dosya çıkışına sentezle

Konuşma sentezi için bir Node.js konsol uygulaması oluşturmak için bu adımları izleyin.

  1. Yeni projeyi istediğiniz bir konsol penceresi açın ve SpeechSynthesis.js adlı bir dosya oluşturun.

  2. JavaScript için Konuşma SDK'sını yükleyin:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Aşağıdaki kodu SpeechSynthesis.js kopyalayın:

    (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. SpeechSynthesis.js'da, isteğe bağlı olarak YourAudioFile.wav başka bir çıkış dosyası adıyla yeniden adlandırabilirsiniz.

  5. Konuşma sentezi dilini değiştirmek için öğesini desteklenen başka bir sesle değiştirinen-US-AvaMultilingualNeural.

    Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni "Konuşmayı denemek için sabırsızlanıyorum" ise ve ayarını es-ES-ElviraNeuralyaparsanız, metin İspanyolca aksanlı İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.

  6. Bir dosyaya konuşma sentezi başlatmak için konsol uygulamanızı çalıştırın:

    node SpeechSynthesis.js
    

    Önemli

    ve SPEECH_REGIONortam değişkenlerini ayarladığınızdan SPEECH_KEY emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.

  7. Sağlanan metin bir ses dosyasında olmalıdır:

    Enter some text that you want to speak >
    > I'm excited to try text to speech
    Now synthesizing to: YourAudioFile.wav
    synthesis finished.
    

Açıklamalar

Diğer konuşma sentezi seçenekleri

Bu hızlı başlangıçta, girdiğiniz kısa bir metin bloğunu sentezlemek için işlemi kullanılır SpeakTextAsync . Ayrıca bir dosyadan uzun biçimli metin kullanabilir ve ses stilleri, prosody ve diğer ayarlar üzerinde daha ayrıntılı denetime sahip olabilirsiniz.

Azure AI Konuşma'da konuşma seslerine openAI metni

OpenAI metinden konuşma seslerine de desteklenir. Bkz . Azure AI Konuşma ve çok dilli seslerde OpenAI metni konuşma seslerine. değerini gibi en-US-FableMultilingualNeuraldesteklenen bir OpenAI ses adıyla değiştirebilirsinizen-US-AvaMultilingualNeural.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portalını veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Başvuru belgeleri | Paketi (İndir) | GitHub'da Ek Örnekler

Bu hızlı başlangıçta, metinden konuşma sentezine yönelik bir uygulama çalıştıracaksınız.

İpucu

Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun.
  • Azure portalında konuşma kaynağı oluşturun.
  • Konuşma kaynak anahtarınız ve bölgeniz. Konuşma kaynağınız dağıtıldıktan sonra anahtarları görüntülemek ve yönetmek için Kaynağa git'i seçin. Azure AI hizmetleri kaynakları hakkında daha fazla bilgi için bkz . Kaynağınızın anahtarlarını alma.

Ortamı ayarlama

Objective-C için Konuşma SDK'sı bir çerçeve paketi olarak dağıtılır. Çerçeve hem iOS hem de macOS'ta objective-C ve Swift'i destekler.

Konuşma SDK'sı, Xcode projelerinde CocoaPod olarak kullanılabilir veya doğrudan indirilip el ile bağlanabilir. Bu kılavuzda CocoaPod kullanılır. CocoaPod bağımlılık yöneticisini yükleme yönergelerinde açıklandığı gibi yükleyin.

Ortam değişkenlerini belirleme

Azure AI hizmetleri kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Örneğin, Konuşma kaynağınız için bir anahtar aldıktan sonra, uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuz içinde eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi daha fazla kimlik doğrulama seçeneği için bkz. Azure AI hizmetleri güvenliği.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • Ortam değişkenini SPEECH_KEY ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkenini SPEECH_REGION ayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Not

Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okuması gereken tüm programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Hoparlör çıkışına sentezle

MacOS uygulamasında konuşmayı sentezlemek için bu adımları izleyin.

  1. Konuşma SDK'sı örnek projesini kullanarak macOS üzerinde Objective-C'de ses sentezle özelliğini almak için Azure-Samples/cognitive-services-speech-sdk deposunu kopyalayın. Depoda iOS örnekleri de vardır.

  2. İndirilen örnek uygulamanın (helloworld) dizinini bir terminalde açın.

  3. pod install komutunu çalıştırın. Bu komut, bağımlılık olarak hem örnek uygulamayı hem de Konuşma SDK'sını içeren bir helloworld.xcworkspace Xcode çalışma alanı oluşturur.

  4. Çalışma alanını helloworld.xcworkspace Xcode'da açın.

  5. AppDelegate.m adlı dosyayı açın ve burada gösterildiği gibi yöntemini bulunbuttonPressed.

    - (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. AppDelegate.m'de, Konuşma kaynak anahtarınız ve bölgeniz için daha önce ayarladığınız ortam değişkenlerini kullanın.

    NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
    NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
  7. İsteğe bağlı olarak AppDelegate.m dosyasında, burada gösterildiği gibi bir konuşma sentezi ses adı ekleyin:

    speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
    
  8. Konuşma sentezi dilini değiştirmek için öğesini desteklenen başka bir sesle değiştirinen-US-AvaMultilingualNeural.

    Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni "Konuşmayı denemek için sabırsızlanıyorum" ise ve ayarını es-ES-ElviraNeuralyaparsanız, metin İspanyolca aksanlı İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.

  9. Hata ayıklama çıkışını görünür hale getirmek için Hata Ayıklama Alanını>Görüntüle>Konsolunu Etkinleştir'i seçin.

  10. Örnek kodu oluşturmak ve çalıştırmak için menüden Ürün>Çalıştırma'yı seçin veya Yürüt düğmesini seçin.

    Önemli

    ve SPEECH_REGIONortam değişkenlerini ayarladığınızdan SPEECH_KEY emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.

Metin girdikten ve uygulamadaki düğmeyi seçtikten sonra, sentezlenen sesin çalındığını duymalısınız.

Açıklamalar

Diğer konuşma sentezi seçenekleri

Bu hızlı başlangıçta, girdiğiniz kısa bir metin bloğunu sentezlemek için işlemi kullanılır SpeakText . Ayrıca bir dosyadan uzun biçimli metin kullanabilir ve ses stilleri, prosody ve diğer ayarlar üzerinde daha ayrıntılı denetime sahip olabilirsiniz.

Azure AI Konuşma'da konuşma seslerine openAI metni

OpenAI metinden konuşma seslerine de desteklenir. Bkz . Azure AI Konuşma ve çok dilli seslerde OpenAI metni konuşma seslerine. değerini gibi en-US-FableMultilingualNeuraldesteklenen bir OpenAI ses adıyla değiştirebilirsinizen-US-AvaMultilingualNeural.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portalını veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Başvuru belgeleri | Paketi (İndir) | GitHub'da Ek Örnekler

Bu hızlı başlangıçta, metinden konuşma sentezine yönelik bir uygulama çalıştıracaksınız.

İpucu

Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun.
  • Azure portalında konuşma kaynağı oluşturun.
  • Konuşma kaynak anahtarınız ve bölgeniz. Konuşma kaynağınız dağıtıldıktan sonra anahtarları görüntülemek ve yönetmek için Kaynağa git'i seçin. Azure AI hizmetleri kaynakları hakkında daha fazla bilgi için bkz . Kaynağınızın anahtarlarını alma.

Ortamı ayarlama

Swift için Konuşma SDK'sı bir çerçeve paketi olarak dağıtılır. Çerçeve hem iOS hem de macOS'ta objective-C ve Swift'i destekler.

Konuşma SDK'sı, Xcode projelerinde CocoaPod olarak kullanılabilir veya doğrudan indirilip el ile bağlanabilir. Bu kılavuzda CocoaPod kullanılır. CocoaPod bağımlılık yöneticisini yükleme yönergelerinde açıklandığı gibi yükleyin.

Ortam değişkenlerini belirleme

Azure AI hizmetleri kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Örneğin, Konuşma kaynağınız için bir anahtar aldıktan sonra, uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuz içinde eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi daha fazla kimlik doğrulama seçeneği için bkz. Azure AI hizmetleri güvenliği.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • Ortam değişkenini SPEECH_KEY ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkenini SPEECH_REGION ayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Not

Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okuması gereken tüm programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Hoparlör çıkışına sentezle

MacOS uygulamasında konuşmayı sentezlemek için bu adımları izleyin.

  1. Konuşma SDK'sı örnek projesini kullanarak macOS üzerinde Swift'te ses sentezle özelliğini almak için Azure-Samples/cognitive-services-speech-sdk deposunu kopyalayın. Depoda iOS örnekleri de vardır.

  2. Terminalde indirilen örnek uygulamanın (helloworld) dizinine gidin.

  3. pod install komutunu çalıştırın. Bu komut, bağımlılık olarak hem örnek uygulamayı hem de Konuşma SDK'sını içeren bir helloworld.xcworkspace Xcode çalışma alanı oluşturur.

  4. Çalışma alanını helloworld.xcworkspace Xcode'da açın.

  5. AppDelegate.swift adlı dosyayı açın ve burada gösterildiği gibi ve synthesize yöntemlerini bulunapplicationDidFinishLaunching.

    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. AppDelegate.m'de, Konuşma kaynak anahtarınız ve bölgeniz için daha önce ayarladığınız ortam değişkenlerini kullanın.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. İsteğe bağlı olarak AppDelegate.m dosyasında, burada gösterildiği gibi bir konuşma sentezi ses adı ekleyin:

    speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural";
    
  8. Konuşma sentezi dilini değiştirmek için öğesini desteklenen başka bir sesle değiştirinen-US-AvaMultilingualNeural.

    Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni "Konuşmayı denemek için sabırsızlanıyorum" ise ve ayarını es-ES-ElviraNeuralyaparsanız, metin İspanyolca aksanlı İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.

  9. Hata ayıklama çıkışını görünür hale getirmek için Hata Ayıklama Alanını>Görüntüle>Konsolunu Etkinleştir'i seçin.

  10. Örnek kodu oluşturmak ve çalıştırmak için menüden Ürün>Çalıştırma'yı seçin veya Yürüt düğmesini seçin.

Önemli

ve SPEECH_REGIONortam değişkenlerini ayarladığınızdan SPEECH_KEY emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.

Metin girdikten ve uygulamadaki düğmeyi seçtikten sonra, sentezlenen sesin çalındığını duymalısınız.

Açıklamalar

Diğer konuşma sentezi seçenekleri

Bu hızlı başlangıçta, girdiğiniz kısa bir metin bloğunu sentezlemek için işlemi kullanılır SpeakText . Ayrıca bir dosyadan uzun biçimli metin kullanabilir ve ses stilleri, prosody ve diğer ayarlar üzerinde daha ayrıntılı denetime sahip olabilirsiniz.

Azure AI Konuşma'da konuşma seslerine openAI metni

OpenAI metinden konuşma seslerine de desteklenir. Bkz . Azure AI Konuşma ve çok dilli seslerde OpenAI metni konuşma seslerine. değerini gibi en-US-FableMultilingualNeuraldesteklenen bir OpenAI ses adıyla değiştirebilirsinizen-US-AvaMultilingualNeural.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portalını veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

GitHub'da Başvuru belgeleri | Paketi (PyPi) | Ek Örnekler

Bu hızlı başlangıçta, metinden konuşma sentezine yönelik bir uygulama çalıştıracaksınız.

İpucu

Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun.
  • Azure portalında konuşma kaynağı oluşturun.
  • Konuşma kaynak anahtarınız ve bölgeniz. Konuşma kaynağınız dağıtıldıktan sonra anahtarları görüntülemek ve yönetmek için Kaynağa git'i seçin. Azure AI hizmetleri kaynakları hakkında daha fazla bilgi için bkz . Kaynağınızın anahtarlarını alma.

Ortamı ayarlama

Python için Konuşma SDK'sı Python Paket Dizini (PyPI) modülü olarak kullanılabilir. Python için Konuşma SDK'sı Windows, Linux ve macOS ile uyumludur.

  • Windows'da platformunuz için Microsoft Visual Studio için Visual C++ Yeniden Dağıtılabilir 2015, 2017, 2019 ve 2022'yi yükleyin. Bu paketi yüklemek için yeniden başlatma gerekebilir.
  • Linux'ta x64 hedef mimarisini kullanmanız gerekir.

Python'ın 3.7 veya sonraki bir sürümünden bir sürümünü yükleyin. Tüm gereksinimler için bkz . Konuşma SDK'sını yükleme.

Ortam değişkenlerini belirleme

Azure AI hizmetleri kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Örneğin, Konuşma kaynağınız için bir anahtar aldıktan sonra, uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuz içinde eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi daha fazla kimlik doğrulama seçeneği için bkz. Azure AI hizmetleri güvenliği.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • Ortam değişkenini SPEECH_KEY ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkenini SPEECH_REGION ayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Not

Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okuması gereken tüm programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Hoparlör çıkışına sentezle

Konsol uygulaması oluşturmak için bu adımları izleyin.

  1. Yeni projeyi istediğiniz klasörde bir komut istemi penceresi açın. speech_synthesis.py adlı bir dosya oluşturun.

  2. Konuşma SDK'sını yüklemek için şu komutu çalıştırın:

    pip install azure-cognitiveservices-speech
    
  3. Aşağıdaki kodu speech_synthesis.py kopyalayın:

    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. Konuşma sentezi dilini değiştirmek için öğesini desteklenen başka bir sesle değiştirinen-US-AvaMultilingualNeural.

    Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni "Konuşmayı denemek için sabırsızlanıyorum" ise ve ayarını es-ES-ElviraNeuralyaparsanız, metin İspanyolca aksanlı İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.

  5. Konuşma sentezini varsayılan konuşmacıya başlatmak için yeni konsol uygulamanızı çalıştırın.

    python speech_synthesis.py
    

    Önemli

    ve SPEECH_REGIONortam değişkenlerini ayarladığınızdan SPEECH_KEY emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.

  6. Konuşmak istediğiniz bir metin girin. Örneğin, metin okuma özelliğini denemek için heyecan duyuyorum yazın. Sentezlenen konuşmayı dinlemek için Enter tuşunu seçin.

    Enter some text that you want to speak > 
    I'm excited to try text to speech
    

Açıklamalar

Diğer konuşma sentezi seçenekleri

Bu hızlı başlangıçta, girdiğiniz kısa bir metin bloğunu sentezlemek için işlemi kullanılır speak_text_async . Ayrıca bir dosyadan uzun biçimli metin kullanabilir ve ses stilleri, prosody ve diğer ayarlar üzerinde daha ayrıntılı denetime sahip olabilirsiniz.

Azure AI Konuşma'da konuşma seslerine openAI metni

OpenAI metinden konuşma seslerine de desteklenir. Bkz . Azure AI Konuşma ve çok dilli seslerde OpenAI metni konuşma seslerine. değerini gibi en-US-FableMultilingualNeuraldesteklenen bir OpenAI ses adıyla değiştirebilirsinizen-US-AvaMultilingualNeural.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portalını veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Konuşmayı metne dönüştürme REST API başvurusu | Kısa ses başvurusu için metin REST API'sine konuşma | GitHub'da Ek Örnekler

Bu hızlı başlangıçta, metinden konuşma sentezine yönelik bir uygulama çalıştıracaksınız.

İpucu

Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun.
  • Azure portalında konuşma kaynağı oluşturun.
  • Konuşma kaynak anahtarınız ve bölgeniz. Konuşma kaynağınız dağıtıldıktan sonra anahtarları görüntülemek ve yönetmek için Kaynağa git'i seçin. Azure AI hizmetleri kaynakları hakkında daha fazla bilgi için bkz . Kaynağınızın anahtarlarını alma.

Ortam değişkenlerini belirleme

Azure AI hizmetleri kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Örneğin, Konuşma kaynağınız için bir anahtar aldıktan sonra, uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuz içinde eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi daha fazla kimlik doğrulama seçeneği için bkz. Azure AI hizmetleri güvenliği.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • Ortam değişkenini SPEECH_KEY ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkenini SPEECH_REGION ayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Not

Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okuması gereken tüm programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Dosyaya sentezle

Komut isteminde aşağıdaki cURL komutunu çalıştırın. İsteğe bağlı olarak, output.mp3 başka bir çıkış dosyası adıyla yeniden adlandırabilirsiniz.

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

Önemli

ve SPEECH_REGIONortam değişkenlerini ayarladığınızdan SPEECH_KEY emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.

Sağlanan metin, output.mp3 adlı bir ses dosyasına verilmelidir.

Konuşma sentezi dilini değiştirmek için öğesini desteklenen başka bir sesle değiştirinen-US-AvaMultilingualNeural.

Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni "Konuşmayı denemek için sabırsızlanıyorum" ise ve ayarını es-ES-ElviraNeuralyaparsanız, metin İspanyolca aksanlı İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.

Daha fazla bilgi için bkz . Metin okuma REST API'si.

Açıklamalar

Azure AI Konuşma'da konuşma seslerine openAI metni

OpenAI metinden konuşma seslerine de desteklenir. Bkz . Azure AI Konuşma ve çok dilli seslerde OpenAI metni konuşma seslerine. değerini gibi en-US-FableMultilingualNeuraldesteklenen bir OpenAI ses adıyla değiştirebilirsinizen-US-AvaMultilingualNeural.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portalını veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Bu hızlı başlangıçta, metinden konuşma sentezine yönelik bir uygulama çalıştıracaksınız.

İpucu

Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun.
  • Azure portalında konuşma kaynağı oluşturun.
  • Konuşma kaynak anahtarınız ve bölgeniz. Konuşma kaynağınız dağıtıldıktan sonra anahtarları görüntülemek ve yönetmek için Kaynağa git'i seçin. Azure AI hizmetleri kaynakları hakkında daha fazla bilgi için bkz . Kaynağınızın anahtarlarını alma.

Ortamı ayarlama

Bu adımları izleyin ve platformunuzun diğer gereksinimleri için Konuşma CLI'sı hızlı başlangıcına bakın.

  1. Konuşma CLI'sını yüklemek için aşağıdaki .NET CLI komutunu çalıştırın:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Konuşma kaynak anahtarınızı ve bölgenizi yapılandırmak için aşağıdaki komutları çalıştırın. değerini SUBSCRIPTION-KEY Konuşma kaynak anahtarınızla, değerini de Konuşma kaynağı bölgenizle değiştirin REGION .

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

Hoparlör çıkışına sentezle

Varsayılan konuşmacı çıkışına konuşma sentezi için aşağıdaki komutu çalıştırın. Sentezlenecek sesi ve metni değiştirebilirsiniz.

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

Bir ses adı ayarlamazsanız, için en-US varsayılan ses konuşarak ifade eder.

Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni "Konuşmayı denemek için sabırsızlanıyorum" ise ve ayarını --voice "es-ES-ElviraNeural"yaparsanız, metin İspanyolca aksanlı İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.

Dosya girişi ve çıkışı gibi diğer konuşma sentezi seçenekleri hakkında bilgi için şu komutu çalıştırın:

spx help synthesize

Açıklamalar

SSML desteği

Konuşma Sentezi biçimlendirme dilini (SSML) kullanarak ses stilleri, prosody ve diğer ayarlar üzerinde daha hassas denetime sahip olabilirsiniz.

Azure AI Konuşma'da konuşma seslerine openAI metni

OpenAI metinden konuşma seslerine de desteklenir. Bkz . Azure AI Konuşma ve çok dilli seslerde OpenAI metni konuşma seslerine. değerini gibi en-US-FableMultilingualNeuraldesteklenen bir OpenAI ses adıyla değiştirebilirsinizen-US-AvaMultilingualNeural.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portalını veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Sonraki adım