Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta, Microsoft Foundry kullanarak Döküm Araçları'nda Azure Konuşma'dan metin okuma modelini deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluştur.
- Dökümhane projesi. Proje oluşturmanız gerekiyorsa bkz. Microsoft Foundry projesi oluşturma.
Metni sesli okuma deneyin
Aşağıdaki adımları izleyerek Foundry portalında metin okuma özelliğini deneyin:
-
Microsoft Foundry'ye giriş yapın.
Yeni Dökümhane anahtarının açık olduğundan emin olun. Bu adımlar Foundry (yeni) ile ilgilidir.
- Sağ üst menüden Derle'yi seçin.
- Sol bölmede Modeller'i seçin.
- AI Services sekmesi, Foundry portalında kutudan çıkarılabilen Azure yapay zeka modellerini gösterir. Text to Speech aracı açmak için Azure Speech - Text to Speech seçin.
- Açılan menüden önceden oluşturulmuş bir ses seçin ve isteğe bağlı olarak sağlayıcı parametresi kaydırıcılarıyla ses ayarlaması yapın.
- Metin kutusuna örnek metninizi girin.
- Yapay sesin metninizi okuduğunu duymak için Oynat'ı seçin.
Diğer Dökümhane (yeni) özellikleri
Aşağıdaki Konuşma özellikleri Dökümhane (yeni) portalında kullanılabilir:
Konuşmayı metne çevir REST API referansı | Kısa sesler için konuşmayı metne çevir REST API referansı | Ek örnekler GitHub üzerinde
Döküm Araçları'ndaki Azure Konuşma ile, metni okumak için insan benzeri bir sesi sentezleyen bir uygulama çalıştırabilirsiniz. Sesi değiştirebilir, konuşulacak metni girebilir ve bilgisayarınızın hoparlöründe çıkışı dinleyebilirsiniz.
İpucu
Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.
İpucu
Visual Studio Code üzerinde kolayca örnek oluşturmak ve çalıştırmak için Azure Konuşma Araç Seti deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Speech için Bir Dökümhane kaynağı oluşturun.
- Konuşma kaynak anahtarını ve bölgesini alın. 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.
Ortam değişkenlerini belirleme
Foundry Araçları'na erişmek için uygulamanızın kimliğini doğrulamanız gerekir. Bu makalede, kimlik bilgilerinizi depolamak için ortam değişkenlerini nasıl kullanacağınız gösterilmektedir. Ardından uygulamanızın kimliğini doğrulamak için kodunuzdan ortam değişkenlerine erişebilirsiniz. Üretim için kimlik bilgilerinizi depolamak ve erişmek için daha güvenli bir yol kullanın.
Önemli
Kimlik bilgilerinin bulutta çalışan uygulamalarınızla depolanmasını önlemek için Azure kaynakları için yönetilen kimliklerle Microsoft Entra ID kimlik doğrulamasını öneririz.
API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarlarını kullanıyorsanız, bunları Azure Key Vault güvenli bir şekilde depolayın, anahtarları düzenli olarak döndürün ve rol tabanlı erişim denetimi ve ağ erişim kısıtlamalarını kullanarak erişimi Azure Key Vault kısıtlayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure AI services istekleri doğrulama.
Konuşma kaynak anahtarınız ve bölgeniz için ortam değişkenlerini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini
SPEECH_KEYayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
SPEECH_REGIONayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin. - Ortam değişkenini ayarlamak için
ENDPOINT, Konuşma kaynağınızın gerçek uç noktası olanyour-endpointile değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Not
Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setile setx ayarlayabilirsiniz.
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini 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 yeniden başlatın.
Konuşmayı 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-Ava:DragonHDLatestNeural'>my voice is my passport verify me</voice></speak>" --output output.mp3
Önemli
SPEECH_KEY ve SPEECH_REGIONçevresel değişkenleri ayarladığınızdan 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
Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni konuşmayı denemek beni heyecanlandırıyorsa ve ayarını es-ES-Ximena:DragonHDLatestNeuralyaparsanız, metin İspanyolca vurgulu İ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
Döküm Araçları'nda Azure Konuşma'da konuşma seslerine openAI metni
OpenAI metin-konuşma sesleri de desteklenir. bkz. Azure Speech ve multilingual voices içindeki konuşma seslerine metin açma.
en-US-Ava:DragonHDLatestNeural değerini, en-US-FableMultilingualNeural gibi desteklenen bir OpenAI ses adıyla değiştirebilirsiniz.
Kaynakları temizleme
Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Döküm Araçları'ndaki Azure Konuşma ile, metni okumak için insan benzeri bir sesi sentezleyen bir uygulama çalıştırabilirsiniz. Sesi değiştirebilir, konuşulacak metni girebilir ve bilgisayarınızın hoparlöründe çıkışı dinleyebilirsiniz.
İpucu
Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.
İpucu
Visual Studio Code üzerinde kolayca örnek oluşturmak ve çalıştırmak için Azure Konuşma Araç Seti deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Konuşma için yapay zeka hizmetleri kaynağı oluşturun.
- Konuşma kaynağı anahtarını ve uç noktasını alın. 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.
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 üzerinde, platformunuz için Microsoft Visual C++ Yeniden Dağıtılabilir'i Visual Studio 2015, 2017, 2019 ve 2022 için yükleyin. Bu paketi yüklemek için yeniden başlatma gerekebilir.
- Linux'ta x64 hedef mimarisini kullanmanız gerekir.
Python 3.7 veya daha yeni bir sürüm yükleyin. Tüm gereksinimler için bkz . Konuşma SDK'sını yükleme.
Ortam değişkenlerini belirleme
Foundry Araçları'na erişmek için uygulamanızın kimliğini doğrulamanız gerekir. Bu makalede, kimlik bilgilerinizi depolamak için ortam değişkenlerini nasıl kullanacağınız gösterilmektedir. Ardından uygulamanızın kimliğini doğrulamak için kodunuzdan ortam değişkenlerine erişebilirsiniz. Üretim için kimlik bilgilerinizi depolamak ve erişmek için daha güvenli bir yol kullanın.
Önemli
Kimlik bilgilerinin bulutta çalışan uygulamalarınızla depolanmasını önlemek için Azure kaynakları için yönetilen kimliklerle Microsoft Entra ID kimlik doğrulamasını öneririz.
API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarlarını kullanıyorsanız, bunları Azure Key Vault güvenli bir şekilde depolayın, anahtarları düzenli olarak döndürün ve rol tabanlı erişim denetimi ve ağ erişim kısıtlamalarını kullanarak erişimi Azure Key Vault kısıtlayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure AI services istekleri doğrulama.
Konuşma kaynak anahtarınız ve uç noktanızın ortam değişkenlerini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini
SPEECH_KEYayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
ENDPOINTayarlamak için uç noktanızı kaynağınızın uç noktalarından biriyle değiştirin.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Not
Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setile setx ayarlayabilirsiniz.
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini 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 yeniden başlatın.
Uygulamayı oluşturma
Konsol uygulaması oluşturmak için bu adımları izleyin.
Yeni projeyi istediğiniz klasörde bir komut istemi penceresi açın. speech_synthesis.py adlı bir dosya oluşturun.
Konuşma SDK'sını yüklemek için şu komutu çalıştırın:
pip install azure-cognitiveservices-speechAş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 "ENDPOINT" # Replace with your own subscription key and endpoint, the endpoint is like : "https://YourServiceRegion.api.cognitive.microsoft.com" speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), endpoint=os.environ.get('ENDPOINT')) 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-Ava:DragonHDLatestNeural' 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 endpoint values?")Konuşma sentezi dilini değiştirmek için
öğesini, desteklenen başka bir ses ile<с1> değiştirin. Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni konuşmayı denemek beni heyecanlandırıyorsa ve ayarını
es-ES-Ximena:DragonHDLatestNeuralyaparsanız, metin İspanyolca vurgulu İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.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
SPEECH_KEYveENDPOINTçevresel değişkenleri ayarladığınızdan emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.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
Ses adı seçin
Ses adları, "{locale}-{VoiceName}:{VoiceType}" biçimini takip eder, burada:
-
yerel ayar , sesin birincil dilini ve bölgesini tanımlar (örneğin,
en-USABD İngilizcesi için,es-ESİspanyolca için) -
VoiceName, bu sesin benzersiz tanımlayıcısıdır (örneğin, ,
AvaAndrew) -
VoiceType , ses teknolojisini gösterir (örneğin,
DragonHDLatestNeuralHD sinir sesleri için,MultilingualNeuralçok dilli sesler için)
Kullanılabilir sesleri bulmak için:
- Sesleri etkileşimli olarak önizlemek için Ses Galerisi'ne göz atın
- Tüm kullanılabilir seçenekler için desteklenen seslerin tam listesine bakın
- Sesleri program aracılığıyla almak için Ses Listesi API'sini çağırma
Sesi dosyaya kaydetme
Birleştirilmiş konuşmayı konuşmacıya oynatmak yerine bir dosyaya kaydetmek için içinde bir dosya adı AudioOutputConfigbelirtin:
# Save to a WAV file instead of playing to speaker
audio_config = speechsdk.audio.AudioOutputConfig(filename="output.wav")
speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)
speech_synthesis_result = speech_synthesizer.speak_text_async("Hello, world!").get()
Ses verilerini bayt olarak almak için (örneğin, akış veya format dönüştürme), audio_config parametresini hariç tutun ve sonucun audio_data özelliğine erişin.
# Get audio data as bytes
speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=None)
result = speech_synthesizer.speak_text_async("Hello, world!").get()
audio_bytes = result.audio_data # Raw audio bytes
Diğer konuşma sentezi seçenekleri
Bu hızlı başlangıç, girdiğiniz kısa bir metin bloğunu sentezlemek için speak_text_async işlemini kullanır. 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.
- Bir dosyadan konuşmayı nasıl sentezleyeceğinizi öğrenmek ve ses stilleri, prosodi ve diğer ayarları daha hassas şekilde kontrol etmek için Konuşma Sentezi İşaretleme Dili (SSML) genel bakışına göz atın.
- Uzun metinleri konuşmaya dönüştürmek için toplu sentezleme API'si hakkında bilgi almak için metin okuma API'sini inceleyin.
Döküm Araçları'nda Azure Konuşma'da konuşma seslerine openAI metni
OpenAI metin-konuşma sesleri de desteklenir. bkz. Azure Speech ve multilingual voices içindeki konuşma seslerine metin açma.
en-US-Ava:DragonHDLatestNeural değerini, en-US-FableMultilingualNeural gibi desteklenen bir OpenAI ses adıyla değiştirebilirsiniz.
Kaynakları temizleme
Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Döküm Araçları'ndaki Azure Konuşma ile, metni okumak için insan benzeri bir sesi sentezleyen bir uygulama çalıştırabilirsiniz. Sesi değiştirebilir, konuşulacak metni girebilir ve bilgisayarınızın hoparlöründe çıkışı dinleyebilirsiniz.
İpucu
Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.
İpucu
Visual Studio Code üzerinde kolayca örnek oluşturmak ve çalıştırmak için Azure Konuşma Araç Seti deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Konuşma için yapay zeka hizmetleri kaynağı oluşturun.
- Konuşma kaynağı anahtarını ve uç noktasını alın. 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.
Ortamı ayarlama
Konuşma SDK'sı, .NET Standard 2.0'ı uygulayan NuGet paketi olarak kullanılabilir. Bu kılavuzun devamında konsolunu kullanarak Konuşma SDK'sını yükleyin. Ayrıntılı yükleme yönergeleri için bkz . Konuşma SDK'sını yükleme.
Ortam değişkenlerini belirleme
Foundry Araçları'na erişmek için uygulamanızın kimliğini doğrulamanız gerekir. Bu makalede, kimlik bilgilerinizi depolamak için ortam değişkenlerini nasıl kullanacağınız gösterilmektedir. Ardından uygulamanızın kimliğini doğrulamak için kodunuzdan ortam değişkenlerine erişebilirsiniz. Üretim için kimlik bilgilerinizi depolamak ve erişmek için daha güvenli bir yol kullanın.
Önemli
Kimlik bilgilerinin bulutta çalışan uygulamalarınızla depolanmasını önlemek için Azure kaynakları için yönetilen kimliklerle Microsoft Entra ID kimlik doğrulamasını öneririz.
API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarlarını kullanıyorsanız, bunları Azure Key Vault güvenli bir şekilde depolayın, anahtarları düzenli olarak döndürün ve rol tabanlı erişim denetimi ve ağ erişim kısıtlamalarını kullanarak erişimi Azure Key Vault kısıtlayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure AI services istekleri doğrulama.
Konuşma kaynak anahtarınız ve uç noktanızın ortam değişkenlerini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini
SPEECH_KEYayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
ENDPOINTayarlamak için uç noktanızı kaynağınızın uç noktalarından biriyle değiştirin.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Not
Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setile setx ayarlayabilirsiniz.
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini 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 yeniden başlatın.
Uygulamayı oluşturma
Konsol uygulaması oluşturmak ve Konuşma SDK'sını yüklemek için bu adımları izleyin.
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 consolekomutu proje dizininde bir Program.cs dosyası oluşturur.
.NET CLI ile yeni projenize Konuşma SDK'sını yükleyin.
dotnet add package Microsoft.CognitiveServices.SpeechProgram.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 { 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 endpoint values?"); } break; default: break; } } async static Task Main(string[] args) { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY") ?? throw new InvalidOperationException("Set the SPEECH_KEY environment variable."); string endpoint = Environment.GetEnvironmentVariable("ENDPOINT") ?? throw new InvalidOperationException("Set the ENDPOINT environment variable."); var speechConfig = SpeechConfig.FromEndpoint(new Uri(endpoint), speechKey); // The neural multilingual voice can speak different languages based on the input text. speechConfig.SpeechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural"; 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(); } }Konuşma sentezi dilini değiştirmek için
öğesini, desteklenen başka bir ses ile<с1> değiştirin. Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce metin olarak Metni sese dönüştürmeyi denemeyi heyecanla bekliyorum girdiyseniz ve
es-ES-Ximena:DragonHDLatestNeuraldilini ayarladıysanız, metin İspanyol aksanlı İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.Konuşma sentezini varsayılan konuşmacıya başlatmak için yeni konsol uygulamanızı çalıştırın.
dotnet runÖnemli
SPEECH_KEYveENDPOINTçevresel değişkenleri ayarladığınızdan emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.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
Ses adı seçin
Ses adları biçimine {locale}-{VoiceName}:{VoiceType} uyar, burada:
-
yerel ayar , sesin birincil dilini ve bölgesini tanımlar (örneğin,
en-USABD İngilizcesi için,es-ESİspanyolca için) -
VoiceName, bu sesin benzersiz tanımlayıcısıdır (örneğin, ,
AvaAndrew) -
VoiceType , ses teknolojisini gösterir (örneğin,
DragonHDLatestNeuralHD sinir sesleri için,MultilingualNeuralçok dilli sesler için)
Kullanılabilir sesleri bulmak için:
- Sesleri etkileşimli olarak önizlemek için Ses Galerisi'ne göz atın
- Tüm kullanılabilir seçenekler için desteklenen seslerin tam listesine bakın
- Sesleri program aracılığıyla almak için Ses Listesi API'sini çağırma
Sesi dosyaya kaydetme
Sentezlenmiş konuşmayı hoparlörde oynatmak yerine WAV dosyasına kaydetmek için kullanın AudioConfig.FromWavFileOutput():
// Save to a WAV file instead of playing to speaker
using var audioConfig = AudioConfig.FromWavFileOutput("output.wav");
using var speechSynthesizer = new SpeechSynthesizer(speechConfig, audioConfig);
await speechSynthesizer.SpeakTextAsync("Hello, world!");
Ses verilerini bayt olarak özel işleme (örneğin, akış veya biçim dönüştürme) uygulamak için, null iletin ve sonucun audioConfig özelliğine erişin:AudioData
// Get audio data as bytes
using var speechSynthesizer = new SpeechSynthesizer(speechConfig, null);
var result = await speechSynthesizer.SpeakTextAsync("Hello, world!");
byte[] audioBytes = result.AudioData; // Raw audio bytes
Diğer konuşma sentezi seçenekleri
Bu hızlı başlangıç, girdiğiniz kısa bir metin bloğunu sentezlemek için SpeakTextAsync işlemini kullanır. 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.
- Bir dosyadan konuşmayı nasıl sentezleyeceğinizi öğrenmek ve ses stilleri, prosodi ve diğer ayarları daha hassas şekilde kontrol etmek için Konuşma Sentezi İşaretleme Dili (SSML) genel bakışına göz atın.
- Uzun metinleri konuşmaya dönüştürmek için toplu sentezleme API'si hakkında bilgi almak için metin okuma API'sini inceleyin.
Döküm Araçları'nda Azure Konuşma'da konuşma seslerine openAI metni
OpenAI metin-konuşma sesleri de desteklenir. bkz. Azure Speech ve multilingual voices içindeki konuşma seslerine metin açma.
en-US-Ava:DragonHDLatestNeural değerini, en-US-FableMultilingualNeural gibi desteklenen bir OpenAI ses adıyla değiştirebilirsiniz.
Kaynakları temizleme
Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Referans belgeler | Paket (npm) | GitHub'da ek örnekler | Kütüphane kaynak kodu
Döküm Araçları'ndaki Azure Konuşma ile, metni okumak için insan benzeri bir sesi sentezleyen bir uygulama çalıştırabilirsiniz. Sesi değiştirebilir, konuşulacak metni girebilir ve bilgisayarınızın hoparlöründe çıkışı dinleyebilirsiniz.
İpucu
Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.
İpucu
Visual Studio Code üzerinde kolayca örnek oluşturmak ve çalıştırmak için Azure Konuşma Araç Seti deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Speech için Bir Dökümhane kaynağı oluşturun.
- Konuşma kaynak anahtarını ve bölgesini alın. 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.
Kurulum
Yeni bir klasör
synthesis-quickstartoluşturun ve aşağıdaki komutu kullanarak hızlı başlangıç klasörüne gidin:mkdir synthesis-quickstart && cd synthesis-quickstartAşağıdaki komutla
package.jsonoluşturun:npm init -yJavaScript için Konuşma SDK'sını şu şekilde yükleyin:
npm install microsoft-cognitiveservices-speech-sdk
Kaynak bilgilerini alma
Foundry Araçları'na erişmek için uygulamanızın kimliğini doğrulamanız gerekir. Bu makalede, kimlik bilgilerinizi depolamak için ortam değişkenlerini nasıl kullanacağınız gösterilmektedir. Ardından uygulamanızın kimliğini doğrulamak için kodunuzdan ortam değişkenlerine erişebilirsiniz. Üretim için kimlik bilgilerinizi depolamak ve erişmek için daha güvenli bir yol kullanın.
Önemli
Kimlik bilgilerinin bulutta çalışan uygulamalarınızla depolanmasını önlemek için Azure kaynakları için yönetilen kimliklerle Microsoft Entra ID kimlik doğrulamasını öneririz.
API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarlarını kullanıyorsanız, bunları Azure Key Vault güvenli bir şekilde depolayın, anahtarları düzenli olarak döndürün ve rol tabanlı erişim denetimi ve ağ erişim kısıtlamalarını kullanarak erişimi Azure Key Vault kısıtlayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure AI services istekleri doğrulama.
Konuşma kaynak anahtarınız ve bölgeniz için ortam değişkenlerini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini
SPEECH_KEYayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
SPEECH_REGIONayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin. - Ortam değişkenini ayarlamak için
ENDPOINT, Konuşma kaynağınızın gerçek uç noktası olanyour-endpointile değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Not
Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setile setx ayarlayabilirsiniz.
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini 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 yeniden başlatın.
Konuşmayı dosyaya sentezle
Konuşmayı bir dosyadan çevirmek için:
Aşağıdaki içeriğe sahip synthesis.js adlı yeni bir dosya oluşturun:
import { createInterface } from "readline"; import { SpeechConfig, AudioConfig, SpeechSynthesizer, ResultReason } from "microsoft-cognitiveservices-speech-sdk"; function synthesizeSpeech() { const audioFile = "YourAudioFile.wav"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechConfig = SpeechConfig.fromEndpoint(new URL(ENDPOINT), process.env.SPEECH_KEY); const audioConfig = AudioConfig.fromAudioFileOutput(audioFile); // The language of the voice that speaks. speechConfig.speechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural"; // Create the speech synthesizer. const synthesizer = new SpeechSynthesizer(speechConfig, audioConfig); const rl = 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 === 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(); }, function (err) { console.trace("err - " + err); synthesizer.close(); }); console.log("Now synthesizing to: " + audioFile); }); } synthesizeSpeech();synthesis.js'de, isteğe bağlı olarak YourAudioFile.wav başka bir çıkış dosyası adıyla yeniden adlandırabilirsiniz.
Konuşma sentezi dilini değiştirmek için
öğesini, desteklenen başka bir ses ile<с1> değiştirin. Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni konuşmayı denemek beni heyecanlandırıyorsa ve ayarını
es-ES-Ximena:DragonHDLatestNeuralyaparsanız, metin İspanyolca vurgulu İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.Bir dosyaya konuşma sentezi başlatmak için konsol uygulamanızı çalıştırın:
node synthesis.js
Çıktı
Konsolda aşağıdaki çıkışı görmeniz gerekir. Sentezlemek istediğiniz metni girmek için istemi izleyin:
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ıç, girdiğiniz kısa bir metin bloğunu sentezlemek için SpeakTextAsync işlemini kullanır. 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.
- Bir dosyadan konuşmayı nasıl sentezleyeceğinizi öğrenmek ve ses stilleri, prosodi ve diğer ayarları daha hassas şekilde kontrol etmek için Konuşma Sentezi İşaretleme Dili (SSML) genel bakışına göz atın.
- Uzun metinleri konuşmaya dönüştürmek için toplu sentezleme API'si hakkında bilgi almak için metin okuma API'sini inceleyin.
Döküm Araçları'nda Azure Konuşma'da konuşma seslerine openAI metni
OpenAI metin-konuşma sesleri de desteklenir. bkz. Azure Speech ve multilingual voices içindeki konuşma seslerine metin açma.
en-US-Ava:DragonHDLatestNeural değerini, en-US-FableMultilingualNeural gibi desteklenen bir OpenAI ses adıyla değiştirebilirsiniz.
Kaynakları temizleme
Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Reference belgeleri | Ek örnekler GitHub'da
Döküm Araçları'ndaki Azure Konuşma ile, metni okumak için insan benzeri bir sesi sentezleyen bir uygulama çalıştırabilirsiniz. Sesi değiştirebilir, konuşulacak metni girebilir ve bilgisayarınızın hoparlöründe çıkışı dinleyebilirsiniz.
İpucu
Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.
İpucu
Visual Studio Code üzerinde kolayca örnek oluşturmak ve çalıştırmak için Azure Konuşma Araç Seti deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Konuşma için yapay zeka hizmetleri kaynağı oluşturun.
- Konuşma kaynağı anahtarını ve uç noktasını alın. 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.
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.
Apache Maven'ı yükleyin. Ardından başarılı yüklemeyi onaylamak için komutunu çalıştırın
mvn -v.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.43.0</version> </dependency> </dependencies> </project>Konuşma SDK'sını ve bağımlılıkları yükleyin.
mvn clean dependency:copy-dependencies
Ortam değişkenlerini belirleme
Foundry Araçları'na erişmek için uygulamanızın kimliğini doğrulamanız gerekir. Bu makalede, kimlik bilgilerinizi depolamak için ortam değişkenlerini nasıl kullanacağınız gösterilmektedir. Ardından uygulamanızın kimliğini doğrulamak için kodunuzdan ortam değişkenlerine erişebilirsiniz. Üretim için kimlik bilgilerinizi depolamak ve erişmek için daha güvenli bir yol kullanın.
Önemli
Kimlik bilgilerinin bulutta çalışan uygulamalarınızla depolanmasını önlemek için Azure kaynakları için yönetilen kimliklerle Microsoft Entra ID kimlik doğrulamasını öneririz.
API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarlarını kullanıyorsanız, bunları Azure Key Vault güvenli bir şekilde depolayın, anahtarları düzenli olarak döndürün ve rol tabanlı erişim denetimi ve ağ erişim kısıtlamalarını kullanarak erişimi Azure Key Vault kısıtlayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure AI services istekleri doğrulama.
Konuşma kaynak anahtarınız ve uç noktanızın ortam değişkenlerini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini
SPEECH_KEYayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
ENDPOINTayarlamak için uç noktanızı kaynağınızın uç noktalarından biriyle değiştirin.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Not
Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setile setx ayarlayabilirsiniz.
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini 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 yeniden başlatın.
Uygulamayı oluşturma
Konuşma tanıma için bir konsol uygulaması oluşturmak için bu adımları izleyin.
Aynı proje kök dizininde SpeechSynthesis.java adlı bir dosya oluşturun.
Aşağıdaki kodu SpeechSynthesis.java kopyalayın:
import com.microsoft.cognitiveservices.speech.*; import com.microsoft.cognitiveservices.speech.audio.*; import java.net.URI; import java.net.URISyntaxException; import java.util.Scanner; import java.util.concurrent.ExecutionException; public class SpeechSynthesis { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" private static String speechKey = System.getenv("SPEECH_KEY"); private static String endpoint = System.getenv("ENDPOINT"); public static void main(String[] args) throws InterruptedException, ExecutionException, URISyntaxException { SpeechConfig speechConfig = SpeechConfig.fromEndpoint(new URI(endpoint), speechKey); speechConfig.setSpeechSynthesisVoiceName("en-US-Ava:DragonHDLatestNeural"); 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 endpoint values?"); } } System.exit(0); } }Konuşma sentezi dilini değiştirmek için
öğesini, desteklenen başka bir ses ile<с1> değiştirin. Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni konuşmayı denemek beni heyecanlandırıyorsa ve ayarını
es-ES-Ximena:DragonHDLatestNeuralyaparsanız, metin İspanyolca vurgulu İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.Konuşma sentezini varsayılan konuşmacıya çıkarmak için konsol uygulamanızı çalıştırın.
javac SpeechSynthesis.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" SpeechSynthesisÖnemli
SPEECH_KEYveENDPOINTçevresel değişkenleri ayarladığınızdan emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.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ıç, girdiğiniz kısa bir metin bloğunu sentezlemek için SpeakTextAsync işlemini kullanır. 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.
- Bir dosyadan konuşmayı nasıl sentezleyeceğinizi öğrenmek ve ses stilleri, prosodi ve diğer ayarları daha hassas şekilde kontrol etmek için Konuşma Sentezi İşaretleme Dili (SSML) genel bakışına göz atın.
- Uzun metinleri konuşmaya dönüştürmek için toplu sentezleme API'si hakkında bilgi almak için metin okuma API'sini inceleyin.
Döküm Araçları'nda Azure Konuşma'da konuşma seslerine openAI metni
OpenAI metin-konuşma sesleri de desteklenir. bkz. Azure Speech ve multilingual voices içindeki konuşma seslerine metin açma.
en-US-Ava:DragonHDLatestNeural değerini, en-US-FableMultilingualNeural gibi desteklenen bir OpenAI ses adıyla değiştirebilirsiniz.
Kaynakları temizleme
Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Döküm Araçları'ndaki Azure Konuşma ile, metni okumak için insan benzeri bir sesi sentezleyen bir uygulama çalıştırabilirsiniz. Sesi değiştirebilir, konuşulacak metni girebilir ve bilgisayarınızın hoparlöründe çıkışı dinleyebilirsiniz.
İpucu
Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.
İpucu
Visual Studio Code üzerinde kolayca örnek oluşturmak ve çalıştırmak için Azure Konuşma Araç Seti deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Konuşma için yapay zeka hizmetleri kaynağı oluşturun.
- Konuşma kaynağı anahtarını ve uç noktasını alın. 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.
Ortamı ayarlama
Konuşma SDK'sı, .NET Standard 2.0'ı uygulayan NuGet paketi olarak kullanılabilir. Bu kılavuzun devamında Konuşma SDK'sını yükleyin. Ayrıntılı yükleme yönergeleri için bkz . Konuşma SDK'sını yükleme.
Ortam değişkenlerini belirleme
Foundry Araçları'na erişmek için uygulamanızın kimliğini doğrulamanız gerekir. Bu makalede, kimlik bilgilerinizi depolamak için ortam değişkenlerini nasıl kullanacağınız gösterilmektedir. Ardından uygulamanızın kimliğini doğrulamak için kodunuzdan ortam değişkenlerine erişebilirsiniz. Üretim için kimlik bilgilerinizi depolamak ve erişmek için daha güvenli bir yol kullanın.
Önemli
Kimlik bilgilerinin bulutta çalışan uygulamalarınızla depolanmasını önlemek için Azure kaynakları için yönetilen kimliklerle Microsoft Entra ID kimlik doğrulamasını öneririz.
API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarlarını kullanıyorsanız, bunları Azure Key Vault güvenli bir şekilde depolayın, anahtarları düzenli olarak döndürün ve rol tabanlı erişim denetimi ve ağ erişim kısıtlamalarını kullanarak erişimi Azure Key Vault kısıtlayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure AI services istekleri doğrulama.
Konuşma kaynak anahtarınız ve uç noktanızın ortam değişkenlerini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini
SPEECH_KEYayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
ENDPOINTayarlamak için uç noktanızı kaynağınızın uç noktalarından biriyle değiştirin.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Not
Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setile setx ayarlayabilirsiniz.
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini 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 yeniden başlatın.
Uygulamayı oluşturma
Konsol uygulaması oluşturmak ve Konuşma SDK'sını yüklemek için bu adımları izleyin.
Visual Studio Community içinde
SpeechSynthesisadlı bir C++ konsol projesi oluşturun.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 "ENDPOINT" auto speechKey = GetEnvironmentVariable("SPEECH_KEY"); auto endpoint = GetEnvironmentVariable("ENDPOINT"); if (std::string(speechKey).empty() || std::string(endpoint).empty()) { std::cout << "Please set both SPEECH_KEY and ENDPOINT environment variables." << std::endl; return -1; } auto speechConfig = SpeechConfig::FromEndpoint(endpoint, speechKey); // The neural multilingual voice can speak different languages based on the input text. speechConfig->SetSpeechSynthesisVoiceName("en-US-AriaNeural"); 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 endpoint 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 }Tools>Nuget Package Manager>Package Manager Console öğesini seçin. Package Manager Konsolu şu komutu çalıştırın:
Install-Package Microsoft.CognitiveServices.SpeechKonuşma sentezi dilini değiştirmek için
öğesini, desteklenen başka bir ses ile<с1> değiştirin. Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni konuşmayı denemek beni heyecanlandırıyorsa ve ayarını
es-ES-Ximena:DragonHDLatestNeuralyaparsanız, metin İspanyolca vurgulu İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.Konuşma sentezini varsayılan konuşmacıya başlatmak için yeni konsol uygulamanızı derleyin ve çalıştırın.
Önemli
SPEECH_KEYveENDPOINTçevresel değişkenleri ayarladığınızdan emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.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ıç, girdiğiniz kısa bir metin bloğunu sentezlemek için SpeakTextAsync işlemini kullanır. 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.
- Bir dosyadan konuşmayı nasıl sentezleyeceğinizi öğrenmek ve ses stilleri, prosodi ve diğer ayarları daha hassas şekilde kontrol etmek için Konuşma Sentezi İşaretleme Dili (SSML) genel bakışına göz atın.
- Uzun metinleri konuşmaya dönüştürmek için toplu sentezleme API'si hakkında bilgi almak için metin okuma API'sini inceleyin.
Döküm Araçları'nda Azure Konuşma'da konuşma seslerine openAI metni
OpenAI metin-konuşma sesleri de desteklenir. bkz. Azure Speech ve multilingual voices içindeki konuşma seslerine metin açma.
en-US-Ava:DragonHDLatestNeural değerini, en-US-FableMultilingualNeural gibi desteklenen bir OpenAI ses adıyla değiştirebilirsiniz.
Kaynakları temizleme
Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Referans belgeleri | Package (Go) | GitHub üzerindeki ek örnekler
Döküm Araçları'ndaki Azure Konuşma ile, metni okumak için insan benzeri bir sesi sentezleyen bir uygulama çalıştırabilirsiniz. Sesi değiştirebilir, konuşulacak metni girebilir ve bilgisayarınızın hoparlöründe çıkışı dinleyebilirsiniz.
İpucu
Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.
İpucu
Visual Studio Code üzerinde kolayca örnek oluşturmak ve çalıştırmak için Azure Konuşma Araç Seti deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Konuşma için yapay zeka hizmetleri kaynağı oluşturun.
- Konuşma kaynağı anahtarını ve uç noktasını alın. 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.
Ortamı ayarlama
Konuşma SDK'sı Go paketi olarak kullanılabilir. Bu kılavuzun devamında terminali kullanarak Konuşma SDK'sını yükleyin. Ayrıntılı yükleme yönergeleri için bkz . Konuşma SDK'sını yükleme.
Ortam değişkenlerini belirleme
Foundry Araçları'na erişmek için uygulamanızın kimliğini doğrulamanız gerekir. Bu makalede, kimlik bilgilerinizi depolamak için ortam değişkenlerini nasıl kullanacağınız gösterilmektedir. Ardından uygulamanızın kimliğini doğrulamak için kodunuzdan ortam değişkenlerine erişebilirsiniz. Üretim için kimlik bilgilerinizi depolamak ve erişmek için daha güvenli bir yol kullanın.
Önemli
Kimlik bilgilerinin bulutta çalışan uygulamalarınızla depolanmasını önlemek için Azure kaynakları için yönetilen kimliklerle Microsoft Entra ID kimlik doğrulamasını öneririz.
API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarlarını kullanıyorsanız, bunları Azure Key Vault güvenli bir şekilde depolayın, anahtarları düzenli olarak döndürün ve rol tabanlı erişim denetimi ve ağ erişim kısıtlamalarını kullanarak erişimi Azure Key Vault kısıtlayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure AI services istekleri doğrulama.
Konuşma kaynak anahtarınız ve uç noktanızın ortam değişkenlerini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini
SPEECH_KEYayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
ENDPOINTayarlamak için uç noktanızı kaynağınızın uç noktalarından biriyle değiştirin.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Not
Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setile setx ayarlayabilirsiniz.
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini 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 yeniden başlatın.
Uygulamayı oluşturma
Go uygulaması oluşturmak ve Konuşma SDK'sını yüklemek için bu adımları izleyin.
Yeni projeyi istediğiniz klasörde bir terminal penceresi açın. main.go adlı yeni bir dosya oluşturun.
Go CLI ile yeni projenize Konuşma SDK'sını yükleyin.
go get github.com/Microsoft/cognitive-services-speech-sdk-gomain.go dosyasının içeriğini aşağıdaki kodla değiştirin.
package main import ( "bufio" "fmt" "os" "strings" "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 outputSpeechSynthesisResult(result *speech.SpeechSynthesisResult, text string) { switch result.Reason { case common.SynthesizingAudioCompleted: fmt.Printf("Speech synthesized for text: [%s]\n", text) case common.Canceled: cancellation, err := speech.NewCancellationDetailsFromSpeechSynthesisResult(result) if err != nil { fmt.Println("Got an error: ", err) return } fmt.Printf("CANCELED: Reason=%d\n", cancellation.Reason) if cancellation.Reason == common.Error { fmt.Printf("CANCELED: ErrorCode=%d\n", cancellation.ErrorCode) fmt.Printf("CANCELED: ErrorDetails=[%s]\n", cancellation.ErrorDetails) fmt.Println("CANCELED: Did you set the speech resource key and endpoint values?") } default: } } func main() { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" speechKey := os.Getenv("SPEECH_KEY") endpoint := os.Getenv("ENDPOINT") if speechKey == "" || endpoint == "" { fmt.Println("Missing required environment variables. Set SPEECH_KEY and ENDPOINT.") return } speechConfig, err := speech.NewSpeechConfigFromEndpointWithSubscription(endpoint, speechKey) if err != nil { fmt.Println("Got an error: ", err) return } defer speechConfig.Close() // The neural multilingual voice can speak different languages based on the input text. speechConfig.SetSpeechSynthesisVoiceName("en-US-Ava:DragonHDLatestNeural") audioConfig, err := audio.NewAudioConfigFromDefaultSpeakerOutput() if err != nil { fmt.Println("Got an error: ", err) return } defer audioConfig.Close() speechSynthesizer, err := speech.NewSpeechSynthesizerFromConfig(speechConfig, audioConfig) if err != nil { fmt.Println("Got an error: ", err) return } defer speechSynthesizer.Close() fmt.Println("Enter some text that you want to speak >") reader := bufio.NewReader(os.Stdin) text, _ := reader.ReadString('\n') text = strings.TrimSpace(text) if text == "" { fmt.Println("Input text cannot be empty.") return } outcome := <-speechSynthesizer.SpeakTextAsync(text) defer outcome.Close() if outcome.Error != nil { fmt.Println("Got an error: ", outcome.Error) return } result := outcome.Result defer result.Close() outputSpeechSynthesisResult(result, text) fmt.Println("Press any key to exit...") reader.ReadString('\n') }Konuşma sentezi dilini değiştirmek için
öğesini, desteklenen başka bir ses ile<с1> değiştirin. Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce metin olarak Metni sese dönüştürmeyi denemeyi heyecanla bekliyorum girdiyseniz ve
es-ES-Ximena:DragonHDLatestNeuraldilini ayarladıysanız, metin İspanyol aksanlı İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.GitHub'da barındırılan Konuşma SDK'sı bileşenlerine bağlanan bir
go.moddosyası oluşturmak için aşağıdaki komutları çalıştırın:go mod init captioning go get github.com/Microsoft/cognitive-services-speech-sdk-goGO modülünü oluşturun.
go buildKonuşma sentezini varsayılan konuşmacıya başlatmak için yeni konsol uygulamanızı çalıştırın.
go run main.goÖnemli
SPEECH_KEYveENDPOINTçevresel değişkenleri ayarladığınızdan emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.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şuna basın.
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ğunun sentezi gerçekleştirmek için SpeakText işlevi kullanılır. 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.
- Bir dosyadan konuşmayı nasıl sentezleyeceğinizi öğrenmek ve ses stilleri, prosodi ve diğer ayarları daha hassas şekilde kontrol etmek için Konuşma Sentezi İşaretleme Dili (SSML) genel bakışına göz atın.
- Uzun metinleri konuşmaya dönüştürmek için toplu sentezleme API'si hakkında bilgi almak için metin okuma API'sini inceleyin.
Döküm Araçları'nda Azure Konuşma'da konuşma seslerine openAI metni
OpenAI metin-konuşma sesleri de desteklenir. bkz. Azure Speech ve multilingual voices içindeki konuşma seslerine metin açma.
en-US-Ava:DragonHDLatestNeural değerini, en-US-FableMultilingualNeural gibi desteklenen bir OpenAI ses adıyla değiştirebilirsiniz.
Kaynakları temizleme
Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Referans belgeleri | Paket (indirme) | GitHub'da ek örnekler
Döküm Araçları'ndaki Azure Konuşma ile, metni okumak için insan benzeri bir sesi sentezleyen bir uygulama çalıştırabilirsiniz. Sesi değiştirebilir, konuşulacak metni girebilir ve bilgisayarınızın hoparlöründe çıkışı dinleyebilirsiniz.
İpucu
Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.
İpucu
Visual Studio Code üzerinde kolayca örnek oluşturmak ve çalıştırmak için Azure Konuşma Araç Seti deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Speech için Bir Dökümhane kaynağı oluşturun.
- Konuşma kaynak anahtarını ve bölgesini alın. 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.
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
Foundry Araçları'na erişmek için uygulamanızın kimliğini doğrulamanız gerekir. Bu makalede, kimlik bilgilerinizi depolamak için ortam değişkenlerini nasıl kullanacağınız gösterilmektedir. Ardından uygulamanızın kimliğini doğrulamak için kodunuzdan ortam değişkenlerine erişebilirsiniz. Üretim için kimlik bilgilerinizi depolamak ve erişmek için daha güvenli bir yol kullanın.
Önemli
Kimlik bilgilerinin bulutta çalışan uygulamalarınızla depolanmasını önlemek için Azure kaynakları için yönetilen kimliklerle Microsoft Entra ID kimlik doğrulamasını öneririz.
API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarlarını kullanıyorsanız, bunları Azure Key Vault güvenli bir şekilde depolayın, anahtarları düzenli olarak döndürün ve rol tabanlı erişim denetimi ve ağ erişim kısıtlamalarını kullanarak erişimi Azure Key Vault kısıtlayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure AI services istekleri doğrulama.
Konuşma kaynak anahtarınız ve bölgeniz için ortam değişkenlerini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini
SPEECH_KEYayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
SPEECH_REGIONayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin. - Ortam değişkenini ayarlamak için
ENDPOINT, Konuşma kaynağınızın gerçek uç noktası olanyour-endpointile değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Not
Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setile setx ayarlayabilirsiniz.
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini 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 yeniden başlatın.
Uygulamayı oluşturma
MacOS uygulamasında konuşmayı sentezlemek için bu adımları izleyin.
Swift dilinde macOS üzerinde ses sentezlemek için Konuşma SDK örneği projesini içeren Azure-Samples/cognitive-services-speech-sdk deposunu kopyalayın. Depoda iOS örnekleri de vardır.
Terminalde indirilen örnek uygulamanın (
helloworld) dizinine gidin.pod installkomutunu çalıştırın. Bu komut, bağımlılık olarak hem örnek uygulamayı hem de Konuşma SDK'sını içeren birhelloworld.xcworkspaceXcode çalışma alanı oluşturur.Çalışma alanını
helloworld.xcworkspaceXcode'da açın.AppDelegate.swift adlı dosyayı açın ve burada gösterildiği gibi ve
applicationDidFinishLaunchingyöntemlerini bulun.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-Ava:DragonHDLatestNeural"; 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 } }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"]İ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-Ava:DragonHDLatestNeural";Konuşma sentezi dilini değiştirmek için
öğesini, desteklenen başka bir ses ile<с1> değiştirin. Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni konuşmayı denemek beni heyecanlandırıyorsa ve ayarını
es-ES-Ximena:DragonHDLatestNeuralyaparsanız, metin İspanyolca vurgulu İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.Hata ayıklama çıkışını görünür hale getirmek için Görüntüle>Hata Ayıklama Alanı>Konsolu Aktive Et seçeneklerini seçin.
Ö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
SPEECH_KEY ve SPEECH_REGIONçevresel değişkenleri ayarladığınızdan 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ıç, girdiğiniz kısa bir metin bloğunu sentezlemek için SpeakText işlemini kullanır. 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.
- Bir dosyadan konuşmayı nasıl sentezleyeceğinizi öğrenmek ve ses stilleri, prosodi ve diğer ayarları daha hassas şekilde kontrol etmek için Konuşma Sentezi İşaretleme Dili (SSML) genel bakışına göz atın.
- Uzun metinleri konuşmaya dönüştürmek için toplu sentezleme API'si hakkında bilgi almak için metin okuma API'sini inceleyin.
Döküm Araçları'nda Azure Konuşma'da konuşma seslerine openAI metni
OpenAI metin-konuşma sesleri de desteklenir. bkz. Azure Speech ve multilingual voices içindeki konuşma seslerine metin açma.
en-US-Ava:DragonHDLatestNeural değerini, en-US-FableMultilingualNeural gibi desteklenen bir OpenAI ses adıyla değiştirebilirsiniz.
Kaynakları temizleme
Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Referans belgeler | Paket (npm) | GitHub'da ek örnekler | Kütüphane kaynak kodu
Döküm Araçları'ndaki Azure Konuşma ile, metni okumak için insan benzeri bir sesi sentezleyen bir uygulama çalıştırabilirsiniz. Sesi değiştirebilir, konuşulacak metni girebilir ve bilgisayarınızın hoparlöründe çıkışı dinleyebilirsiniz.
İpucu
Speech Studio Ses Galerisi'nde herhangi bir koda kaydolmadan veya yazmadan metin okuma özelliğini deneyebilirsiniz.
İpucu
Visual Studio Code üzerinde kolayca örnek oluşturmak ve çalıştırmak için Azure Konuşma Araç Seti deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Speech için Bir Dökümhane kaynağı oluşturun.
- Konuşma kaynak anahtarını ve bölgesini alın. 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.
Kurulum
Yeni bir klasör
synthesis-quickstartoluşturun ve aşağıdaki komutu kullanarak hızlı başlangıç klasörüne gidin:mkdir synthesis-quickstart && cd synthesis-quickstartAşağıdaki komutla
package.jsonoluşturun:npm init -ypackage.jsonaşağıdaki komut ile ECMAScript olarak güncelleyin:npm pkg set type=moduleJavaScript için Konuşma SDK'sını şu şekilde yükleyin:
npm install microsoft-cognitiveservices-speech-sdkTypeScript hatalarından kaçınmak için Node.js tür tanımlarını yüklemeniz gerekir. Aşağıdaki komutu çalıştırın:
npm install --save-dev @types/node
Kaynak bilgilerini alma
Foundry Araçları'na erişmek için uygulamanızın kimliğini doğrulamanız gerekir. Bu makalede, kimlik bilgilerinizi depolamak için ortam değişkenlerini nasıl kullanacağınız gösterilmektedir. Ardından uygulamanızın kimliğini doğrulamak için kodunuzdan ortam değişkenlerine erişebilirsiniz. Üretim için kimlik bilgilerinizi depolamak ve erişmek için daha güvenli bir yol kullanın.
Önemli
Kimlik bilgilerinin bulutta çalışan uygulamalarınızla depolanmasını önlemek için Azure kaynakları için yönetilen kimliklerle Microsoft Entra ID kimlik doğrulamasını öneririz.
API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarlarını kullanıyorsanız, bunları Azure Key Vault güvenli bir şekilde depolayın, anahtarları düzenli olarak döndürün ve rol tabanlı erişim denetimi ve ağ erişim kısıtlamalarını kullanarak erişimi Azure Key Vault kısıtlayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure AI services istekleri doğrulama.
Konuşma kaynak anahtarınız ve bölgeniz için ortam değişkenlerini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini
SPEECH_KEYayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
SPEECH_REGIONayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin. - Ortam değişkenini ayarlamak için
ENDPOINT, Konuşma kaynağınızın gerçek uç noktası olanyour-endpointile değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Not
Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine setile setx ayarlayabilirsiniz.
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini 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 yeniden başlatın.
Konuşmayı dosyaya sentezle
Konuşmayı bir dosyadan çevirmek için:
Aşağıdaki içeriğe sahip synthesis.ts adlı yeni bir dosya oluşturun:
import { createInterface } from "readline"; import { SpeechConfig, AudioConfig, SpeechSynthesizer, ResultReason, SpeechSynthesisResult } from "microsoft-cognitiveservices-speech-sdk"; function synthesizeSpeech(): void { const audioFile = "YourAudioFile.wav"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechConfig: SpeechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT!), process.env.SPEECH_KEY!); const audioConfig: AudioConfig = AudioConfig.fromAudioFileOutput(audioFile); // The language of the voice that speaks. speechConfig.speechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural"; // Create the speech synthesizer. const synthesizer: SpeechSynthesizer = new SpeechSynthesizer(speechConfig, audioConfig); const rl = createInterface({ input: process.stdin, output: process.stdout }); rl.question("Enter some text that you want to speak >\n> ", function (text: string) { rl.close(); // Start the synthesizer and wait for a result. synthesizer.speakTextAsync(text, function (result: SpeechSynthesisResult) { if (result.reason === 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(); }, function (err: string) { console.trace("err - " + err); synthesizer.close(); }); console.log("Now synthesizing to: " + audioFile); }); } synthesizeSpeech();synthesis.ts'da, isteğe bağlı olarak YourAudioFile.wav başka bir çıkış dosyası adıyla yeniden adlandırabilirsiniz.
Konuşma sentezi dilini değiştirmek için
öğesini, desteklenen başka bir ses ile<с1> değiştirin. Tüm sinir sesleri çok dillidir ve kendi dillerinde ve İngilizcede akıcıdır. Örneğin, İngilizce giriş metni konuşmayı denemek beni heyecanlandırıyorsa ve ayarını
es-ES-Ximena:DragonHDLatestNeuralyaparsanız, metin İspanyolca vurgulu İngilizce olarak konuşulur. Ses, giriş metninin dilini konuşmazsa Konuşma hizmeti sentezlenmiş ses çıkışı vermez.tsconfig.jsondosyasını oluşturup TypeScript kodunu dönüştürmek için ECMAScript için aşağıdaki kodu kopyalayın.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }TypeScript'ten JavaScript'e dönüştürme.
tscBu komut başarılı olursa çıkış üretmemelidir.
Bir dosyaya konuşma sentezi başlatmak için konsol uygulamanızı çalıştırın:
node synthesis.js
Çıktı
Konsolda aşağıdaki çıkışı görmeniz gerekir. Sentezlemek istediğiniz metni girmek için istemi izleyin:
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ıç, girdiğiniz kısa bir metin bloğunu sentezlemek için SpeakTextAsync işlemini kullanır. 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.
- Bir dosyadan konuşmayı nasıl sentezleyeceğinizi öğrenmek ve ses stilleri, prosodi ve diğer ayarları daha hassas şekilde kontrol etmek için Konuşma Sentezi İşaretleme Dili (SSML) genel bakışına göz atın.
- Uzun metinleri konuşmaya dönüştürmek için toplu sentezleme API'si hakkında bilgi almak için metin okuma API'sini inceleyin.
Döküm Araçları'nda Azure Konuşma'da konuşma seslerine openAI metni
OpenAI metin-konuşma sesleri de desteklenir. bkz. Azure Speech ve multilingual voices içindeki konuşma seslerine metin açma.
en-US-Ava:DragonHDLatestNeural değerini, en-US-FableMultilingualNeural gibi desteklenen bir OpenAI ses adıyla değiştirebilirsiniz.
Kaynakları temizleme
Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.