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'de gerçek zamanlı konuşmayı metne dönüştürmeyi denersiniz.
Ö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.
Gerçek zamanlı konuşmayı metne dönüştürmeyi deneyin
- Konuşmayı metne dönüştürme özellik sayfasına gidin ve Oyun alanında aç'ı seçin.
- İsteğe bağlı olarak , görevi, dili, küfür ilkesini ve diğer ayarları değiştirmek için Parametreler bölümünü kullanın. LLM için özel yönergeler de ekleyebilirsiniz.
- Ses dosyanızı seçmek için Dosyaları karşıya yükleme bölümünü kullanın. Ardından Başlat'ı seçin.
- Transkripsiyon çıkışını Transkript sekmesinde görüntüleyin. İsteğe bağlı olarak JSON sekmesinde ham API yanıt çıkışını görüntüleyin.
- Uygulamanızda konuşmayı metne dönüştürme özelliğini kullanmaya yönelik örnek kodu almak için Kod sekmesine geç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
Bu hızlı başlangıçta, konuşmayı gerçek zamanlı olarak tanımak ve metne dönüştürmek için bir uygulama oluşturup çalıştıracaksınız.
İpucu
Ses dosyalarının hızlı transkripsiyonu için hızlı transkripsiyon API'sini kullanmayı göz önünde bulundurun. Hızlı transkripsiyon API'si, dil belirleme ve gündizleme gibi özellikleri destekler.
Bunun yerine, ses dosyalarının asenkron olarak dökümünü almak için Toplu transkripsiyon nedir? bölümüne bakın. Hangi konuşmayı metne dönüştürme çözümünün size uygun olduğundan emin değilseniz bkz . Konuşmayı metne dönüştürme nedir?
Ö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.
Ayrıca yerel makinenizde bir .wav ses dosyası gerekir. 60 saniyeye kadar kendi .wav dosyanızı kullanabilir veya örnek dosyayı indirebilirsiniz https://crbn.us/whatstheweatherlike.wav .
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 Yapay Zeka Hizmetleri 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.
Dosyadan konuşma tanıma
Bir konsol penceresi açın ve aşağıdaki cURL komutunu çalıştırın. YourAudioFile.wav yerine ses dosyanızın yolunu ve adını yazın.
curl --location --request POST "https://%SPEECH_REGION%.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed" ^
--header "Ocp-Apim-Subscription-Key: %SPEECH_KEY%" ^
--header "Content-Type: audio/wav" ^
--data-binary "@YourAudioFile.wav"
Ö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.
Burada gösterilene benzer bir yanıt almanız gerekir. , DisplayText ses dosyanızdan tanınan metin olmalıdır. Komut en fazla 60 saniyelik sesi tanır ve metne dönüştürür.
{
"RecognitionStatus": "Success",
"DisplayText": "My voice is my passport, verify me.",
"Offset": 6600000,
"Duration": 32100000
}
Daha fazla bilgi için bkz: Kısa ses için konuşmayı metne dönüştürme REST API'si.
Kaynakları temizleme
Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Bu hızlı başlangıçta, konuşmayı gerçek zamanlı olarak tanımak ve metne dönüştürmek için bir uygulama oluşturup çalıştıracaksınız.
İpucu
Ses dosyalarının hızlı transkripsiyonu için hızlı transkripsiyon API'sini kullanmayı göz önünde bulundurun. Hızlı transkripsiyon API'si, dil belirleme ve gündizleme gibi özellikleri destekler.
Bunun yerine, ses dosyalarının asenkron olarak dökümünü almak için Toplu transkripsiyon nedir? bölümüne bakın. Hangi konuşmayı metne dönüştürme çözümünün size uygun olduğundan emin değilseniz bkz . Konuşmayı metne dönüştürme nedir?
Ö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.
- Platformunuz için Visual Studio 2015, 2017, 2019 ve 2022 ortamlarına yönelik Microsoft Visual C++ Yeniden Dağıtılabilir'i yükleyin. Bu paketi ilk kez 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. Diğer 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 Yapay Zeka Hizmetleri 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.
Mikrofondan konuşmayı tanıma
İpucu
Foundry Araçları Araç Kiti’nde Azure Konuşma özelliğini deneyin ve Visual Studio Code üzerinde örnekleri kolayca oluşturup çalıştırın.
Konsol uygulaması oluşturmak için bu adımları izleyin.
Yeni projeyi istediğiniz klasörde bir komut istemi penceresi açın. speech_recognition.py adlı yeni 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_recognition.py kopyalayı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://YourResourceName.cognitiveservices.azure.com" speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), endpoint=os.environ.get('ENDPOINT')) speech_config.speech_recognition_language="en-US" audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True) speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config) print("Speak into your microphone.") speech_recognition_result = speech_recognizer.recognize_once_async().get() if speech_recognition_result.reason == speechsdk.ResultReason.RecognizedSpeech: print("Recognized: {}".format(speech_recognition_result.text)) elif speech_recognition_result.reason == speechsdk.ResultReason.NoMatch: print("No speech could be recognized: {}".format(speech_recognition_result.no_match_details)) elif speech_recognition_result.reason == speechsdk.ResultReason.Canceled: cancellation_details = speech_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-US'i başka bir desteklenen dille değiştirin. Örneğin, İspanyolca (İspanya) için kullanınes-ES. Bir dil belirtmezseniz, varsayılan değer oluren-US. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.Mikrofondan konuşma tanımayı başlatmak için yeni konsol uygulamanızı çalıştırın:
python speech_recognition.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.İstendiğinde mikrofonunuza konuşun. Konuştuğunuz şey metin olarak görünmelidir:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
Açıklamalar
Dikkat edilmesi gereken diğer noktalar şunlardır:
Bu örnek,
recognize_once_asyncişlemini, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için kullanarak gerçekleştirir. Daha uzun ses kayıtları, çok dilli konuşmalar da dahil olmak üzere, için sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl tanıyacağınızı inceleyin.Ses dosyasından konuşmayı tanımak için
filenameyerineuse_default_microphonekullanı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 veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Bu hızlı başlangıçta, konuşmayı gerçek zamanlı olarak tanımak ve metne dönüştürmek için bir uygulama oluşturup çalıştıracaksınız.
İpucu
Ses dosyalarının hızlı transkripsiyonu için hızlı transkripsiyon API'sini kullanmayı göz önünde bulundurun. Hızlı transkripsiyon API'si, dil belirleme ve gündizleme gibi özellikleri destekler.
Bunun yerine, ses dosyalarının asenkron olarak dökümünü almak için Toplu transkripsiyon nedir? bölümüne bakın. Hangi konuşmayı metne dönüştürme çözümünün size uygun olduğundan emin değilseniz bkz . Konuşmayı metne dönüştürme nedir?
Ö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ı 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. Diğer 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 Yapay Zeka Hizmetleri 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.
Mikrofondan konuşmayı tanıma
İpucu
Foundry Araçları Araç Kiti’nde Azure Konuşma özelliğini deneyin ve Visual Studio Code üzerinde örnekleri kolayca oluşturup çalıştırın.
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 consoleBu komut, proje dizininizde Program.cs dosyasını oluşturur.
.NET CLI ile yeni projenize Konuşma SDK'sını yükleyin.
dotnet add package Microsoft.CognitiveServices.SpeechProgram.cs dosyasının içeriğini aşağıdaki kodla değiştirin:
using System; using System.IO; using System.Threading.Tasks; using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; class Program { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string endpoint = Environment.GetEnvironmentVariable("ENDPOINT"); static void OutputSpeechRecognitionResult(SpeechRecognitionResult speechRecognitionResult) { switch (speechRecognitionResult.Reason) { case ResultReason.RecognizedSpeech: Console.WriteLine($"RECOGNIZED: Text={speechRecognitionResult.Text}"); break; case ResultReason.NoMatch: Console.WriteLine($"NOMATCH: Speech could not be recognized."); break; case ResultReason.Canceled: var cancellation = CancellationDetails.FromResult(speechRecognitionResult); 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 speechConfig = SpeechConfig.FromEndpoint(new Uri(endpoint), speechKey); speechConfig.SpeechRecognitionLanguage = "en-US"; using var audioConfig = AudioConfig.FromDefaultMicrophoneInput(); using var speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig); Console.WriteLine("Speak into your microphone."); var speechRecognitionResult = await speechRecognizer.RecognizeOnceAsync(); OutputSpeechRecognitionResult(speechRecognitionResult); } }Konuşma tanıma dilini değiştirmek için,
en-US'i başka bir desteklenen dille değiştirin. Örneğin, İspanyolca (İspanya) için kullanınes-ES. Bir dil belirtmezseniz, varsayılan değer oluren-US. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.Mikrofondan konuşma tanımayı 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.İstendiğinde mikrofonunuza konuşun. Konuştuğunuz şey metin olarak görünmelidir:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
Açıklamalar
Dikkat edilmesi gereken diğer noktalar şunlardır:
Bu örnek,
RecognizeOnceAsyncişlemini, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için kullanarak gerçekleştirir. Daha uzun ses kayıtları, çok dilli konuşmalar da dahil olmak üzere, için sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl tanıyacağınızı inceleyin.Ses dosyasından konuşmayı tanımak için
FromWavFileInputyerineFromDefaultMicrophoneInputkullanı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 veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Referans belgeler | Paket (npm) | GitHub'da ek örnekler | Kütüphane kaynak kodu
Bu hızlı başlangıçta, konuşmayı gerçek zamanlı olarak tanımak ve metne dönüştürmek için bir uygulama oluşturup çalıştıracaksınız.
İpucu
Ses dosyalarının hızlı transkripsiyonu için hızlı transkripsiyon API'sini kullanmayı göz önünde bulundurun. Hızlı transkripsiyon API'si, dil belirleme ve gündizleme gibi özellikleri destekler.
Bunun yerine, ses dosyalarının asenkron olarak dökümünü almak için Toplu transkripsiyon nedir? bölümüne bakın. Hangi konuşmayı metne dönüştürme çözümünün size uygun olduğundan emin değilseniz bkz . Konuşmayı metne dönüştürme nedir?
Ö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.
Ayrıca yerel makinenizde bir .wav ses dosyası gerekir. Kendi .wav dosyanızı kullanabilir (30 saniyeye kadar) veya örnek dosyayı indirebilirsiniz https://crbn.us/whatstheweatherlike.wav .
Kurulum
Yeni bir klasör
transcription-quickstartoluşturun ve aşağıdaki komutu kullanarak hızlı başlangıç klasörüne gidin:mkdir transcription-quickstart && cd transcription-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 Yapay Zeka Hizmetleri 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.
Dosyadan konuşma tanıma
Bir dosyadan konuşmanın dökümünü almak için:
Aşağıdaki içeriğe sahip transcription.js adlı yeni bir dosya oluşturun:
import { readFileSync, createReadStream } from "fs"; import { SpeechConfig, AudioConfig, ConversationTranscriber, AudioInputStream } from "microsoft-cognitiveservices-speech-sdk"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT), process.env.SPEECH_KEY); function fromFile() { const filename = "katiesteve.wav"; const audioConfig = AudioConfig.fromWavFileInput(readFileSync(filename)); const conversationTranscriber = new ConversationTranscriber(speechConfig, audioConfig); const pushStream = AudioInputStream.createPushStream(); createReadStream(filename).on('data', function (chunk) { pushStream.write(chunk.slice()); }).on('end', function () { pushStream.close(); }); console.log("Transcribing from: " + filename); conversationTranscriber.sessionStarted = function (s, e) { console.log("SessionStarted event"); console.log("SessionId:" + e.sessionId); }; conversationTranscriber.sessionStopped = function (s, e) { console.log("SessionStopped event"); console.log("SessionId:" + e.sessionId); conversationTranscriber.stopTranscribingAsync(); }; conversationTranscriber.canceled = function (s, e) { console.log("Canceled event"); console.log(e.errorDetails); conversationTranscriber.stopTranscribingAsync(); }; conversationTranscriber.transcribed = function (s, e) { console.log("TRANSCRIBED: Text=" + e.result.text + " Speaker ID=" + e.result.speakerId); }; // Start conversation transcription conversationTranscriber.startTranscribingAsync(function () { }, function (err) { console.trace("err - starting transcription: " + err); }); } fromFile();transcription.jsiçinde, YourAudioFile.wav 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-US'i başka bir desteklenen dille değiştirin. Örneğin, İspanyolca (İspanya) için kullanınes-ES. Bir dil belirtmezseniz, varsayılan değer oluren-US. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.Bir dosyadan konuşma tanımayı başlatmak için yeni konsol uygulamanızı çalıştırın:
node transcription.js
Yanıtı almak için birkaç dakika bekleyin.
Çıktı
Ses dosyasındaki konuşmanın metin olarak çıkışı olmalıdır:
RECOGNIZED: Text=I'm excited to try speech to text.
Açıklamalar
Bu örnek, recognizeOnceAsync işlemini, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için kullanarak gerçekleştirir. Daha uzun ses kayıtları, çok dilli konuşmalar da dahil olmak üzere, için sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl tanıyacağınızı inceleyin.
Not
Mikrofondan konuşma tanıma özelliği Node.js desteklenmez. Yalnızca tarayıcı tabanlı bir JavaScript ortamında desteklenir. Daha fazla bilgi için bkz. React örneği ve GitHub'da bir mikrofondan konuşmayı metne dönüştürme uygulaması.
React örneği, kimlik doğrulama belirteçlerinin değişimi ve yönetimi için tasarım desenlerini gösterir. Ayrıca, konuşmayı metne dönüştürme için bir mikrofondan veya dosyadan ses yakalamayı da gösterir.
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
Bu hızlı başlangıçta, konuşmayı gerçek zamanlı olarak tanımak ve metne dönüştürmek için bir uygulama oluşturup çalıştıracaksınız.
İpucu
Ses dosyalarının hızlı transkripsiyonu için hızlı transkripsiyon API'sini kullanmayı göz önünde bulundurun. Hızlı transkripsiyon API'si, dil belirleme ve gündizleme gibi özellikleri destekler.
Bunun yerine, ses dosyalarının asenkron olarak dökümünü almak için Toplu transkripsiyon nedir? bölümüne bakın. Hangi konuşmayı metne dönüştürme çözümünün size uygun olduğundan emin değilseniz bkz . Konuşmayı metne dönüştürme nedir?
Ö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 Runtime 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 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 Yapay Zeka Hizmetleri 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.
Mikrofondan konuşmayı tanıma
Konuşma tanıma için bir konsol uygulaması oluşturmak için bu adımları izleyin.
Aynı proje kök dizininde SpeechRecognition.java adlı yeni bir dosya oluşturun.
Aşağıdaki kodu SpeechRecognition.java kopyalayın:
import com.microsoft.cognitiveservices.speech.*; import com.microsoft.cognitiveservices.speech.audio.AudioConfig; import java.net.URI; import java.net.URISyntaxException; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; public class SpeechRecognition { // 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.setSpeechRecognitionLanguage("en-US"); recognizeFromMicrophone(speechConfig); } public static void recognizeFromMicrophone(SpeechConfig speechConfig) throws InterruptedException, ExecutionException { AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput(); SpeechRecognizer speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig); System.out.println("Speak into your microphone."); Future<SpeechRecognitionResult> task = speechRecognizer.recognizeOnceAsync(); SpeechRecognitionResult speechRecognitionResult = task.get(); if (speechRecognitionResult.getReason() == ResultReason.RecognizedSpeech) { System.out.println("RECOGNIZED: Text=" + speechRecognitionResult.getText()); } else if (speechRecognitionResult.getReason() == ResultReason.NoMatch) { System.out.println("NOMATCH: Speech could not be recognized."); } else if (speechRecognitionResult.getReason() == ResultReason.Canceled) { CancellationDetails cancellation = CancellationDetails.fromResult(speechRecognitionResult); 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-US'i başka bir desteklenen dille değiştirin. Örneğin, İspanyolca (İspanya) için kullanınes-ES. Bir dil belirtmezseniz, varsayılan değer oluren-US. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.Mikrofondan konuşma tanımayı başlatmak için yeni konsol uygulamanızı çalıştırın:
javac SpeechRecognition.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" SpeechRecognitionÖ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.İstendiğinde mikrofonunuza konuşun. Konuştuğunuz şey metin olarak görünmelidir:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
Açıklamalar
Dikkat edilmesi gereken diğer noktalar şunlardır:
Bu örnek,
RecognizeOnceAsyncişlemini, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için kullanarak gerçekleştirir. Daha uzun ses kayıtları, çok dilli konuşmalar da dahil olmak üzere, için sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl tanıyacağınızı inceleyin.Ses dosyasından konuşmayı tanımak için
fromWavFileInputyerinefromDefaultMicrophoneInputkullanı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 veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Bu hızlı başlangıçta, konuşmayı gerçek zamanlı olarak tanımak ve metne dönüştürmek için bir uygulama oluşturup çalıştıracaksınız.
İpucu
Ses dosyalarının hızlı transkripsiyonu için hızlı transkripsiyon API'sini kullanmayı göz önünde bulundurun. Hızlı transkripsiyon API'si, dil belirleme ve gündizleme gibi özellikleri destekler.
Bunun yerine, ses dosyalarının asenkron olarak dökümünü almak için Toplu transkripsiyon nedir? bölümüne bakın. Hangi konuşmayı metne dönüştürme çözümünün size uygun olduğundan emin değilseniz bkz . Konuşmayı metne dönüştürme nedir?
Ö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ı 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. Diğer 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 Yapay Zeka Hizmetleri 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.
Mikrofondan konuşmayı tanıma
İpucu
Foundry Araçları Araç Kiti’nde Azure Konuşma özelliğini deneyin ve Visual Studio Code üzerinde örnekleri kolayca oluşturup çalıştırın.
Konsol uygulaması oluşturmak ve Konuşma SDK'sını yüklemek için bu adımları izleyin.
Visual Studio Community içinde
SpeechRecognitionadlı yeni bir C++ konsol projesi oluşturun.Tools>Nuget Paket Yöneticisi>Paket Yöneticisi Console öğesini seçin. Paket Yöneticisi Konsolu şu komutu çalıştırın:
Install-Package Microsoft.CognitiveServices.SpeechSpeechRecognition.cppiç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); speechConfig->SetSpeechRecognitionLanguage("en-US"); auto audioConfig = AudioConfig::FromDefaultMicrophoneInput(); auto speechRecognizer = SpeechRecognizer::FromConfig(speechConfig, audioConfig); std::cout << "Speak into your microphone.\n"; auto result = speechRecognizer->RecognizeOnceAsync().get(); if (result->Reason == ResultReason::RecognizedSpeech) { std::cout << "RECOGNIZED: Text=" << result->Text << 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-US'i başka bir desteklenen dille değiştirin. Örneğin, İspanyolca (İspanya) için kullanınes-ES. Bir dil belirtmezseniz, varsayılan değer oluren-US. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.Mikrofondan konuşma tanımayı 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.İstendiğinde mikrofonunuza konuşun. Konuştuğunuz şey metin olarak görünmelidir:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
Açıklamalar
Dikkat edilmesi gereken diğer noktalar şunlardır:
Bu örnek,
RecognizeOnceAsyncişlemini, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için kullanarak gerçekleştirir. Daha uzun ses kayıtları, çok dilli konuşmalar da dahil olmak üzere, için sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl tanıyacağınızı inceleyin.Ses dosyasından konuşmayı tanımak için
FromWavFileInputyerineFromDefaultMicrophoneInputkullanın:auto 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 veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Referans belgeleri | Package (Go) | GitHub üzerindeki ek örnekler
Bu hızlı başlangıçta, konuşmayı gerçek zamanlı olarak tanımak ve metne dönüştürmek için bir uygulama oluşturup çalıştıracaksınız.
İpucu
Ses dosyalarının hızlı transkripsiyonu için hızlı transkripsiyon API'sini kullanmayı göz önünde bulundurun. Hızlı transkripsiyon API'si, dil belirleme ve gündizleme gibi özellikleri destekler.
Bunun yerine, ses dosyalarının asenkron olarak dökümünü almak için Toplu transkripsiyon nedir? bölümüne bakın. Hangi konuşmayı metne dönüştürme çözümünün size uygun olduğundan emin değilseniz bkz . Konuşmayı metne dönüştürme nedir?
Ö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. Konuşma SDK'sını bu kılavuzun ilerleyen bölümlerinde yükleyebilirsiniz. Diğer 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 Yapay Zeka Hizmetleri 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.
Mikrofondan konuşmayı tanıma
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 komut istemi penceresi açın. Yeni bir Go dosyası oluşturmak için bu komutu çalıştırın.
touch main.gomain.go dosyasının içeriğini aşağıdaki kodla değiştirin:
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 "ENDPOINT" speechKey := os.Getenv("SPEECH_KEY") endpoint := os.Getenv("ENDPOINT") speechConfig, err := speech.NewSpeechConfigFromEndpointWithSubscription(endpoint, speechKey) if err != nil { fmt.Println("Got an error: ", err) return } defer speechConfig.Close() audioConfig, err := audio.NewAudioConfigFromDefaultMicrophoneInput() if err != nil { fmt.Println("Got an error: ", err) return } defer audioConfig.Close() speechRecognizer, err := speech.NewSpeechRecognizerFromConfig(speechConfig, audioConfig) if err != nil { fmt.Println("Got an error: ", err) return } defer speechRecognizer.Close() fmt.Println("Speak into your microphone.") outcome := <-speechRecognizer.RecognizeOnceAsync() defer outcome.Close() if outcome.Error != nil { fmt.Println("Got an error: ", outcome.Error) return } fmt.Println("RECOGNIZED: Text=", outcome.Result.Text) }Konuşma tanıma dilini değiştirmek için,
en-US'i başka bir desteklenen dille değiştirin. Örneğin, İspanyolca (İspanya) için kullanınes-ES. Bir dil belirtmezseniz, varsayılan değer oluren-US. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.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.İstendiğinde mikrofonunuza konuşun. Konuştuğunuz şey metin olarak görünmelidir:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
Açıklamalar
Dikkat edilmesi gereken diğer noktalar şunlardır:
Bu örnek,
RecognizeOnceAsyncişlemini, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için kullanarak gerçekleştirir. Daha uzun ses kayıtları, çok dilli konuşmalar da dahil olmak üzere, için sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl tanıyacağınızı inceleyin.Ses dosyasından konuşmayı tanımak için
NewAudioConfigFromWavFileInputyerineNewAudioConfigFromDefaultMicrophoneInputkullanın:audioConfig, err := audio.NewAudioConfigFromWavFileInput("YourAudioFile.wav") if err != nil { fmt.Println("Got an error: ", err) return } defer audioConfig.Close()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 veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.
Referans belgeleri | Paket (indirme) | GitHub'da ek örnekler
Bu hızlı başlangıçta, konuşmayı gerçek zamanlı olarak tanımak ve metne dönüştürmek için bir uygulama oluşturup çalıştıracaksınız.
İpucu
Ses dosyalarının hızlı transkripsiyonu için hızlı transkripsiyon API'sini kullanmayı göz önünde bulundurun. Hızlı transkripsiyon API'si, dil belirleme ve gündizleme gibi özellikleri destekler.
Bunun yerine, ses dosyalarının asenkron olarak dökümünü almak için Toplu transkripsiyon nedir? bölümüne bakın. Hangi konuşmayı metne dönüştürme çözümünün size uygun olduğundan emin değilseniz bkz . Konuşmayı metne dönüştürme nedir?
Ö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 Yapay Zeka Hizmetleri 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.
Mikrofondan konuşmayı tanıma
MacOS uygulamasında konuşmayı tanımak için bu adımları izleyin.
&c0;Azure-Samples/cognitive-services-speech-sdk&c0; deposunu kopyalayarak macOS üzerinde Swift'te bir mikrofondan ses tanıma örnek projesini alın.&c1; 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 bir Xcode çalışma alanı oluştururhelloworld.xcworkspace.Ç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 { var label: NSTextField! var fromMicButton: NSButton! 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"] label = NSTextField(frame: NSRect(x: 100, y: 50, width: 200, height: 200)) label.textColor = NSColor.black label.lineBreakMode = .byWordWrapping label.stringValue = "Recognition Result" label.isEditable = false self.window.contentView?.addSubview(label) fromMicButton = NSButton(frame: NSRect(x: 100, y: 300, width: 200, height: 30)) fromMicButton.title = "Recognize" fromMicButton.target = self fromMicButton.action = #selector(fromMicButtonClicked) self.window.contentView?.addSubview(fromMicButton) } @objc func fromMicButtonClicked() { DispatchQueue.global(qos: .userInitiated).async { self.recognizeFromMic() } } func recognizeFromMic() { var speechConfig: SPXSpeechConfiguration? do { try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region) } catch { print("error \(error) happened") speechConfig = nil } speechConfig?.speechRecognitionLanguage = "en-US" let audioConfig = SPXAudioConfiguration() let reco = try! SPXSpeechRecognizer(speechConfiguration: speechConfig!, audioConfiguration: audioConfig) reco.addRecognizingEventHandler() {reco, evt in print("intermediate recognition result: \(evt.result.text ?? "(no result)")") self.updateLabel(text: evt.result.text, color: .gray) } updateLabel(text: "Listening ...", color: .gray) print("Listening...") let result = try! reco.recognizeOnce() print("recognition result: \(result.text ?? "(no result)"), reason: \(result.reason.rawValue)") updateLabel(text: result.text, color: .black) if result.reason != SPXResultReason.recognizedSpeech { let cancellationDetails = try! SPXCancellationDetails(fromCanceledRecognitionResult: result) print("cancelled: \(result.reason), \(cancellationDetails.errorDetails)") print("Did you set the speech resource key and region values?") updateLabel(text: "Error: \(cancellationDetails.errorDetails)", color: .red) } } func updateLabel(text: String?, color: NSColor) { DispatchQueue.main.async { self.label.stringValue = text! self.label.textColor = color } } }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"]Konuşma tanıma dilini değiştirmek için,
en-US'i başka bir desteklenen dille değiştirin. Örneğin, İspanyolca (İspanya) için kullanınes-ES. Bir dil belirtmezseniz, varsayılan değer oluren-US. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.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.
Menüden Ürün>Çalıştır'ı seçerek veya Play düğmesine tıklayarak örnek kodu çalıştırın ve derleyin.
Önemli
SPEECH_KEYveSPEECH_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.
Uygulamadaki düğmeyi seçtikten ve birkaç kelime ettikten sonra, ekranın alt kısmında konuştuğunuz metni görmeniz gerekir. Uygulamayı ilk kez çalıştırdığınızda, uygulama sizden bilgisayarınızın mikrofonuna erişim izni vermenizi ister.
Açıklamalar
Bu örnek, recognizeOnce işlemini, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için kullanarak gerçekleştirir. Daha uzun ses kayıtları, çok dilli konuşmalar da dahil olmak üzere, için sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl tanıyacağınızı inceleyin.
Objective-C
Objective-C için Konuşma SDK'sı istemci kitaplıklarını ve başvuru belgelerini Swift için Konuşma SDK'sı ile paylaşır. Objective-C kod örnekleri için, GitHub'da bulunan macOS örnek projesindeki Objective-C ile mikrofondan konuşma tanıma bölümüne bakın.
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
Bu hızlı başlangıçta, konuşmayı gerçek zamanlı olarak tanımak ve metne dönüştürmek için bir uygulama oluşturup çalıştıracaksınız.
İpucu
Ses dosyalarının hızlı transkripsiyonu için hızlı transkripsiyon API'sini kullanmayı göz önünde bulundurun. Hızlı transkripsiyon API'si, dil belirleme ve gündizleme gibi özellikleri destekler.
Bunun yerine, ses dosyalarının asenkron olarak dökümünü almak için Toplu transkripsiyon nedir? bölümüne bakın. Hangi konuşmayı metne dönüştürme çözümünün size uygun olduğundan emin değilseniz bkz . Konuşmayı metne dönüştürme nedir?
Ö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.
Ayrıca yerel makinenizde bir .wav ses dosyası gerekir. Kendi .wav dosyanızı kullanabilir (30 saniyeye kadar) veya örnek dosyayı indirebilirsiniz https://crbn.us/whatstheweatherlike.wav .
Kurulum
Yeni bir klasör
transcription-quickstartoluşturun ve aşağıdaki komutu kullanarak hızlı başlangıç klasörüne gidin:mkdir transcription-quickstart && cd transcription-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 Yapay Zeka Hizmetleri 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.
Dosyadan konuşma tanıma
Bir dosyadan konuşmanın dökümünü almak için:
Aşağıdaki içeriğe sahip transcription.ts adlı yeni bir dosya oluşturun:
import { readFileSync } from "fs"; import { SpeechConfig, AudioConfig, SpeechRecognizer, ResultReason, CancellationDetails, CancellationReason, SpeechRecognitionResult } from "microsoft-cognitiveservices-speech-sdk"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechConfig: SpeechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT!), process.env.SPEECH_KEY!); speechConfig.speechRecognitionLanguage = "en-US"; function fromFile(): void { const audioConfig: AudioConfig = AudioConfig.fromWavFileInput(readFileSync("YourAudioFile.wav")); const speechRecognizer: SpeechRecognizer = new SpeechRecognizer(speechConfig, audioConfig); speechRecognizer.recognizeOnceAsync((result: SpeechRecognitionResult) => { switch (result.reason) { case ResultReason.RecognizedSpeech: console.log(`RECOGNIZED: Text=${result.text}`); 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 region values?"); } break; } speechRecognizer.close(); }); } fromFile();transcription.ts dosyasındaki YourAudioFile.wav yerine kendi .wav dosyanızı koyun. 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-US'i başka bir desteklenen dille değiştirin. Örneğin, İspanyolca (İspanya) için kullanınes-ES. Bir dil belirtmezseniz, varsayılan değer oluren-US. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz . Dil belirleme.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 transcription.js
Yanıtı almak için birkaç dakika bekleyin.
Çıktı
Ses dosyasındaki konuşmanın metin olarak çıkışı olmalıdır:
RECOGNIZED: Text=I'm excited to try speech to text.
Açıklamalar
Bu örnek, recognizeOnceAsync işlemini, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için kullanarak gerçekleştirir. Daha uzun ses kayıtları, çok dilli konuşmalar da dahil olmak üzere, için sürekli tanıma hakkında bilgi almak için Konuşmayı nasıl tanıyacağınızı inceleyin.
Kaynakları temizleme
Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi (CLI) kullanabilirsiniz.