Hızlı Başlangıç: Konuşmayı tanıma ve metne dönüştürme

Başvuru belgeleri | Paket (NuGet) | GitHub'da Ek Örnekler

Bu hızlı başlangıçta, insan konuşmasını tanımak ve dökümünü almak için bir uygulama çalıştıracaksınız (genellikle konuşmayı metne dönüştürme olarak adlandırılır).

İpucu

Speech Studio'da herhangi bir koda kaydolmadan veya yazmadan konuşmayı metne dönüştürmeyi deneyebilirsiniz.

Önkoşullar

Ortamı ayarlama

Konuşma SDK'sı bir NuGet paketi olarak kullanılabilir ve .NET Standard 2.0'ı uygular. Konuşma SDK'sını bu kılavuzun ilerleyen bölümlerinde yüklersiniz, ancak daha fazla gereksinim için önce SDK yükleme kılavuzunu gözden geçirin.

Ortam değişkenlerini belirleme

Bilişsel Hizmetler kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamak ve bunlara erişmek için güvenli bir yol kullanın. Örneğin Konuşma kaynağınız için bir anahtar aldıktan sonra, bunu uygulamayı çalıştıran yerel makinedeki yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuza eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi diğer kimlik doğrulama seçenekleri için Bilişsel Hizmetler güvenlik makalesine bakın.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınızın yönergelerini izleyin. Ortam değişkenini SPEECH_KEY ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirin your-key .

setx SPEECH_KEY your-key

Not

Ortam değişkenine yalnızca geçerli çalışan konsolda erişmeniz gerekiyorsa ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okumak için gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Konuşma kaynak bölgenizin ortam değişkenini ayarlamak için aynı adımları izleyin. Kaynağınızın bölgesine ayarlayın SPEECH_REGION . Örneğin, westus.

Mikrofondan konuşmayı tanıma

Yeni bir konsol uygulaması oluşturmak ve Konuşma SDK'sını yüklemek için bu adımları izleyin.

  1. Yeni projeyi istediğiniz yerde bir komut istemi açın ve .NET CLI ile bir konsol uygulaması oluşturun. Dosya Program.cs proje dizininde oluşturulmalıdır.

    dotnet new console
    
  2. .NET CLI ile yeni projenize Konuşma SDK'sını yükleyin.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. öğesinin içeriğini Program.cs 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 "SPEECH_REGION"
        static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY");
        static string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION");
    
        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 region values?");
                    }
                    break;
            }
        }
    
        async static Task Main(string[] args)
        {
            var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion);        
            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);
        }
    }
    
  4. Konuşma tanıma dilini değiştirmek için değerini desteklenen başka bir dille değiştirinen-US. Örneğin, es-ES İspanyolca (İspanya). Varsayılan dil, en-US bir dil belirtmezseniz olur. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz. dil tanımlama.

Mikrofondan konuşma tanımayı başlatmak için yeni konsol uygulamanızı çalıştırın:

dotnet run

Önemli

ve SPEECH__REGION ortam değişkenlerini yukarıda açıklandığı gibi ayarladığınızdan SPEECH__KEY 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 şeyin metin olarak çıkışı olmalıdır:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech to text.

Açıklamalar

Hızlı başlangıcı tamamladığınıza göre dikkat edilmesi gereken bazı ek noktalar şunlardır:

  • Bu örnekte, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemi kullanılır RecognizeOnceAsync . Çok dilli konuşmalar da dahil olmak üzere daha uzun ses için sürekli tanıma hakkında bilgi için bkz. Konuşmayı tanıma.
  • Ses dosyasından konuşma tanımak için yerine FromDefaultMicrophoneInputkullanınFromWavFileInput:
    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • MP4 gibi sıkıştırılmış ses dosyaları için GStreamer'ı yükleyin ve veya PushAudioInputStreamkullanınPullAudioInputStream. Daha fazla bilgi için bkz. Sıkıştırılmış giriş sesini kullanma.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Başvuru belgeleri | Paket (NuGet) | GitHub'da Ek Örnekler

Bu hızlı başlangıçta, insan konuşmasını tanımak ve dökümünü almak için bir uygulama çalıştıracaksınız (genellikle konuşmayı metne dönüştürme olarak adlandırılır).

İpucu

Speech Studio'da herhangi bir koda kaydolmadan veya yazmadan konuşmayı metne dönüştürmeyi deneyebilirsiniz.

Önkoşullar

Ortamı ayarlama

