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, Azure AI Foundry'de gerçek zamanlı konuşmayı metne dönüştürmeyi denersiniz.
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun.
- Bazı Azure AI hizmetleri özelliklerini Azure AI Foundry portalında ücretsiz olarak deneyebilirsiniz. Bu makalede açıklanan tüm özelliklere erişmek için Azure AI Foundry'deki yapay zeka hizmetlerini bağlamanız gerekir.
Gerçek zamanlı konuşmayı metne dönüştürmeyi deneyin
Azure AI Foundry projenize gidin. Proje oluşturmanız gerekiyorsa Azure AI Foundry projesi oluşturma başlığına bakın.
Sol bölmeden Oyun Alanları'nı ve ardından kullanılacak bir oyun alanı seçin. Bu örnekte Konuşma oyun alanı deneyin'i seçin.
İsteğe bağlı olarak oyun alanında kullanmak üzere farklı bir bağlantı seçebilirsiniz. Konuşma oyun alanında Azure AI Services çoklu hizmet kaynaklarına veya Konuşma hizmeti kaynaklarına bağlanabilirsiniz.
Gerçek zamanlı transkripsiyon'ı seçin.
Konuşmayı metne dönüştürme seçeneklerini yapılandırmak için Gelişmiş seçenekleri göster'i seçin:
- Dil belirleme: Desteklenen diller listesiyle karşılaştırıldığında sesli konuşulan dilleri tanımlamak için kullanılır. Başlangıç ve sürekli tanıma gibi dil belirleme seçenekleri hakkında daha fazla bilgi için bkz . Dil belirleme.
- Konuşmacı ayırımı: Seste konuşmacıları tanımlamak ve ayırmak için kullanılır. Diarizasyon, konuşmaya katılan farklı konuşmacıları ayırt eder. Konuşma tanıma hizmeti, dökümü alınmış konuşmanın belirli bir bölümünde konuşan konuşmacı hakkında bilgi sağlar. Konuşmacı ayrımı hakkında daha fazla bilgi için konuşmacı ayrımıyla gerçek zamanlı konuşmadan metne hızlı başlangıç kılavuzuna bakın.
- Özel uç nokta: Tanıma doğruluğunu geliştirmek için özel konuşmadan dağıtılan bir model kullanın. Microsoft'un temel modelini kullanmak için bu ayarı Yok olarak bırakın. Özel konuşma hakkında daha fazla bilgi için bkz . Özel Konuşma.
- Çıkış biçimi: Basit ve ayrıntılı çıkış biçimleri arasında seçim yapın. Basit çıktı, görüntüleme formatını ve zaman damgasını içerir. Ayrıntılı çıktıda daha fazla biçim (görüntü, sözcük bazlı, ITN ve maskelenmiş ITN gibi), zaman damgaları ve en iyi N sonuç listeleri bulunur.
- Tümcecik listesi: Kişilerin adları veya belirli konumlar gibi bilinen tümceciklerin listesini sağlayarak transkripsiyon doğruluğunu geliştirin. Sözcük listesindeki her değeri ayırmak için virgül veya noktalı virgül kullanın. Söz öbekleri hakkında daha fazla bilgi için bkz Söz öbekleri.
Bir ses dosyası yüklemek veya gerçek zamanlı olarak ses kaydetmek için seçim yapın. Bu örnekte GitHub'daki
Call1_separated_16k_health_insurance.wav
deposunda bulunan dosyayı kullanacağız. Dosyayı indirebilir veya kendi ses dosyanızı kullanabilirsiniz.Gerçek zamanlı transkripsiyonu sayfanın en altında görüntüleyebilirsiniz.
Transkripsiyonun JSON çıkışını görmek için JSON sekmesini seçebilirsiniz. Özellikler
Offset
,Duration
,RecognitionStatus
,Display
,Lexical
,ITN
ve daha fazlasını içerir.
Başvuru belgeleri | Paketi (NuGet) | 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.
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 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. Diğer gereksinimler için bkz . Konuşma SDK'sını yükleme.
Ortam değişkenlerini belirleme
Azure AI hizmetlerine 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_KEY
ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
ENDPOINT
ayarlamak 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 set
ile 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şmayı tanıma
İpucu
Visual Studio Code'da örnekleri kolayca derlemek ve çalıştırmak için Azure AI Konuşma Araç Seti'ni deneyin.
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 console
Bu 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.Speech
Program.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(speechKey, endpoint); 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
öğesini desteklenen başka bir 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
İ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,
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.Ses dosyasından konuşmayı tanımak için
FromWavFileInput
yerineFromDefaultMicrophoneInput
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
PullAudioInputStream
kullanınPushAudioInputStream
. Daha fazla bilgi için Sıkıştırılmış giriş sesini kullanma sayfası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ı gerçek zamanlı olarak tanımak ve metne dönüştürmek için bir uygulama oluşturup çalıştıracaksınız.
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 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. Diğer gereksinimler için bkz . Konuşma SDK'sını yükleme.
Ortam değişkenlerini belirleme
Azure AI hizmetlerine 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_KEY
ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
ENDPOINT
ayarlamak 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 set
ile 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şmayı tanıma
İpucu
Visual Studio Code'da örnekleri kolayca derlemek ve çalıştırmak için Azure AI Konuşma Araç Seti'ni deneyin.
Konsol uygulaması oluşturmak ve Konuşma SDK'sını yüklemek için bu adımları izleyin.
Visual Studio Topluluğu'nda adlı
SpeechRecognition
yeni bir C++ konsol projesi oluşturun.Araçlar Paket Yöneticisi Konsolu'nda şu komutu çalıştırın:
Install-Package Microsoft.CognitiveServices.Speech
öğesinin içeriğini
SpeechRecognition.cpp
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 ((size(speechKey) == 0) || (size(endpoint) == 0)) { std::cout << "Please set both SPEECH_KEY and ENDPOINT environment variables." << std::endl; return -1; } auto speechConfig = SpeechConfig::FromEndpoint(speechKey, endpoint); 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
öğesini desteklenen başka bir 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 .
İ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,
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.Ses dosyasından konuşmayı tanımak için
FromWavFileInput
yerineFromDefaultMicrophoneInput
kullanın:auto audioConfig = AudioConfig::FromWavFileInput("YourAudioFile.wav");
MP4 gibi sıkıştırılmış ses dosyaları için GStreamer'ı yükleyin ve veya
PullAudioInputStream
kullanınPushAudioInputStream
. Daha fazla bilgi için Sıkıştırılmış giriş sesini kullanma sayfası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ı gerçek zamanlı olarak tanımak ve metne dönüştürmek için bir uygulama oluşturup çalıştıracaksınız.
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 bir AI Foundry 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ını yükleyin. Gereksinimler ve yönergeler için bkz . Konuşma SDK'sını yükleme.
Ortam değişkenlerini belirleme
Azure AI hizmetlerine 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_KEY
ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
SPEECH_REGION
ayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Not
Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine set
ile 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şmayı tanıma
Go modülü oluşturmak için bu adımları izleyin.
Yeni projeyi istediğiniz klasörde bir komut istemi penceresi açın. speech-recognition.go adlı yeni bir dosya oluşturun.
Aşağıdaki kodu speech-recognition.go içine kopyalayın:
package main import ( "bufio" "fmt" "os" "github.com/Microsoft/cognitive-services-speech-sdk-go/audio" "github.com/Microsoft/cognitive-services-speech-sdk-go/speech" ) func sessionStartedHandler(event speech.SessionEventArgs) { defer event.Close() fmt.Println("Session Started (ID=", event.SessionID, ")") } func sessionStoppedHandler(event speech.SessionEventArgs) { defer event.Close() fmt.Println("Session Stopped (ID=", event.SessionID, ")") } func recognizingHandler(event speech.SpeechRecognitionEventArgs) { defer event.Close() fmt.Println("Recognizing:", event.Result.Text) } func recognizedHandler(event speech.SpeechRecognitionEventArgs) { defer event.Close() fmt.Println("Recognized:", event.Result.Text) } func cancelledHandler(event speech.SpeechRecognitionCanceledEventArgs) { defer event.Close() fmt.Println("Received a cancellation: ", event.ErrorDetails) fmt.Println("Did you set the speech resource key and region values?") } func main() { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" speechKey := os.Getenv("SPEECH_KEY") speechRegion := os.Getenv("SPEECH_REGION") audioConfig, err := audio.NewAudioConfigFromDefaultMicrophoneInput() if err != nil { fmt.Println("Got an error: ", err) return } defer audioConfig.Close() speechConfig, err := speech.NewSpeechConfigFromSubscription(speechKey, speechRegion) if err != nil { fmt.Println("Got an error: ", err) return } defer speechConfig.Close() speechRecognizer, err := speech.NewSpeechRecognizerFromConfig(speechConfig, audioConfig) if err != nil { fmt.Println("Got an error: ", err) return } defer speechRecognizer.Close() speechRecognizer.SessionStarted(sessionStartedHandler) speechRecognizer.SessionStopped(sessionStoppedHandler) speechRecognizer.Recognizing(recognizingHandler) speechRecognizer.Recognized(recognizedHandler) speechRecognizer.Canceled(cancelledHandler) speechRecognizer.StartContinuousRecognitionAsync() defer speechRecognizer.StopContinuousRecognitionAsync() bufio.NewReader(os.Stdin).ReadBytes('\n') }
GitHub'da barındırılan bileşenlere bağlanan bir go.mod dosyası oluşturmak için aşağıdaki komutları çalıştırın:
go mod init speech-recognition go get github.com/Microsoft/cognitive-services-speech-sdk-go
Kodu derleyin ve çalıştırın:
go build go run speech-recognition
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ı gerçek zamanlı olarak tanımak ve metne dönüştürmek için bir uygulama oluşturup çalıştıracaksınız.
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 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
Ortamınızı ayarlamak için Konuşma SDK'sını yükleyin. Bu hızlı başlangıçtaki örnek Java Çalışma Zamanı ile çalışır.
Apache Maven'ı yükleyin. Ardından başarılı yüklemeyi onaylamak için komutunu çalıştırın
mvn -v
.Projenizin kökünde yeni
pom.xml
bir 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
Azure AI hizmetlerine 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_KEY
ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
ENDPOINT
ayarlamak 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 set
ile 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ş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.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 { SpeechConfig speechConfig = SpeechConfig.fromEndpoint(speechKey, endpoint); 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
öğesini desteklenen başka bir 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
İ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,
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.Ses dosyasından konuşmayı tanımak için
fromWavFileInput
yerinefromDefaultMicrophoneInput
kullanın:AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
MP4 gibi sıkıştırılmış ses dosyaları için GStreamer'ı yükleyin ve veya
PullAudioInputStream
kullanınPushAudioInputStream
. Daha fazla bilgi için Sıkıştırılmış giriş sesini kullanma sayfası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 | Paket (npm) | GitHub'da ek örnekler | Kitaplığın 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.
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 bir AI Foundry 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 .
Ortamı ayarlama
Ortamınızı ayarlamak için JavaScript için Konuşma SDK'sını yükleyin. Şu komutu çalıştırın: npm install microsoft-cognitiveservices-speech-sdk
. Kılavuzlu yükleme yönergeleri için bkz . Konuşma SDK'sını yükleme.
Ortam değişkenlerini belirleme
Azure AI hizmetlerine 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_KEY
ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
SPEECH_REGION
ayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Not
Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine set
ile 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.
Dosyadan konuşma tanıma
İpucu
Visual Studio Code'da örnekleri kolayca derlemek ve çalıştırmak için Azure AI Konuşma Araç Seti'ni deneyin.
Konuşma tanıma için Node.js bir konsol uygulaması oluşturmak için bu adımları izleyin.
Yeni projeyi istediğiniz bir komut istemi penceresi açın ve SpeechRecognition.js adlı yeni bir dosya oluşturun.
JavaScript için Konuşma SDK'sını yükleyin:
npm install microsoft-cognitiveservices-speech-sdk
Aşağıdaki kodu SpeechRecognition.js kopyalayın:
const fs = require("fs"); const sdk = require("microsoft-cognitiveservices-speech-sdk"); // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" const speechConfig = sdk.SpeechConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION); speechConfig.speechRecognitionLanguage = "en-US"; function fromFile() { let audioConfig = sdk.AudioConfig.fromWavFileInput(fs.readFileSync("YourAudioFile.wav")); let speechRecognizer = new sdk.SpeechRecognizer(speechConfig, audioConfig); speechRecognizer.recognizeOnceAsync(result => { switch (result.reason) { case sdk.ResultReason.RecognizedSpeech: console.log(`RECOGNIZED: Text=${result.text}`); break; case sdk.ResultReason.NoMatch: console.log("NOMATCH: Speech could not be recognized."); break; case sdk.ResultReason.Canceled: const cancellation = sdk.CancellationDetails.fromResult(result); console.log(`CANCELED: Reason=${cancellation.reason}`); if (cancellation.reason == sdk.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();
SpeechRecognition.js'da 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 başlığına bakın. Bu örnek 30 saniyeye kadar sesi destekler.
Konuşma tanıma dilini değiştirmek için
en-US
öğesini desteklenen başka bir 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.exe SpeechRecognition.js
Önemli
ve
SPEECH_KEY
SPEECH_REGION
ayarladığınızdan emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.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 React örneğine ve GitHub'da bir mikrofondan metne konuşma uygulama bölümüne bakın.
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ını veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.
Başvuru belgeleri | Paketi (PyPi) | 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.
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 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.
- Windows için platformunuzda Microsoft Visual C++ Redistributable 2015, 2017, 2019 ve 2022'yi yükleyin. Bu paketi ilk kez yüklemek için yeniden başlatma gerekebilir.
- Linux'ta x64 hedef mimarisini kullanmanız gerekir.
Python'ın 3.7 veya sonraki bir sürümünden bir sürümünü yükleyin. Diğer gereksinimler için bkz . Konuşma SDK'sını yükleme.
Ortam değişkenlerini belirleme
Azure AI hizmetlerine 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_KEY
ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
ENDPOINT
ayarlamak 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 set
ile 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şmayı tanıma
İpucu
Visual Studio Code'da örnekleri kolayca derlemek ve çalıştırmak için Azure AI Konuşma Araç Seti'ni deneyin.
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-speech
Aş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://YourServiceRegion.api.cognitive.microsoft.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
öğesini desteklenen başka bir 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
İ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_async
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.Ses dosyasından konuşmayı tanımak için
filename
yerineuse_default_microphone
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
PullAudioInputStream
kullanınPushAudioInputStream
. Daha fazla bilgi için Sıkıştırılmış giriş sesini kullanma sayfası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
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.
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 bir AI Foundry 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
Azure AI hizmetlerine 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_KEY
ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
SPEECH_REGION
ayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Not
Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine set
ile 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şmayı tanıma
MacOS uygulamasında konuşmayı tanımak için bu adımları izleyin.
MacOS üzerinde Swift'te bir mikrofondan konuşma tanıma örnek projesini almak için Azure-Samples/cognitive-services-speech-sdk deposunu kopyalayın. Depoda iOS örnekleri de vardır.
Terminalde indirilen örnek uygulamanın (
helloworld
) dizinine gidin.pod install
komutunu çalıştırın. Bu komut, bağımlılık olarak hem örnek uygulamayı hem de Konuşma SDK'sını içeren bir Xcode çalışma alanı oluştururhelloworld.xcworkspace
.Çalışma alanını
helloworld.xcworkspace
Xcode'da açın.AppDelegate.swift adlı dosyayı açın ve burada gösterildiği gibi
applicationDidFinishLaunching
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
öğesini desteklenen başka bir 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 Hata Ayıklama Alanını
Menüden Ürün>Çalıştır'ı seçerek veya Play düğmesine tıklayarak örnek kodu çalıştırın ve derleyin.
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'daki macOS üzerinde Objective-C örnek projesinde bir 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ını veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.
Konuşmadan metne REST API başvurusu | Kısa ses için konuşmadan metne REST API başvurusu | 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.
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 bir AI Foundry 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
Azure AI hizmetlerine 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_KEY
ayarlamak için anahtarınızı kaynağınızın anahtarlarından biriyle değiştirin. - Ortam değişkenini
SPEECH_REGION
ayarlamak için bölgenizi kaynağınızın bölgelerinden biriyle değiştirin.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Not
Yalnızca geçerli konsoldaki ortam değişkenlerine erişmeniz gerekiyorsa, ortam değişkenini yerine set
ile 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.
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
ve SPEECH_KEY
SPEECH_REGION
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ını veya Azure Komut Satırı Arabirimi'ni (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.
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 bir AI Foundry 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
Bu adımları izleyin ve platformunuzun diğer gereksinimleri için Konuşma CLI'sı hızlı başlangıcına bakın.
Konuşma CLI'sını yüklemek için aşağıdaki .NET CLI komutunu çalıştırın:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Konuşma kaynak anahtarınızı ve bölgenizi yapılandırmak için aşağıdaki komutları çalıştırın.
SUBSCRIPTION-KEY
ifadesini Konuşma kaynak anahtarınızla veREGION
ifadesini Konuşma kaynağı bölgenizle değiştirin.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Mikrofondan konuşmayı tanıma
Mikrofondan konuşma tanımayı başlatmak için aşağıdaki komutu çalıştırın:
spx recognize --microphone --source en-US
Mikrofona konuşun ve sözcüklerinizin metinde gerçek zamanlı olarak dökümünü görürsünüz. Konuşma CLI'si, 30 saniyelik bir sessizlik döneminin ardından veya Ctrldurur.
Connection CONNECTED... RECOGNIZED: I'm excited to try speech to text.
Açıklamalar
Dikkat edilmesi gereken diğer noktalar şunlardır:
Konuşmayı bir ses dosyasından tanımak için
--file
yerine--microphone
kullanın. MP4 gibi sıkıştırılmış ses dosyaları için GStreamer'ı yükleyin ve kullanın--format
. Daha fazla bilgi için Sıkıştırılmış giriş sesini kullanma sayfasına bakın.spx recognize --file YourAudioFile.wav spx recognize --file YourAudioFile.mp4 --format any
Belirli sözcüklerin veya konuşmaların tanıma doğruluğunu geliştirmek için tümcecik listesi kullanın.
recognize
komutuyla birlikte satır içi veya metin dosyası halinde bir ifade listesi eklersiniz.spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;" spx recognize --microphone --phrases @phrases.txt
Konuşma tanıma dilini değiştirmek için
en-US
öğesini desteklenen başka bir dille değiştirin. Örneğin, İspanyolca (İspanya) için kullanınes-ES
. Bir dil belirtmezseniz, varsayılan değer oluren-US
.spx recognize --microphone --source es-ES
Sesin 30 saniyeden uzun süre sürekli olarak tanınması için şunu ekle:
--continuous
spx recognize --microphone --source es-ES --continuous
Dosya girişi ve çıkışı gibi diğer konuşma tanıma seçenekleri hakkında bilgi için şu komutu çalıştırın:
spx help recognize
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.