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.
Metne konuşma REST API başvurusu | Kısa ses başvurusu için metin REST API'sine konuşma | GitHub'da ek örnekler
REST API konuşma çevirisini desteklemez. Lütfen bu sayfanın üst kısmından başka bir programlama dili veya aracı seçin.
Başvuru belgeleri | Paketi (PyPi) | GitHub'da ek örnekler
Bu hızlı başlangıçta, konuşmayı bir dilden başka bir dildeki metne çevirmek için bir uygulama çalıştıracaksınız.
İpucu
Visual Studio Code'da örnekleri kolayca derlemek ve çalıştırmak için Döküm Araçları Araç Seti'nde Azure Konuşma özelliğini deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Konuşma için bir 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.
- Platformunuz için Microsoft Visual Studio için Visual C++ Yeniden Dağıtılabilir 2015, 2017, 2019 ve 2022'yi yükleyin. Bu, paketi ilk yüklemenizse makinenizi yeniden başlatın.
- Linux'ta x64 hedef mimarisini kullanın.
Python'ın 3.7 veya sonraki bir sürümünden bir sürümünü yükleyin. Daha fazla gereksinim için önce SDK yükleme kılavuzuna bakın
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 bilgilerini bulutta çalışan uygulamalarınızla depolamaktan kaçınmak için Azure kaynakları için yönetilen kimliklerle Microsoft Entra Id kimlik doğrulaması yapmanızı ö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'ta 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 Azure Key Vault'a erişimi 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 API anahtarları.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini 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'yu yeniden başlatın.
Mikrofondan konuşma çevirme
Yeni bir konsol uygulaması oluşturmak için bu adımları izleyin.
Yeni projeyi istediğiniz yerde bir komut istemi açın ve adlı
speech_translation.pyyeni 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 içine
speech_translation.pykopyalayın:import os import azure.cognitiveservices.speech as speechsdk def recognize_from_microphone(): # 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_translation_config = speechsdk.translation.SpeechTranslationConfig(subscription=os.environ.get('SPEECH_KEY'), endpoint=os.environ.get('ENDPOINT')) speech_translation_config.speech_recognition_language="en-US" to_language ="it" speech_translation_config.add_target_language(to_language) audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True) translation_recognizer = speechsdk.translation.TranslationRecognizer(translation_config=speech_translation_config, audio_config=audio_config) print("Speak into your microphone.") translation_recognition_result = translation_recognizer.recognize_once_async().get() if translation_recognition_result.reason == speechsdk.ResultReason.TranslatedSpeech: print("Recognized: {}".format(translation_recognition_result.text)) print("""Translated into '{}': {}""".format( to_language, translation_recognition_result.translations[to_language])) elif translation_recognition_result.reason == speechsdk.ResultReason.NoMatch: print("No speech could be recognized: {}".format(translation_recognition_result.no_match_details)) elif translation_recognition_result.reason == speechsdk.ResultReason.Canceled: cancellation_details = translation_recognition_result.cancellation_details print("Speech Recognition canceled: {}".format(cancellation_details.reason)) if cancellation_details.reason == speechsdk.CancellationReason.Error: print("Error details: {}".format(cancellation_details.error_details)) print("Did you set the speech resource key and endpoint values?") recognize_from_microphone()Konuşma tanıma dilini değiştirmek için
en-USbaşka bir desteklenen dille değiştirin. Yerel ayarın tamamını tire (-) ayırıcısıyla belirtin. Örneğin,es-ESİspanyolca (İspanya) için. Varsayılan dilen-US'dir, eğer bir dil belirtmezseniz. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.Çeviri hedef dilini değiştirmek için
itöğesini başka bir desteklenen dille değiştirin. Birkaç istisna dışında, yalnızca yerel ayar tire (-) ayırıcısının önündeki dil kodunu belirtirsiniz. Örneğin,esyerinees-ESİspanyolca (İspanya) kullanın. Varsayılan dilen'dir, eğer bir dil belirtmezseniz.
Mikrofondan konuşma tanımayı başlatmak için yeni konsol uygulamanızı çalıştırın:
python speech_translation.py
İstendiğinde mikrofonunuza konuşun. Konuştuğunuz şey, hedef dilde çevrilmiş metin olarak verilmelidir:
Speak into your microphone.
Recognized: I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Açıklamalar
Hızlı başlangıcı tamamladıktan sonra dikkat edilmesi gereken diğer noktalar şunlardır:
- Bu örnek, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemini kullanır
recognize_once_async. Daha uzun sesler için, çok dilli konuşmalar da dahil olmak üzere, sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl çevireceğiniz konusuna bakın. - Ses dosyasından konuşmayı tanımak için
filenameyerineuse_default_microphone'u kullanın.audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav") - MP4 gibi sıkıştırılmış ses dosyaları için GStreamer'ı yükleyin ve veya
PullAudioInputStreamkullanınPushAudioInputStream. Daha fazla bilgi için Sıkıştırılmış giriş sesini kullanma kısmına bakın.
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 (NuGet) | GitHub'da ek örnekler
Bu hızlı başlangıçta, konuşmayı bir dilden başka bir dildeki metne çevirmek için bir uygulama çalıştıracaksınız.
İpucu
Visual Studio Code'da örnekleri kolayca derlemek ve çalıştırmak için Döküm Araçları Araç Seti'nde Azure Konuşma özelliğini deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Konuşma için bir 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ı bir NuGet paketi olarak kullanılabilir ve .NET Standard 2.0'ı uygular. Konuşma SDK'sını bu kılavuzun ilerleyen bölümlerinde yüklersiniz, ancak daha fazla gereksinim için önce SDK yükleme kılavuzunu gözden geçirin.
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 bilgilerini bulutta çalışan uygulamalarınızla depolamaktan kaçınmak için Azure kaynakları için yönetilen kimliklerle Microsoft Entra Id kimlik doğrulaması yapmanızı ö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'ta 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 Azure Key Vault'a erişimi 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 API anahtarları.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini 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'yu yeniden başlatın.
Mikrofondan konuşma çevirme
Yeni bir konsol uygulaması oluşturmak ve Konuşma SDK'sını yüklemek için bu adımları izleyin.
Yeni projeyi istediğiniz bir komut istemi açın ve .NET CLI ile bir konsol uygulaması oluşturun. Dosya
Program.csproje dizininde oluşturulmalıdır.dotnet new console.NET CLI ile yeni projenize Konuşma SDK'sını yükleyin.
dotnet add package Microsoft.CognitiveServices.Speechöğesinin içeriğini
Program.csaşağıdaki kodla değiştirin.using System; using System.IO; using System.Threading.Tasks; using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; using Microsoft.CognitiveServices.Speech.Translation; class Program { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string endpoint = Environment.GetEnvironmentVariable("ENDPOINT"); static void OutputSpeechRecognitionResult(TranslationRecognitionResult translationRecognitionResult) { switch (translationRecognitionResult.Reason) { case ResultReason.TranslatedSpeech: Console.WriteLine($"RECOGNIZED: Text={translationRecognitionResult.Text}"); foreach (var element in translationRecognitionResult.Translations) { Console.WriteLine($"TRANSLATED into '{element.Key}': {element.Value}"); } break; case ResultReason.NoMatch: Console.WriteLine($"NOMATCH: Speech could not be recognized."); break; case ResultReason.Canceled: var cancellation = CancellationDetails.FromResult(translationRecognitionResult); 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; } } async static Task Main(string[] args) { var speechTranslationConfig = SpeechTranslationConfig.FromEndpoint(new Uri(endpoint), speechKey); speechTranslationConfig.SpeechRecognitionLanguage = "en-US"; speechTranslationConfig.AddTargetLanguage("it"); using var audioConfig = AudioConfig.FromDefaultMicrophoneInput(); using var translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig); Console.WriteLine("Speak into your microphone."); var translationRecognitionResult = await translationRecognizer.RecognizeOnceAsync(); OutputSpeechRecognitionResult(translationRecognitionResult); } }Konuşma tanıma dilini değiştirmek için
en-USbaşka bir desteklenen dille değiştirin. Yerel ayarın tamamını tire (-) ayırıcısıyla belirtin. Örneğin,es-ESİspanyolca (İspanya) için. Varsayılan dilen-US'dir, eğer bir dil belirtmezseniz. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.Çeviri hedef dilini değiştirmek için
itöğesini başka bir desteklenen dille değiştirin. Birkaç istisna dışında, yalnızca yerel ayar tire (-) ayırıcısının önündeki dil kodunu belirtirsiniz. Örneğin,esyerinees-ESİspanyolca (İspanya) kullanın. Varsayılan dilen'dir, eğer bir dil belirtmezseniz.
Mikrofondan konuşma tanımayı başlatmak için yeni konsol uygulamanızı çalıştırın:
dotnet run
İstendiğinde mikrofonunuza konuşun. Konuştuğunuz şey, hedef dilde çevrilmiş metin olarak verilmelidir:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale.
Açıklamalar
Hızlı başlangıcı tamamladıktan sonra dikkat edilmesi gereken diğer noktalar şunlardır:
- Bu örnek, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemini kullanır
RecognizeOnceAsync. Daha uzun sesler için, çok dilli konuşmalar da dahil olmak üzere, sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl çevireceğiniz konusuna bakın. - Ses dosyasından konuşmayı tanımak için
FromWavFileInputyerineFromDefaultMicrophoneInput'u kullanın.using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav"); - MP4 gibi sıkıştırılmış ses dosyaları için GStreamer'ı yükleyin ve veya
PullAudioInputStreamkullanınPushAudioInputStream. Daha fazla bilgi için Sıkıştırılmış giriş sesini kullanma kısmına bakın.
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 | Package (npm) | GitHub'daki ek örnekler | Kitaplık kaynak kodu
Bu hızlı başlangıçta, konuşmayı bir dilden başka bir dildeki metne çevirmek için bir uygulama çalıştıracaksınız.
İpucu
Visual Studio Code'da örnekleri kolayca derlemek ve çalıştırmak için Döküm Araçları Araç Seti'nde Azure Konuşma özelliğini deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Konuşma 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
Yeni bir klasör
translation-quickstartoluşturun ve aşağıdaki komutu kullanarak hızlı başlangıç klasörüne gidin:mkdir translation-quickstart && cd translation-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 bilgilerini bulutta çalışan uygulamalarınızla depolamaktan kaçınmak için Azure kaynakları için yönetilen kimliklerle Microsoft Entra Id kimlik doğrulaması yapmanızı ö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'ta 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 Azure Key Vault'a erişimi 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 API anahtarları.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini 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'yu yeniden başlatın.
Konuşmayı dosyadan çevirme
Konuşmayı bir dosyadan çevirmek için:
Aşağıdaki içeriğe sahip translation.js adlı yeni bir dosya oluşturun:
import { readFileSync } from "fs"; import { SpeechTranslationConfig, AudioConfig, TranslationRecognizer, ResultReason, CancellationDetails, CancellationReason } from "microsoft-cognitiveservices-speech-sdk"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechTranslationConfig = SpeechTranslationConfig.fromEndpoint(new URL(process.env.ENDPOINT), process.env.SPEECH_KEY); speechTranslationConfig.speechRecognitionLanguage = "en-US"; const language = "it"; speechTranslationConfig.addTargetLanguage(language); function fromFile() { const audioConfig = AudioConfig.fromWavFileInput(readFileSync("YourAudioFile.wav")); const translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig); translationRecognizer.recognizeOnceAsync((result) => { switch (result.reason) { case ResultReason.TranslatedSpeech: console.log(`RECOGNIZED: Text=${result.text}`); console.log("Translated into [" + language + "]: " + result.translations.get(language)); break; case ResultReason.NoMatch: console.log("NOMATCH: Speech could not be recognized."); break; case ResultReason.Canceled: const cancellation = CancellationDetails.fromResult(result); console.log(`CANCELED: Reason=${cancellation.reason}`); if (cancellation.reason === CancellationReason.Error) { console.log(`CANCELED: ErrorCode=${cancellation.ErrorCode}`); console.log(`CANCELED: ErrorDetails=${cancellation.errorDetails}`); console.log("CANCELED: Did you set the speech resource key and endpoint values?"); } break; } translationRecognizer.close(); }); } fromFile();translation.jsiçindeYourAudioFile.wavöğesini kendi WAV dosyanızla değiştirin. Bu örnek yalnızca WAV dosyasından konuşmayı tanır. Diğer ses biçimleri hakkında bilgi için Sıkıştırılmış Giriş Sesini Kullanma Yöntemleri bölümüne bakın. Bu örnek 30 saniyeye kadar sesi destekler.Konuşma tanıma dilini değiştirmek için
en-USbaşka bir desteklenen dille değiştirin. Yerel ayarın tamamını tire (-) ayırıcısıyla belirtin. Örneğin,es-ESİspanyolca (İspanya) için. Varsayılan dilen-US'dir, eğer bir dil belirtmezseniz. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.Çeviri hedef dilini değiştirmek için
itöğesini başka bir desteklenen dille değiştirin. Birkaç istisna dışında, yalnızca bölge çizgisinin (-) önündeki dil kodunu belirtirsiniz. Örneğin,esyerinees-ESİspanyolca (İspanya) kullanın. Varsayılan dilen'dir, eğer bir dil belirtmezseniz.
Bir dosyadan konuşma tanımayı başlatmak için yeni konsol uygulamanızı çalıştırın:
node translation.js
Çıktı
Ses dosyasındaki konuşmanın hedef dilde çevrilmiş metin olarak çıkışı olmalıdır:
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into [it]: Sono entusiasta di provare la traduzione vocale.
Açıklamalar
Hızlı başlangıcı tamamladığınıza göre dikkat edilmesi gereken bazı ek noktalar şunlardır:
Bu örnek, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemini kullanır recognizeOnceAsync . Daha uzun sesler için, çok dilli konuşmalar da dahil olmak üzere, sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl çevireceğiniz konusuna bakın.
Not
Mikrofondan konuşma tanıma özelliği Node.js desteklenmez. Yalnızca tarayıcı tabanlı bir JavaScript ortamında desteklenir.
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, konuşmayı bir dilden başka bir dildeki metne çevirmek için bir uygulama çalıştıracaksınız.
İpucu
Visual Studio Code'da örnekleri kolayca derlemek ve çalıştırmak için Döküm Araçları Araç Seti'nde Azure Konuşma özelliğini deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Konuşma için bir 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
Herhangi bir şey yapabilmeniz için önce Konuşma SDK'sını yüklemeniz gerekir. 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 yeni
pom.xmlbir dosya oluşturun ve aşağıdakini içine 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 bilgilerini bulutta çalışan uygulamalarınızla depolamaktan kaçınmak için Azure kaynakları için yönetilen kimliklerle Microsoft Entra Id kimlik doğrulaması yapmanızı ö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'ta 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 Azure Key Vault'a erişimi 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 API anahtarları.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini 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'yu yeniden başlatın.
Mikrofondan konuşma çevirme
Konuşma tanıma için yeni bir konsol uygulaması oluşturmak için bu adımları izleyin.
Aynı proje kök dizininde adlı
SpeechTranslation.javayeni bir dosya oluşturun.Aşağıdaki kodu içine
SpeechTranslation.javakopyalayın:import com.microsoft.cognitiveservices.speech.*; import com.microsoft.cognitiveservices.speech.audio.AudioConfig; import com.microsoft.cognitiveservices.speech.translation.*; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.Map; import java.net.URI; import java.net.URISyntaxException; public class SpeechTranslation { // 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 { SpeechTranslationConfig speechTranslationConfig; try { speechTranslationConfig = SpeechTranslationConfig.fromEndpoint(new URI(endpoint), speechKey); } catch (URISyntaxException e) { throw new IllegalArgumentException("ENDPOINT is not a valid URI: " + endpoint, e); } speechTranslationConfig.setSpeechRecognitionLanguage("en-US"); String[] toLanguages = { "it" }; for (String language : toLanguages) { speechTranslationConfig.addTargetLanguage(language); } recognizeFromMicrophone(speechTranslationConfig); } public static void recognizeFromMicrophone(SpeechTranslationConfig speechTranslationConfig) throws InterruptedException, ExecutionException { AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput(); TranslationRecognizer translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig); System.out.println("Speak into your microphone."); Future<TranslationRecognitionResult> task = translationRecognizer.recognizeOnceAsync(); TranslationRecognitionResult translationRecognitionResult = task.get(); if (translationRecognitionResult.getReason() == ResultReason.TranslatedSpeech) { System.out.println("RECOGNIZED: Text=" + translationRecognitionResult.getText()); for (Map.Entry<String, String> pair : translationRecognitionResult.getTranslations().entrySet()) { System.out.printf("Translated into '%s': %s\n", pair.getKey(), pair.getValue()); } } else if (translationRecognitionResult.getReason() == ResultReason.NoMatch) { System.out.println("NOMATCH: Speech could not be recognized."); } else if (translationRecognitionResult.getReason() == ResultReason.Canceled) { CancellationDetails cancellation = CancellationDetails.fromResult(translationRecognitionResult); 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 tanıma dilini değiştirmek için
en-USbaşka bir desteklenen dille değiştirin. Yerel ayarın tamamını tire (-) ayırıcısıyla belirtin. Örneğin,es-ESİspanyolca (İspanya) için. Varsayılan dilen-US'dir, eğer bir dil belirtmezseniz. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.Çeviri hedef dilini değiştirmek için
itöğesini başka bir desteklenen dille değiştirin. Birkaç istisna dışında, yalnızca yerel ayar tire (-) ayırıcısının önündeki dil kodunu belirtirsiniz. Örneğin,esyerinees-ESİspanyolca (İspanya) kullanın. Varsayılan dilen'dir, eğer bir dil belirtmezseniz.
Mikrofondan konuşma tanımayı başlatmak için yeni konsol uygulamanızı çalıştırın:
javac SpeechTranslation.java -cp ".;target\dependency\*"
java -cp ".;target\dependency\*" SpeechTranslation
İstendiğinde mikrofonunuza konuşun. Konuştuğunuz şey, hedef dilde çevrilmiş metin olarak verilmelidir:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Açıklamalar
Hızlı başlangıcı tamamladıktan sonra dikkat edilmesi gereken diğer noktalar şunlardır:
- Bu örnek, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemini kullanır
RecognizeOnceAsync. Daha uzun sesler için, çok dilli konuşmalar da dahil olmak üzere, sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl çevireceğiniz konusuna bakın. - Ses dosyasından konuşmayı tanımak için
fromWavFileInputyerinefromDefaultMicrophoneInput'u kullanın.AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav"); - MP4 gibi sıkıştırılmış ses dosyaları için GStreamer'ı yükleyin ve veya
PullAudioInputStreamkullanınPushAudioInputStream. Daha fazla bilgi için Sıkıştırılmış giriş sesini kullanma kısmına bakın.
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 (NuGet) | GitHub'da ek örnekler
Bu hızlı başlangıçta, konuşmayı bir dilden başka bir dildeki metne çevirmek için bir uygulama çalıştıracaksınız.
İpucu
Visual Studio Code'da örnekleri kolayca derlemek ve çalıştırmak için Döküm Araçları Araç Seti'nde Azure Konuşma özelliğini deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Konuşma için bir 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ı bir NuGet paketi olarak kullanılabilir ve .NET Standard 2.0'ı uygular. Konuşma SDK'sını bu kılavuzun ilerleyen bölümlerinde yükleyebilirsiniz, ancak daha fazla gereksinim için önce SDK yükleme kılavuzunu gözden geçirin
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 bilgilerini bulutta çalışan uygulamalarınızla depolamaktan kaçınmak için Azure kaynakları için yönetilen kimliklerle Microsoft Entra Id kimlik doğrulaması yapmanızı ö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'ta 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 Azure Key Vault'a erişimi 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 API anahtarları.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini 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'yu yeniden başlatın.
Mikrofondan konuşma çevirme
Yeni bir konsol uygulaması oluşturmak ve Konuşma SDK'sını yüklemek için bu adımları izleyin.
Visual Studio Community 2022'de adlı
SpeechTranslationyeni bir C++ konsol projesi oluşturun.NuGet paket yöneticisiyle yeni projenize Konuşma SDK'sını yükleyin.
Install-Package Microsoft.CognitiveServices.Speechöğesinin içeriğini
SpeechTranslation.cppaş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; using namespace Microsoft::CognitiveServices::Speech::Translation; 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"); auto speechTranslationConfig = SpeechTranslationConfig::FromEndpoint(endpoint, speechKey); speechTranslationConfig->SetSpeechRecognitionLanguage("en-US"); speechTranslationConfig->AddTargetLanguage("it"); auto audioConfig = AudioConfig::FromDefaultMicrophoneInput(); auto translationRecognizer = TranslationRecognizer::FromConfig(speechTranslationConfig, audioConfig); std::cout << "Speak into your microphone.\n"; auto result = translationRecognizer->RecognizeOnceAsync().get(); if (result->Reason == ResultReason::TranslatedSpeech) { std::cout << "RECOGNIZED: Text=" << result->Text << std::endl; for (auto pair : result->Translations) { auto language = pair.first; auto translation = pair.second; std::cout << "Translated into '" << language << "': " << translation << std::endl; } } else if (result->Reason == ResultReason::NoMatch) { std::cout << "NOMATCH: Speech could not be recognized." << std::endl; } else if (result->Reason == ResultReason::Canceled) { auto cancellation = CancellationDetails::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::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 }Konuşma tanıma dilini değiştirmek için
en-USbaşka bir desteklenen dille değiştirin. Yerel ayarın tamamını tire (-) ayırıcısıyla belirtin. Örneğin,es-ESİspanyolca (İspanya) için. Varsayılan dilen-US'dir, eğer bir dil belirtmezseniz. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.Çeviri hedef dilini değiştirmek için
itöğesini başka bir desteklenen dille değiştirin. Birkaç istisna dışında, yalnızca yerel ayar tire (-) ayırıcısının önündeki dil kodunu belirtirsiniz. Örneğin,esyerinees-ESİspanyolca (İspanya) kullanın. Varsayılan dilen'dir, eğer bir dil belirtmezseniz.
Mikrofondan konuşma tanımayı başlatmak için yeni konsol uygulamanızı derleyin ve çalıştırın .
İstendiğinde mikrofonunuza konuşun. Konuştuğunuz şey, hedef dilde çevrilmiş metin olarak verilmelidir:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Açıklamalar
Hızlı başlangıcı tamamladıktan sonra dikkat edilmesi gereken diğer noktalar şunlardır:
- Bu örnek, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemini kullanır
RecognizeOnceAsync. Daha uzun sesler için, çok dilli konuşmalar da dahil olmak üzere, sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl çevireceğiniz konusuna bakın. - Ses dosyasından konuşmayı tanımak için
FromWavFileInputyerineFromDefaultMicrophoneInput'u kullanın.auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav"); - MP4 gibi sıkıştırılmış ses dosyaları için GStreamer'ı yükleyin ve veya
PullAudioInputStreamkullanınPushAudioInputStream. Daha fazla bilgi için Sıkıştırılmış giriş sesini kullanma kısmına bakın.
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 (Go) | GitHub'da ek örnekler
Bu hızlı başlangıçta, konuşmayı bir dilden başka bir dildeki metne çevirmek için bir uygulama çalıştıracaksınız.
İpucu
Visual Studio Code'da örnekleri kolayca derlemek ve çalıştırmak için Döküm Araçları Araç Seti'nde Azure Konuşma özelliğini deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Konuşma 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
Go için Konuşma SDK'sı modül olarak kullanılabilir. Daha fazla bilgi için pkg.go.dev'deki Go için Speech SDK'sı bölümüne bakın.
Go için Konuşma SDK'sını kullanabilmeniz için önce Konuşma SDK'sı yerel kitaplığını yükleyin. Daha fazla bilgi için yükleme kılavuzuna bakın.
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 bilgilerini bulutta çalışan uygulamalarınızla depolamaktan kaçınmak için Azure kaynakları için yönetilen kimliklerle Microsoft Entra Id kimlik doğrulaması yapmanızı ö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'ta 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 Azure Key Vault'a erişimi 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 API anahtarları.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini 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'yu yeniden başlatın.
Mikrofondan konuşma çevirme
Yeni bir konsol uygulaması oluşturmak için bu adımları izleyin.
Projeniz için yeni bir dizin oluşturun ve adlı
speech_translation.gobir dosya oluşturun.Konuşma SDK'sı modülünü yükleyin:
go get github.com/Microsoft/cognitive-services-speech-sdk-goAşağıdaki kodu içine
speech_translation.gokopyalayın:package main import ( "fmt" "os" "github.com/Microsoft/cognitive-services-speech-sdk-go/audio" "github.com/Microsoft/cognitive-services-speech-sdk-go/speech" ) func main() { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" speechKey := os.Getenv("SPEECH_KEY") speechRegion := os.Getenv("SPEECH_REGION") translationConfig, err := speech.NewSpeechTranslationConfigFromSubscription(speechKey, speechRegion) if err != nil { fmt.Println("Error creating translation config:", err) return } defer translationConfig.Close() err = translationConfig.SetSpeechRecognitionLanguage("en-US") if err != nil { fmt.Println("Error setting speech recognition language:", err) return } toLanguage := "it" err = translationConfig.AddTargetLanguage(toLanguage) if err != nil { fmt.Println("Error adding target language:", err) return } audioConfig, err := audio.NewAudioConfigFromDefaultMicrophoneInput() if err != nil { fmt.Println("Error creating audio config:", err) return } defer audioConfig.Close() translationRecognizer, err := speech.NewTranslationRecognizerFromConfig(translationConfig, audioConfig) if err != nil { fmt.Println("Error creating translation recognizer:", err) return } defer translationRecognizer.Close() fmt.Println("Speak into your microphone.") outcome := <-translationRecognizer.RecognizeOnceAsync() if outcome.Error != nil { fmt.Println("Recognition error:", outcome.Error) return } result := outcome.Result defer result.Close() if result.Reason == speech.ResultReason.TranslatedSpeech { fmt.Printf("Recognized: %s\n", result.Text) translations := result.GetTranslations() fmt.Printf("Translated into '%s': %s\n", toLanguage, translations[toLanguage]) } else if result.Reason == speech.ResultReason.NoMatch { fmt.Println("No speech could be recognized.") } else if result.Reason == speech.ResultReason.Canceled { fmt.Println("Speech recognition canceled.") } }Konuşma tanıma dilini değiştirmek için
en-USbaşka bir desteklenen dille değiştirin. Yerel ayarın tamamını tire (-) ayırıcısıyla belirtin. Örneğin,es-ESİspanyolca (İspanya) için. Varsayılan dilen-US'dir, eğer bir dil belirtmezseniz. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.Çeviri hedef dilini değiştirmek için
itöğesini başka bir desteklenen dille değiştirin. Birkaç istisna dışında, yalnızca yerel ayar tire (-) ayırıcısının önündeki dil kodunu belirtirsiniz. Örneğin,esyerinees-ESİspanyolca (İspanya) kullanın. Varsayılan dilen'dir, eğer bir dil belirtmezseniz.
Mikrofondan konuşma tanımayı başlatmak için yeni konsol uygulamanızı çalıştırın:
go run speech_translation.go
İstendiğinde mikrofonunuza konuşun. Konuştuğunuz şey, hedef dilde çevrilmiş metin olarak verilmelidir:
Speak into your microphone.
Recognized: I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Açıklamalar
Hızlı başlangıcı tamamladıktan sonra dikkat edilmesi gereken diğer noktalar şunlardır:
- Bu örnek, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemini kullanır
RecognizeOnceAsync. Daha uzun sesler için, çok dilli konuşmalar da dahil olmak üzere, sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl çevireceğiniz konusuna bakın. - Ses dosyasından konuşmayı tanımak için
NewAudioConfigFromWavFileInputyerineNewAudioConfigFromDefaultMicrophoneInput'u kullanın.audioConfig, err := audio.NewAudioConfigFromWavFileInput("YourAudioFile.wav") - MP4 gibi sıkıştırılmış ses dosyaları için GStreamer'ı yükleyin ve veya
CreatePullStreamkullanınCreatePushStream. Daha fazla bilgi için Sıkıştırılmış giriş sesini kullanma kısmına bakın.
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 (indirme) | GitHub'da ek örnekler
Availability
Objective-C için Konuşma SDK'sı konuşma çevirisini destekler, ancak buraya henüz bir kılavuz eklemedik. Başlamak ve kavramlar hakkında bilgi edinmek için lütfen başka bir programlama dili seçin veya bu makalenin başındaki Objective-C başvurusuna ve bağlantılı örneklere bakın.
Başvuru belgeleri | Paketi (indirme) | GitHub'da ek örnekler
Availability
Swift için Konuşma SDK'sı konuşma çevirisini destekler, ancak buraya henüz bir kılavuz eklemedik. Başlamak ve kavramlar hakkında bilgi edinmek için lütfen başka bir programlama dili seçin veya bu makalenin başından itibaren bağlantılı Swift başvurusuna ve örneklerine bakın.
Başvuru belgeleri | Package (npm) | GitHub'daki ek örnekler | Kitaplık kaynak kodu
Bu hızlı başlangıçta, konuşmayı bir dilden başka bir dildeki metne çevirmek için bir uygulama çalıştıracaksınız.
İpucu
Visual Studio Code'da örnekleri kolayca derlemek ve çalıştırmak için Döküm Araçları Araç Seti'nde Azure Konuşma özelliğini deneyin.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturabilirsiniz.
- Azure portalında Konuşma 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
Yeni bir klasör
translation-quickstartoluşturun ve aşağıdaki komutu kullanarak hızlı başlangıç klasörüne gidin:mkdir translation-quickstart && cd translation-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 bilgilerini bulutta çalışan uygulamalarınızla depolamaktan kaçınmak için Azure kaynakları için yönetilen kimliklerle Microsoft Entra Id kimlik doğrulaması yapmanızı ö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'ta 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 Azure Key Vault'a erişimi 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 API anahtarları.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini 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'yu yeniden başlatın.
Konuşmayı dosyadan çevirme
Konuşmayı bir dosyadan çevirmek için:
Aşağıdaki içeriğe sahip translation.ts adlı yeni bir dosya oluşturun:
import { readFileSync } from "fs"; import { SpeechTranslationConfig, AudioConfig, TranslationRecognizer, ResultReason, CancellationDetails, CancellationReason, TranslationRecognitionResult } from "microsoft-cognitiveservices-speech-sdk"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechTranslationConfig: SpeechTranslationConfig = SpeechTranslationConfig.fromEndpoint(new URL(process.env.ENDPOINT!), process.env.SPEECH_KEY!); speechTranslationConfig.speechRecognitionLanguage = "en-US"; const language = "it"; speechTranslationConfig.addTargetLanguage(language); function fromFile(): void { const audioConfig: AudioConfig = AudioConfig.fromWavFileInput(readFileSync("YourAudioFile.wav")); const translationRecognizer: TranslationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig); translationRecognizer.recognizeOnceAsync((result: TranslationRecognitionResult) => { switch (result.reason) { case ResultReason.TranslatedSpeech: console.log(`RECOGNIZED: Text=${result.text}`); console.log("Translated into [" + language + "]: " + result.translations.get(language)); break; case ResultReason.NoMatch: console.log("NOMATCH: Speech could not be recognized."); break; case ResultReason.Canceled: const cancellation: CancellationDetails = CancellationDetails.fromResult(result); console.log(`CANCELED: Reason=${cancellation.reason}`); if (cancellation.reason === CancellationReason.Error) { console.log(`CANCELED: ErrorCode=${cancellation.ErrorCode}`); console.log(`CANCELED: ErrorDetails=${cancellation.errorDetails}`); console.log("CANCELED: Did you set the speech resource key and endpoint values?"); } break; } translationRecognizer.close(); }); } fromFile();translation.tsiçindeYourAudioFile.wavöğesini kendi WAV dosyanızla değiştirin. Bu örnek yalnızca WAV dosyasından konuşmayı tanır. Diğer ses biçimleri hakkında bilgi için Sıkıştırılmış Giriş Sesini Kullanma Yöntemleri bölümüne bakın. Bu örnek 30 saniyeye kadar sesi destekler.Konuşma tanıma dilini değiştirmek için
en-USbaşka bir desteklenen dille değiştirin. Yerel ayarın tamamını tire (-) ayırıcısıyla belirtin. Örneğin,es-ESİspanyolca (İspanya) için. Varsayılan dilen-US'dir, eğer bir dil belirtmezseniz. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.Çeviri hedef dilini değiştirmek için
itöğesini başka bir desteklenen dille değiştirin. Birkaç istisna dışında, yalnızca bölge çizgisinin (-) önündeki dil kodunu belirtirsiniz. Örneğin,esyerinees-ESİspanyolca (İspanya) kullanın. Varsayılan dilen'dir, eğer bir dil belirtmezseniz.
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 dosyadan konuşma tanımayı başlatmak için yeni konsol uygulamanızı çalıştırın:
node translation.js
Çıktı
Ses dosyasındaki konuşmanın hedef dilde çevrilmiş metin olarak çıkışı olmalıdır:
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into [it]: Sono entusiasta di provare la traduzione vocale.
Açıklamalar
Hızlı başlangıcı tamamladığınıza göre dikkat edilmesi gereken bazı ek noktalar şunlardır:
Bu örnek, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemini kullanır recognizeOnceAsync . Daha uzun sesler için, çok dilli konuşmalar da dahil olmak üzere, sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl çevireceğiniz konusuna bakın.
Not
Mikrofondan konuşma tanıma özelliği Node.js desteklenmez. Yalnızca tarayıcı tabanlı bir JavaScript ortamında desteklenir.
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.