Konuşma SDK'sı bir NuGet paketi olarak kullanılabilir ve .NET Standard 2.0'ı uygular. Konuşma SDK'sını bu kılavuzun ilerleyen bölümlerinde yüklersiniz, ancak daha fazla gereksinim için önce SDK yükleme kılavuzunu gözden geçirin.

Ortam değişkenlerini belirleme

Bilişsel Hizmetler kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamak ve bunlara erişmek için güvenli bir yol kullanın. Örneğin Konuşma kaynağınız için bir anahtar aldıktan sonra, bunu uygulamayı çalıştıran yerel makinedeki yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuza eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi diğer kimlik doğrulama seçenekleri için Bilişsel Hizmetler güvenlik makalesine bakın.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınızın yönergelerini izleyin. Ortam değişkenini SPEECH_KEY ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirin your-key .

setx SPEECH_KEY your-key

Not

Yalnızca geçerli çalışan konsolda ortam değişkenine erişmeniz gerekiyorsa ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okumak için gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyiciniz olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Konuşma kaynak bölgenizin ortam değişkenini ayarlamak için aynı adımları izleyin. Kaynağınızın bölgesine ayarlayın SPEECH_REGION . Örneğin, westus.

Mikrofondan konuşmayı tanıma

Yeni bir konsol uygulaması oluşturmak ve Konuşma SDK'sını yüklemek için bu adımları izleyin.

  1. Visual Studio'da yeni bir C++ konsol projesi oluşturun.

  2. NuGet paket yöneticisiyle yeni projenize Konuşma SDK'sını yükleyin.

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. öğesinin içeriğini main.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 "SPEECH_REGION"
        auto speechKey = GetEnvironmentVariable("SPEECH_KEY");
        auto speechRegion = GetEnvironmentVariable("SPEECH_REGION");
    
        if ((size(speechKey) == 0) || (size(speechRegion) == 0)) {
            std::cout << "Please set both SPEECH_KEY and SPEECH_REGION environment variables." << std::endl;
            return -1;
        }
    
        auto speechConfig = SpeechConfig::FromSubscription(speechKey, speechRegion);
    
        speechConfig->SetSpeechRecognitionLanguage("en-US");
    
        auto audioConfig = AudioConfig::FromDefaultMicrophoneInput();
        auto recognizer = SpeechRecognizer::FromConfig(speechConfig, audioConfig);
    
        std::cout << "Speak into your microphone.\n";
        auto result = recognizer->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 region 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
    }
    
  4. Konuşma tanıma dilini değiştirmek için değerini desteklenen başka bir dille değiştirinen-US. Örneğin, es-ES İspanyolca (İspanya) için. Varsayılan dil, bir dil belirtmezseniz olur en-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

ve SPEECH__REGION ortam değişkenlerini yukarıda açıklandığı gibi ayarladığınızdan SPEECH__KEY 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 çıkış olmalıdır:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech to text.

Açıklamalar

Hızlı başlangıcı tamamladığınıza göre dikkat edilmesi gereken bazı ek noktalar şunlardır:

  • Bu örnekte, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemi kullanılır RecognizeOnceAsync . Çok dilli konuşmalar da dahil olmak üzere daha uzun ses için sürekli tanıma hakkında bilgi için bkz. Konuşmayı tanıma.
  • Ses dosyasından konuşmayı tanımak için yerine FromDefaultMicrophoneInputkullanınFromWavFileInput:
    auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • MP4 gibi sıkıştırılmış ses dosyaları için GStreamer'ı yükleyin ve veya PushAudioInputStreamkullanınPullAudioInputStream. Daha fazla bilgi için bkz. Sıkıştırılmış giriş sesini kullanma.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Başvuru belgeleri | Paket (Go) | GitHub'da Ek Örnekler

Bu hızlı başlangıçta, insan konuşmasını (genellikle konuşmayı metne dönüştürme olarak adlandırılır) tanımak ve bunların dökümünü almak için bir uygulama çalıştıracaksınız.

İpucu

Speech Studio'da herhangi bir kod yazmadan veya kaydolmadan konuşmayı metne dönüştürmeyi deneyebilirsiniz.

Önkoşullar

Ortamı ayarlama

Go için Konuşma SDK'sını yükleyin. Daha fazla gereksinim için SDK yükleme kılavuzuna bakın.

Ortam değişkenlerini belirleme

