Konuşma tanıma
Tip
Daha fazla ayrıntı için Metin ve resimler sekmesine bakın!
Genelliklekonuşmayı metne dönüştürme (STT) olarak adlandırılan konuşma tanıma, uygulamaların ve aracıların konuşulan girişlere yanıt vermesini sağlayan bir yapay zeka özelliğidir. Konuşma tanıma, konuşulan sözcüğü alır ve genellikle metne dönüştürür. Konuşmayı metne dönüştürme yazılımı genellikle aşağıdakiler dahil olmak üzere birden çok model kullanır:
- Sesi fonemelere dönüştüren akustik model (belirli seslerin gösterimleri).
- Foneleri sözcüklerle eşleyen bir dil modeli.
Yapay zeka konuşmasının tanıdığı sözcükler metne dönüştürülür. Metni kapalı açıklamalı alt yazılar sağlama, çağrı transkriptleri oluşturma, not diktesini otomatikleştirme ve çok daha fazlası gibi çeşitli amaçlarla kullanabilirsiniz.
Azure Konuşma - Konuşmayı Metne Dönüştürme
Azure Konuşma , bir mikrofon veya ses dosyasından gelen ses girişini işlemek için kullanabileceğiniz konuşmayı metne dönüştürme API'sini içerir.
Uyarı
API (Uygulama Programlama Arabirimi), bir yazılım uygulamasının başka bir uygulamayla iletişim kurmasını ve başka bir uygulamanın işlevselliğini veya verilerini kullanmasını sağlayan bir dizi kural ve uç noktadır.
Microsoft Foundry , geliştiricilerin modelleri, araçları, verileri ve hizmetleri tek bir yerde bir araya getirerek yapay zeka uygulamaları ve aracıları oluşturmasına, test etmelerine ve dağıtmalarına yardımcı olan bir Microsoft platformudur.
Yeni Microsoft Foundry portalında, Foundry oyun alanında Azure Konuşma'nın konuşmayı metne dönüştürme özelliklerini keşfedebiliriz. Oyun bahçesine gitmek için Derleme sayfasına, ardından Modeller'e ve ardından yapay zeka hizmetleri sekmesine gidin. Sekmesinde, Azure Konuşma - Konuşmayı Metne Dönüştürme dahil olmak üzere test için kullanılabilecek çeşitli yapay zeka hizmetlerini bulabilirsiniz.
Oyun alanında bir ses dosyası yükleyebilir veya kendi konuşmanızı kaydedebilirsiniz. Azure Konuşma, söylenenlerin dökümünü alır ve kendi uygulamanızın ses girişlerine nasıl yanıt vereceğini size hissettirir.
Foundry portalındaki oyun alanı, Azure Konuşma ile denemeler yapmak için harika bir yerdir, ancak uygulamada konuşmayı metne dönüştürmeyi kullanmak için kod yazmamız gerekir.
Azure konuşmayı metne dönüştürme SDK'sını kullanma
Azure Konuşma – Konuşmayı Metne Dönüştürme SDK'sı, uygulamaların konuşulan sesi yazılı metne dönüştürmesini sağlayan bir istemci kitaplığıdır. Konuşmayı metne dönüştürme SDK'sı, konuşma tanımanın uygulamalara eklenmesini kolaylaştırmak için tasarlanmıştır.
Uyarı
İstemci kitaplığı, geliştiricilerin bir hizmet veya API ile kolayca iletişim kurmak için kendi uygulamalarında kullanabileceği hazır kod kümesidir.
SDK, uygulamanızın şunları gerçekleştirmesini sağlar:
- Mikrofondan, ses dosyasından veya ses akışından ses yakalama veya gönderme
- Bu sesi Azure Konuşma'ya güvenli bir şekilde gönderme
- İşlem tamamlandığında veya neredeyse gerçek zamanlı olarak transkribe edilmiş metni alabilirsiniz.
SDK ağ, kimlik doğrulaması, ses akışı ve yanıt ayrıştırma işlemlerini işleyerek geliştiricilerin uygulama mantığına odaklanmasını sağlar.
Uygulama geliştirme
Konuşmayı Metne Dönüştürme SDK'sı genellikle bir uygulamanın istemci veya hizmet katmanında kullanılır. SDK, uygulama kodunuz ile Azure Konuşma hizmeti arasında köprü görevi görür.
Azure Speech Python SDK'sını kullanmak için Uyumlu Python sürümüne ve Azure Speech Python SDK'sına sahip olmanız gerekir.
Python SDK'sı Visual Studio Code terminalinde aşağıdakiler kullanılarak yüklenebilir:
pip install azure-cognitiveservices-speech
Uyarı
Uygulama kodu, Visual Studio Code gibi kod düzenleyicilerinde yazılır. Kod düzenleyicisinin terminali , geliştirme ortamınızdan çıkmadan komutları çalıştırabileceğiniz, düzenleyicinin içindeki yerleşik bir komut satırı penceresidir.
Azure Konuşma'yı kullanmak için bir Dökümhane kaynağı da oluşturmanız gerekir. Foundry kaynak uç noktası ve anahtarı, bağlantınızın kimliğini doğrulamak için kodunuzda kullanılır.
Python SDK'sını yükleyip bir Foundry kaynağı oluşturduktan sonra programınızı oluşturup çalıştırabilirsiniz. Aşağıdaki Python kodunu göz önünde bulundurun. Çalıştırdığınızda:
- Uygulamanız Konuşma SDK'sını başlatır: Bir uç nokta ve kimlik doğrulaması (anahtar veya Microsoft Entra Id) sağlar
- Ses yakalanır veya yüklenir: Mikrofon girişi veya ses dosyası/akışı
- Ses Azure Konuşma'ya gönderilir: SDK sesi güvenli bir şekilde akışla gönderir veya karşıya yükler
- Konuşma tanıma bulutta çalışır: Azure'ın konuşma modelleri sesi analiz etme
- Metin sonuçları döndürülür: Uygulamanız tanınan metinleri ve isteğe bağlı meta verileri alır
import azure.cognitiveservices.speech as speechsdk
# Set up the speech config using resource endpoint
endpoint_url = "ENDPOINT"
speech_key = "FOUNDRY_KEY"
speech_config = speechsdk.SpeechConfig(
subscription=speech_key,
endpoint=endpoint_url
)
# Create a recognizer with microphone input
audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
speech_recognizer = speechsdk.SpeechRecognizer(
speech_config=speech_config,
audio_config=audio_config
)
# Event handlers
def recognized_handler(evt):
print(f"Recognized: {evt.result.text}")
def recognizing_handler(evt):
print(f"Recognizing: {evt.result.text}")
# Connect event handlers
speech_recognizer.recognized.connect(recognized_handler)
speech_recognizer.recognizing.connect(recognizing_handler)
# Start continuous recognition
speech_recognizer.start_continuous_recognition()
print("Say something...")
# Keep the program running
input("Press Enter to stop...")
speech_recognizer.stop_continuous_recognition()
İstemci uygulaması örneği
Örneğin, sesli mesajların dökümünü otomatik olarak veren basit bir uygulama geliştirmek istediğinizi varsayalım. Kod düzenleyicisinde bir ses dosyası ve uygulama kodu içeren bir Python dosyası vardır.
Sesli mesaj kaydı içeren bir ses dosyanız olduğunu varsayalım. İletinin dökümünü almak için, uç noktayı ve anahtarı ve dökümünü almak istediğiniz ses kaynağını belirterek başlayın. Ardından sonuçları görüntülemeden önce transkripsiyonu gerçekleştirmek için bir SpeechRecognizer nesne kullanın.
Kodu çalıştırdıktan sonra transkripsiyon metnini görebilirsiniz.
Ses işleme seçenekleri
Azure Konuşma'nın konuşmayı metne dönüştürme API'sini kullanarak sesin gerçek zamanlı veya toplu dökümünü metin biçiminde gerçekleştirebilirsiniz. Transkripsiyon için kullanılacak ses kaynağı, mikrofondan gelen gerçek zamanlı ses akışı veya bir ses dosyası olabilir.
Gerçek zamanlı transkripsiyon: Gerçek zamanlı konuşmayı metne dönüştürme, ses akışlarını metne dönüştürmenizi sağlar. Gerçek zamanlı transkripsiyonu sunumlar, tanıtımlar veya bir konuşmacının bulunduğu farklı senaryolar için kullanabilirsiniz.
Gerçek zamanlı transkripsiyonun çalışması için uygulamanızın bir mikrofondan gelen sesi veya ses dosyası gibi başka bir ses giriş kaynağını dinliyor olması gerekir. Uygulama kodunuz sesi hizmete aktarır, hizmet de metin olarak döndürür.
Toplu transkripsiyon: Tüm konuşmayı metne dönüştürme senaryoları gerçek zamanlı değildir. Ses kayıtlarınız bir dosya paylaşımında, uzak sunucuda, hatta Azure depolamada depolanmış olabilir. Paylaşılan erişim imzası (SAS) URI'si kullanarak ses dosyalarınızı işaret edebilir ve transkripsiyon sonuçlarını zaman uyumsuz bir şekilde alabilirsiniz.
Toplu işler en iyi çaba temelinde zamanlandığından, toplu iş transkripsiyonu zaman uyumsuz bir şekilde çalıştırılmalıdır. Normalde bir iş, isteği izleyen dakikalar içinde yürütülmeye başlar, ancak bir işin çalışma durumuna ne zaman değiştiğine ilişkin bir tahmin yoktur.
Azure Konuşma'da Konuşma Tanıma, kayıtlı sesin dökümünü alan çözümler oluşturmanın veya konuşma açıklamalı alt yazılarını otomatikleştirmenin harika bir yoludur. Ardından, konuşma sentezi özelliğini bir uygulamaya nasıl ekleyeceğinizi öğrenin.