Bilişsel Hizmetler kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamak ve bunlara erişmek için güvenli bir yol kullanın. Örneğin, için bir anahtar aldıktan sonra, bunu uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuza eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi diğer kimlik doğrulama seçenekleri için Bilişsel Hizmetler güvenlik makalesine bakın.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin. Ortam değişkenini SPEECH_KEY ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirin your-key .

setx SPEECH_KEY your-key

Not

Yalnızca geçerli çalışan konsolda ortam değişkenine erişmeniz gerekiyorsa ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okumak için gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyiciniz olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Konuşma kaynak bölgenizin ortam değişkenini ayarlamak için aynı adımları izleyin. Kaynağınızın bölgesine ayarlayın SPEECH_REGION . Örneğin, westus.

Mikrofondan konuşmayı tanıma

Yeni bir GO modülü oluşturmak için bu adımları izleyin.

  1. Yeni modülü istediğiniz bir komut istemi açın ve adlı speech-recognition.goyeni bir dosya oluşturun.

  2. Aşağıdaki kodu içine speech-recognition.gokopyalayı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 dosya 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

Önemli

ve SPEECH__REGION ortam değişkenlerini yukarıda açıklandığı gibi ayarladığınızdan SPEECH__KEY emin olun. Bu değişkenleri ayarlamazsanız örnek bir hata iletisiyle başarısız olur.

Şimdi 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 veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Başvuru belgeleri | GitHub'da Ek Örnekler

Bu hızlı başlangıçta, insan konuşmasını tanımak ve dökümünü almak için bir uygulama çalıştıracaksınız (genellikle konuşmayı metne dönüştürme olarak adlandırılır).

İpucu

Speech Studio'da herhangi bir koda kaydolmadan veya yazmadan konuşmayı metne dönüştürmeyi deneyebilirsiniz.

Önkoşullar

Ortamı ayarlama

Herhangi bir şey yapmadan önce Konuşma SDK'sını yüklemeniz gerekir. Bu hızlı başlangıçtaki örnek Java Çalışma Zamanı ile çalışır.

  1. Apache Maven'ı yükleme
  2. Projenizin kökünde yeni pom.xml bir dosya oluşturun ve içine aşağıdakileri 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>
        <repositories>
            <repository>
            <id>maven-cognitiveservices-speech</id>
            <name>Microsoft Cognitive Services Speech Maven Repository</name>
            <url>https://azureai.azureedge.net/maven/</url>
            </repository>
        </repositories>
        <dependencies>
            <dependency>
            <groupId>com.microsoft.cognitiveservices.speech</groupId>
            <artifactId>client-sdk</artifactId>
            <version>1.23.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Konuşma SDK'sını ve bağımlılıkları yükleyin.
    mvn clean dependency:copy-dependencies
    

Ortam değişkenlerini belirleme

Bilişsel Hizmetler kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamak ve bunlara erişmek için güvenli bir yol kullanın. Örneğin Konuşma kaynağınız için bir anahtar aldıktan sonra, bunu uygulamayı çalıştıran yerel makinedeki yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuza eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi diğer kimlik doğrulama seçenekleri için Bilişsel Hizmetler güvenlik makalesine bakın.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınızın yönergelerini izleyin. Ortam değişkenini SPEECH_KEY ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirin your-key .

setx SPEECH_KEY your-key

Not

Ortam değişkenine yalnızca geçerli çalışan konsolda erişmeniz gerekiyorsa ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okumak için gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Konuşma kaynak bölgenizin ortam değişkenini ayarlamak için aynı adımları izleyin. Kaynağınızın bölgesine ayarlayın SPEECH_REGION . Örneğin, westus.

Mikrofondan konuşmayı tanıma

Konuşma tanıma için yeni bir konsol uygulaması oluşturmak için bu adımları izleyin.

  1. Aynı proje kök dizininde adlı SpeechRecognition.java yeni bir dosya oluşturun.

  2. Aşağıdaki kodu içine SpeechRecognition.javakopyalayı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 "SPEECH_REGION"
        private static String speechKey = System.getenv("SPEECH_KEY");
        private static String speechRegion = System.getenv("SPEECH_REGION");
    
        public static void main(String[] args) throws InterruptedException, ExecutionException {
            SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechKey, speechRegion);
            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 region values?");
                }
            }
    
            System.exit(0);
        }
    }
    
  3. Konuşma tanıma dilini değiştirmek için değerini desteklenen başka bir dille değiştirinen-US. Örneğin, es-ES İspanyolca (İspanya). Varsayılan dil, en-US bir dil belirtmezseniz olur. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz. dil tanımlama.

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

ve SPEECH__REGION ortam değişkenlerini yukarıda açıklandığı gibi ayarladığınızdan SPEECH__KEY 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 şeyin metin olarak çıkışı olmalıdır:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech to text.

Açıklamalar

Hızlı başlangıcı tamamladığınıza göre dikkat edilmesi gereken bazı ek noktalar şunlardır:

  • Bu örnekte, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemi kullanılır RecognizeOnceAsync . Çok dilli konuşmalar da dahil olmak üzere daha uzun ses için sürekli tanıma hakkında bilgi için bkz. Konuşmayı tanıma.
  • Ses dosyasından konuşma tanımak için yerine fromDefaultMicrophoneInputkullanınfromWavFileInput:
    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • MP4 gibi sıkıştırılmış ses dosyaları için GStreamer'ı yükleyin ve veya PushAudioInputStreamkullanınPullAudioInputStream. Daha fazla bilgi için bkz. Sıkıştırılmış giriş sesini kullanma.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Başvuru belgeleri | Paket (npm) | GitHub'da | Ek Örnekler Kitaplık kaynak kodu

Bu hızlı başlangıçta, insan konuşmasını tanımak ve dökümünü almak için bir uygulama çalıştıracaksınız (genellikle konuşmayı metne dönüştürme olarak adlandırılır).

İpucu

Speech Studio'da herhangi bir koda kaydolmadan veya yazmadan konuşmayı metne dönüştürmeyi deneyebilirsiniz.

Önkoşullar

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

Herhangi bir şey yapmadan önce JavaScript için Konuşma SDK'sını yüklemeniz gerekir. Yalnızca paket adının yüklenmesini istiyorsanız komutunu çalıştırın npm install microsoft-cognitiveservices-speech-sdk. Kılavuzlu yükleme yönergeleri için bkz. SDK yükleme kılavuzu.

Ortam değişkenlerini belirleme

Bilişsel Hizmetler kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamak ve bunlara erişmek için güvenli bir yol kullanın. Örneğin Konuşma kaynağınız için bir anahtar aldıktan sonra, bunu uygulamayı çalıştıran yerel makinedeki yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuza eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi diğer kimlik doğrulama seçenekleri için Bilişsel Hizmetler güvenlik makalesine bakın.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınızın yönergelerini izleyin. Ortam değişkenini SPEECH_KEY ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirin your-key .

setx SPEECH_KEY your-key

Not

Ortam değişkenine yalnızca geçerli çalışan konsolda erişmeniz gerekiyorsa ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okumak için gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Konuşma kaynak bölgenizin ortam değişkenini ayarlamak için aynı adımları izleyin. Kaynağınızın bölgesine ayarlayın SPEECH_REGION . Örneğin, westus.

Dosyadan konuşma tanıma

Konuşma tanıma için bir Node.js konsol uygulaması oluşturmak için bu adımları izleyin.

  1. Yeni projeyi istediğiniz yerde bir komut istemi açın ve adlı SpeechRecognition.jsyeni bir dosya oluşturun.

  2. JavaScript için Konuşma SDK'sını yükleyin:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Aşağıdaki kodu içine SpeechRecognition.jskopyalayı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();
    
  4. içinde SpeechRecognition.jsöğesini kendi WAV dosyanızla değiştirin YourAudioFile.wav . Bu örnek yalnızca WAV dosyasından konuşma tanır. Diğer ses biçimleri hakkında bilgi için bkz. Sıkıştırılmış giriş sesini kullanma. Bu örnek 30 saniyeye kadar sesi destekler.

  5. Konuşma tanıma dilini değiştirmek için değerini desteklenen başka bir dille değiştirinen-US. Örneğin, es-ES İspanyolca (İspanya). Varsayılan dil, en-US bir dil belirtmezseniz olur. Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz. dil tanımlama.

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__REGION ortam değişkenlerini yukarıda açıklandığı gibi ayarladığınızdan SPEECH__KEY 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ışı alınmalıdır:

RECOGNIZED: Text=I'm excited to try speech to text.

Açıklamalar

Hızlı başlangıcı tamamladığınıza göre dikkat edilmesi gereken bazı ek noktalar şunlardır:

Bu örnekte, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemi kullanılır recognizeOnceAsync . Çok dilli konuşmalar da dahil olmak üzere daha uzun ses için sürekli tanıma hakkında bilgi için bkz. Konuşmayı tanıma.

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 konuşmayı metne dönüştürme uygulamasına bakın. React örneği, kimlik doğrulama belirteçlerinin değişimi ve yönetimi için tasarım desenlerini gösterir. Konuşmadan metne dönüştürme için 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'ni (CLI) kullanabilirsiniz.

Başvuru belgeleri | Paket (İndir) | GitHub'da Ek Örnekler

Bu hızlı başlangıçta, insan konuşmasını tanımak ve dökümünü almak için bir uygulama çalıştıracaksınız (genellikle konuşmayı metne dönüştürme olarak adlandırılır).

İpucu

Speech Studio'da herhangi bir koda kaydolmadan veya yazmadan konuşmayı metne dönüştürmeyi deneyebilirsiniz.

Önkoşullar

Ortamı ayarlama

Objective-C 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 buradan 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

Bilişsel Hizmetler kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamak ve bunlara erişmek için güvenli bir yol kullanın. Örneğin Konuşma kaynağınız için bir anahtar aldıktan sonra, bunu uygulamayı çalıştıran yerel makinedeki yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuza eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi diğer kimlik doğrulama seçenekleri için Bilişsel Hizmetler güvenlik makalesine bakın.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminizle geliştirme ortamınızın yönergelerini izleyin. Ortam değişkenini SPEECH_KEY ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirin your-key .

setx SPEECH_KEY your-key

Not

Ortam değişkenine yalnızca geçerli çalışan konsolda erişmeniz gerekiyorsa ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okumak için gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Konuşma kaynak bölgenizin ortam değişkenini ayarlamak için aynı adımları izleyin. Kaynağınızın bölgesine ayarlayın SPEECH_REGION . Örneğin, westus.

Mikrofondan konuşmayı tanıma

MacOS uygulamasında konuşmayı tanımak için bu adımları izleyin.

  1. MacOS üzerinde Objective-C'deki 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.

  2. Terminalde indirilen örnek uygulamanın (helloworld) dizinine gidin.

  3. pod install komutunu çalıştırın. Bu, bağımlılık olarak hem örnek uygulamayı hem de Konuşma SDK'sını içeren bir Xcode çalışma alanı oluşturur helloworld.xcworkspace .

  4. Çalışma alanını helloworld.xcworkspace Xcode'da açın.

  5. adlı AppDelegate.m dosyayı açın ve burada gösterildiği gibi yöntemini bulun buttonPressed .

    - (void)buttonPressed:(NSButton *)button {
        // Creates an instance of a speech config with specified subscription key and service region.
        NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
        NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
        SPXAudioConfiguration *audioConfig = [[SPXAudioConfiguration alloc] initWithMicrophone:nil];
        SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:speechKey region:serviceRegion];
        SPXSpeechRecognizer *speechRecognizer = [[SPXSpeechRecognizer alloc] initWithSpeechConfiguration:speechConfig language:@"en-US" audioConfiguration:audioConfig];
    
        NSLog(@"Speak into your microphone.");
    
        SPXSpeechRecognitionResult *speechResult = [speechRecognizer recognizeOnce];
    
        // Checks result.
        if (SPXResultReason_Canceled == speechResult.reason) {
            SPXCancellationDetails *details = [[SPXCancellationDetails alloc] initFromCanceledRecognitionResult:speechResult];
            NSLog(@"Speech recognition was canceled: %@. Did you set the speech resource key and region values?", details.errorDetails);
            [self.label setStringValue:([NSString stringWithFormat:@"Canceled: %@", details.errorDetails])];
        } else if (SPXResultReason_RecognizedSpeech == speechResult.reason) {
            NSLog(@"Speech recognition result received: %@", speechResult.text);
            [self.label setStringValue:(speechResult.text)];
        } else {
            NSLog(@"There was an error.");
            [self.label setStringValue:(@"Speech Recognition Error")];
        }
    }
    
  6. içinde AppDelegate.m, Konuşma kaynak anahtarınız ve bölgeniz için önceden ayarladığınız ortam değişkenlerini kullanın.

    NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
    NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
  7. Konuşma tanıma dilini değiştirmek için değerini desteklenen başka bir dille değiştirinen-US. Örneğin, es-ES İspanyolca (İspanya) için. Varsayılan dil, bir dil belirtmezseniz olur en-US . Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz. Dil belirleme.

  8. Hata ayıklama çıkışını görünür hale getirin (Hata Ayıklama Alanı>Etkinleştirme KonsolunuGörüntüle>).

  9. Menüden Ürün>Çalıştırması'nı veya Yürüt düğmesini seçerek örnek kodu derleyin ve çalıştırın.

Önemli

ve SPEECH__REGION ortam değişkenlerini yukarıda açıklandığı gibi ayarladığınızdan SPEECH__KEY 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, uygulamaya bilgisayarınızın mikrofonu için erişim vermeniz istenir.

Açıklamalar

Hızlı başlangıcı tamamladığınıza göre dikkat edilmesi gereken bazı ek noktalar şunlardır:

  • Bu örnekte, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemi kullanılır recognizeOnce . Çok dilli konuşmalar da dahil olmak üzere daha uzun ses için sürekli tanıma hakkında bilgi için bkz. Konuşmayı tanıma.
  • Ses dosyasından konuşmayı tanımak için yerine initWithMicrophonekullanıninitWithWavFileInput:
    SPXAudioConfiguration *audioConfig = [[SPXAudioConfiguration alloc] initWithWavFileInput:YourAudioFile];
    

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Başvuru belgeleri | Paket (İndir) | GitHub'da Ek Örnekler

Bu hızlı başlangıçta, insan konuşmasını (genellikle konuşmayı metne dönüştürme olarak adlandırılır) tanımak ve bunların dökümünü almak için bir uygulama çalıştıracaksınız.

İpucu

Speech Studio'da herhangi bir kod yazmadan veya kaydolmadan konuşmayı metne dönüştürmeyi deneyebilirsiniz.

Önkoşullar

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 üzerinde Objective-C ve Swift'i destekler.

Konuşma SDK'sı, Xcode projelerinde CocoaPod olarak kullanılabilir veya doğrudan buradan 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

Bilişsel Hizmetler kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamak ve bunlara erişmek için güvenli bir yol kullanın. Örneğin, için bir anahtar aldıktan sonra, bunu uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuza eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi diğer kimlik doğrulama seçenekleri için Bilişsel Hizmetler güvenlik makalesine bakın.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin. Ortam değişkenini SPEECH_KEY ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirin your-key .

setx SPEECH_KEY your-key

Not

Yalnızca geçerli çalışan konsolda ortam değişkenine erişmeniz gerekiyorsa ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okumak için gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyiciniz olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Konuşma kaynak bölgenizin ortam değişkenini ayarlamak için aynı adımları izleyin. Kaynağınızın bölgesine ayarlayın SPEECH_REGION . Örneğin, westus.

Mikrofondan konuşmayı tanıma

MacOS uygulamasında konuşmayı tanımak için bu adımları izleyin.

  1. MacOS üzerinde Swift'te bir mikrofondan konuşmayı tanıma örnek projesini almak için Azure-Samples/cognitive-services-speech-sdk deposunu kopyalayın. Depoda iOS örnekleri de vardır.

  2. Terminalde indirilen örnek uygulamanın (helloworld) dizinine gidin.

  3. pod install komutunu çalıştırın. Bu, bağımlılık olarak hem örnek uygulamayı hem de Konuşma SDK'sını içeren bir Xcode çalışma alanı oluşturur helloworld.xcworkspace .

  4. Çalışma alanını helloworld.xcworkspace Xcode'da açın.

  5. adlı AppDelegate.swift dosyayı açın ve burada gösterildiği gibi ve recognizeFromMic yöntemlerini bulunapplicationDidFinishLaunching.

    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
            }
        }
    }
    
  6. içinde AppDelegate.m, Konuşma kaynak anahtarınız ve bölgeniz için önceden ayarladığınız ortam değişkenlerini kullanın.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. Konuşma tanıma dilini değiştirmek için değerini desteklenen başka bir dille değiştirinen-US. Örneğin, es-ES İspanyolca (İspanya) için. Varsayılan dil, bir dil belirtmezseniz olur en-US . Konuşulabilecek birden çok dilden birini belirleme hakkında ayrıntılı bilgi için bkz. Dil belirleme.

  8. Hata Ayıklama Alanını>Görüntüle>Konsolunu Etkinleştir'i seçerek hata ayıklama çıkışını görünür hale getirin.

  9. Menüden Ürün>Çalıştırması'nı veya Yürüt düğmesini seçerek örnek kodu derleyin ve çalıştırın.

Önemli

ve SPEECH__REGION ortam değişkenlerini yukarıda açıklandığı gibi ayarladığınızdan SPEECH__KEY 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, uygulamaya bilgisayarınızın mikrofonu için erişim vermeniz istenir.

Açıklamalar

Hızlı başlangıcı tamamladığınıza göre dikkat edilmesi gereken bazı ek noktalar şunlardır:

Bu örnekte, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemi kullanılır recognizeOnce . Çok dilli konuşmalar da dahil olmak üzere daha uzun ses için sürekli tanıma hakkında bilgi için bkz. Konuşmayı tanıma.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Başvuru belgeleri | Paket (PyPi) | GitHub'da Ek Örnekler

Bu hızlı başlangıçta, insan konuşmasını (genellikle konuşmayı metne dönüştürme olarak adlandırılır) tanımak ve bunların dökümünü almak için bir uygulama çalıştıracaksınız.

İpucu

Speech Studio'da herhangi bir kod yazmadan veya kaydolmadan konuşmayı metne dönüştürmeyi deneyebilirsiniz.

Önkoşullar

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.

Python'ın 3.7 ile 3.10 sürümlerini yükleyin. Daha fazla gereksinim için önce SDK yükleme kılavuzuna bakın.

Ortam değişkenlerini belirleme

Bilişsel Hizmetler kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamak ve bunlara erişmek için güvenli bir yol kullanın. Örneğin, için bir anahtar aldıktan sonra, bunu uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuza eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi diğer kimlik doğrulama seçenekleri için Bilişsel Hizmetler güvenlik makalesine bakın.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin. Ortam değişkenini SPEECH_KEY ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirin your-key .

setx SPEECH_KEY your-key

Not

Yalnızca geçerli çalışan konsolda ortam değişkenine erişmeniz gerekiyorsa ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okumak için gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyiciniz olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Konuşma kaynak bölgenizin ortam değişkenini ayarlamak için aynı adımları izleyin. Kaynağınızın bölgesine ayarlayın SPEECH_REGION . Örneğin, westus.

Mikrofondan konuşmayı tanıma

Yeni bir konsol uygulaması oluşturmak için bu adımları izleyin.

  1. Yeni projeyi istediğiniz yerde bir komut istemi açın ve adlı speech_recognition.pyyeni bir dosya oluşturun.

  2. Konuşma SDK'sını yüklemek için şu komutu çalıştırın:

    pip install azure-cognitiveservices-speech
    
  3. Aşağıdaki kodu içine speech_recognition.pykopyalayın:

    import os
    import azure.cognitiveservices.speech as speechsdk
    
    def recognize_from_microphone():
        # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION'))
        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 region values?")
    
    recognize_from_microphone()
    
  4. Konuşma tanıma dilini değiştirmek için değerini desteklenen başka bir dille değiştirinen-US. Örneğin, es-ES İspanyolca (İspanya) için. Varsayılan dil, bir dil belirtmezseniz olur en-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

ve SPEECH__REGION ortam değişkenlerini yukarıda açıklandığı gibi ayarladığınızdan SPEECH__KEY 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 çıkış olmalıdır:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech to text.

Açıklamalar

Hızlı başlangıcı tamamladığınıza göre dikkat edilmesi gereken bazı ek noktalar şunlardır:

  • Bu örnekte, 30 saniyeye kadar veya sessizlik algılanana kadar konuşmaların dökümünü almak için işlemi kullanılır recognize_once_async . Çok dilli konuşmalar da dahil olmak üzere daha uzun ses için sürekli tanıma hakkında bilgi için bkz. Konuşmayı tanıma.
  • Ses dosyasından konuşmayı tanımak için yerine use_default_microphonekullanınfilename:
    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • MP4 gibi sıkıştırılmış ses dosyaları için GStreamer'ı yükleyin ve veya PushAudioInputStreamkullanınPullAudioInputStream. Daha fazla bilgi için bkz. Sıkıştırılmış giriş sesini kullanma.

Kaynakları temizleme

Oluşturduğunuz Konuşma kaynağını kaldırmak için Azure portal veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Konuşmayı metne dönüştürme REST API başvurusu | Kısa ses başvurusu | için konuşmayı metne dönüştürme REST API'siGitHub'da Ek Örnekler

Bu hızlı başlangıçta, insan konuşmasını (genellikle konuşmayı metne dönüştürme olarak adlandırılır) tanımak ve bunların dökümünü almak için bir uygulama çalıştıracaksınız.

İpucu

Speech Studio'da herhangi bir kod yazmadan veya kaydolmadan konuşmayı metne dönüştürmeyi deneyebilirsiniz.

Önkoşullar

Ayrıca yerel makinenizde bir .wav ses dosyası da gerekir. Kendi .wav dosyanızı kullanabilir (30 saniyeye kadar) veya örnek dosyayı indirebilirsiniz https://crbn.us/whatstheweatherlike.wav .

Ortam değişkenlerini belirleme

Bilişsel Hizmetler kaynaklarına erişmek için uygulamanızın kimliğinin doğrulanması gerekir. Üretim için kimlik bilgilerinizi depolamak ve bunlara erişmek için güvenli bir yol kullanın. Örneğin, için bir anahtar aldıktan sonra, bunu uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın.

İpucu

Anahtarı doğrudan kodunuza eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi diğer kimlik doğrulama seçenekleri için Bilişsel Hizmetler güvenlik makalesine bakın.

Konuşma kaynak anahtarınızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin. Ortam değişkenini SPEECH_KEY ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirin your-key .

setx SPEECH_KEY your-key

Not

Yalnızca geçerli çalışan konsolda ortam değişkenine erişmeniz gerekiyorsa ortam değişkenini yerine setxile set ayarlayabilirsiniz.

Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okumak için gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyiciniz olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Konuşma kaynak bölgenizin ortam değişkenini ayarlamak için aynı adımları izleyin. Kaynağınızın bölgesine ayarlayın SPEECH_REGION . Örneğin, westus.

Dosyadan konuşma tanıma

Komut isteminde aşağıdaki cURL komutunu çalıştırın. yerine ses dosyanızın yolunu ve adını yazın YourAudioFile.wav .

audio_file=@'YourAudioFile.wav'

curl --location --request POST \
"https://${SPEECH_REGION}.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US" \
--header "Ocp-Apim-Subscription-Key: ${SPEECH_KEY}" \
--header "Content-Type: audio/wav" \
--data-binary $audio_file

Önemli

ve SPEECH__REGION ortam değişkenlerini yukarıda açıklandığı gibi ayarladığınızdan SPEECH__KEY 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. 30 saniyeye kadar ses tanınır ve metne dönüştürülü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'ni (CLI) kullanabilirsiniz.

Bu hızlı başlangıçta, insan konuşmasını (genellikle konuşmayı metne dönüştürme olarak adlandırılır) tanımak ve bunların dökümünü almak için bir uygulama çalıştıracaksınız.

İpucu

Speech Studio'da herhangi bir kod yazmadan veya kaydolmadan konuşmayı metne dönüştürmeyi deneyebilirsiniz.

Önkoşullar

Ortamı ayarlama

Platformunuza yönelik ek gereksinimler için bu adımları izleyin ve Konuşma CLI'sı hızlı başlangıcına bakın.

  1. Şu komutu girerek Konuşma CLI'sini .NET CLI aracılığıyla yükleyin:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Aşağıdaki komutları çalıştırarak Konuşma kaynak anahtarınızı ve bölgenizi yapılandırın. değerini SUBSCRIPTION-KEY Konuşma kaynak anahtarınızla, değerini de Konuşma kaynak bölgenizle değiştirin REGION :

    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 metne gerçek zamanlı olarak dökümünü görürsünüz. Konuşma CLI'si, 30 saniyelik bir sessizlik süresinden sonra veya Ctrl+C tuşlarına bastığınızda durur.

Connection CONNECTED...
RECOGNIZED: I'm excited to try speech to text.

Açıklamalar

Hızlı başlangıcı tamamladığınıza göre dikkat edilmesi gereken bazı ek noktalar şunlardır:

  • Ses dosyasından konuşmayı tanımak için yerine --microphonekullanın--file. MP4 gibi sıkıştırılmış ses dosyaları için GStreamer'ı yükleyin ve kullanın --format. Daha fazla bilgi için bkz. Sıkıştırılmış giriş sesini kullanma.
    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 bir tümcecik listesi kullanın. Bir tümcecik listesini satır içinde veya metin dosyasıyla birlikte recognize komutuyla birlikte eklersiniz:
    spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;"
    spx recognize --microphone --phrases @phrases.txt
    
  • Konuşma tanıma dilini değiştirmek için değerini desteklenen başka bir dille değiştirinen-US. Örneğin, es-ES İspanyolca (İspanya) için. Varsayılan dil, bir dil belirtmezseniz olur en-US .
    spx recognize --microphone --source es-ES
    
  • Sesin 30 saniyeden uzun süre sürekli tanınması için şunu ekle:--continuous
    spx recognize --microphone --source es-ES --continuous
    

Dosya girişi ve çıkışı gibi ek 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 veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Sonraki adımlar