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.
Konuşmayı metne çevirme REST API referansı | Kısa sesler için konuşmayı metne çevirme REST API referansı | GitHub'da ek örnekler
Kullanılabilir -lik
Rest API'yi sıkıştırılmış ses için kullanabilirsiniz, ancak buraya henüz bir kılavuz eklemedik. Başlamak ve kavramlar hakkında bilgi edinmek için lütfen başka bir programlama dili seçin.
Referans belgeleri | Paket (PyPi) | GitHub üzerindeki ek örnekler
Konuşma SDK'sı ve Konuşma CLI'sı, farklı giriş ses biçimlerini desteklemek için GStreamer kullanır. GStreamer, konuşma hizmetine ham PCM olarak gönderilmeden önce sesi açmaz.
Varsayılan ses akışı biçimi WAV 'dir (16 kHz veya 8 kHz, 16 bit ve mono PCM). WAV ve PCM dışında aşağıdaki sıkıştırılmış giriş biçimleri GStreamer aracılığıyla da desteklenir:
- MP3
- OPUS/OGG
- FLAC
- WAV kapsayıcısında ALAW
- WAV kapsayıcısında MULAW
- MP4 kapsayıcısı veya bilinmeyen medya biçimi için ANY
GStreamer yapılandırması
Konuşma SDK'sı sıkıştırılmış sesi işlemek için GStreamer'ı kullanabilir. Lisanslama nedenleriyle GStreamer ikili dosyaları derlenmemiş ve Konuşma SDK'sı ile bağlantılı değildir. Bazı bağımlılıkları ve eklentileri yüklemeniz gerekir.
GStreamer ikili dosyalarının çalışma zamanında Konuşma SDK'sı tarafından yüklenebilmesi için sistem yolunda olması gerekir. Örneğin, Windows üzerinde Konuşma SDK'sı çalışma zamanı sırasında libgstreamer-1.0-0.dll veya gstreamer-1.0-0.dll bulursa (en son GStreamer için), GStreamer ikili dosyalarının sistem yolunda olduğu anlamına gelir.
Yükleme yönergeleri için bir platform seçin.
Birkaç bağımlılık ve eklenti yüklemeniz gerekir.
sudo apt install libgstreamer1.0-0 \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly
Daha fazla bilgi için bkz . Linux yükleme yönergeleri ve desteklenen Linux dağıtımları ve hedef mimariler.
Örnek
Konuşma SDK'sını sıkıştırılmış ses girişini kabul edecek şekilde yapılandırmak için PullAudioInputStream veya PushAudioInputStream oluşturun. Ardından akış sınıfınızın bir örneğinden akışın sıkıştırma biçimini belirten bir AudioConfig oluşturun.
Varsayalım ki kullanım örneğiniz bir MP3 dosyası için PullStream kullanmak. Kodunuz şu şekilde görünebilir:
import azure.cognitiveservices.speech as speechsdk
class BinaryFileReaderCallback(speechsdk.audio.PullAudioInputStreamCallback):
def __init__(self, filename: str):
super().__init__()
self._file_h = open(filename, "rb")
def read(self, buffer: memoryview) -> int:
print('trying to read {} frames'.format(buffer.nbytes))
try:
size = buffer.nbytes
frames = self._file_h.read(size)
buffer[:len(frames)] = frames
print('read {} frames'.format(len(frames)))
return len(frames)
except Exception as ex:
print('Exception in `read`: {}'.format(ex))
raise
def close(self) -> None:
print('closing file')
try:
self._file_h.close()
except Exception as ex:
print('Exception in `close`: {}'.format(ex))
raise
def compressed_stream_helper(compressed_format,
mp3_file_path,
default_speech_auth):
callback = BinaryFileReaderCallback(mp3_file_path)
stream = speechsdk.audio.PullAudioInputStream(stream_format=compressed_format, pull_stream_callback=callback)
speech_config = speechsdk.SpeechConfig(**default_speech_auth)
audio_config = speechsdk.audio.AudioConfig(stream=stream)
speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config)
done = False
def stop_cb(evt):
"""callback that signals to stop continuous recognition upon receiving an event `evt`"""
print('CLOSING on {}'.format(evt))
nonlocal done
done = True
# Connect callbacks to the events fired by the speech recognizer
speech_recognizer.recognizing.connect(lambda evt: print('RECOGNIZING: {}'.format(evt)))
speech_recognizer.recognized.connect(lambda evt: print('RECOGNIZED: {}'.format(evt)))
speech_recognizer.session_started.connect(lambda evt: print('SESSION STARTED: {}'.format(evt)))
speech_recognizer.session_stopped.connect(lambda evt: print('SESSION STOPPED {}'.format(evt)))
speech_recognizer.canceled.connect(lambda evt: print('CANCELED {}'.format(evt)))
# stop continuous recognition on either session stopped or canceled events
speech_recognizer.session_stopped.connect(stop_cb)
speech_recognizer.canceled.connect(stop_cb)
# Start continuous speech recognition
speech_recognizer.start_continuous_recognition()
while not done:
time.sleep(.5)
speech_recognizer.stop_continuous_recognition()
def pull_audio_input_stream_compressed_mp3(mp3_file_path: str,
default_speech_auth):
# Create a compressed format
compressed_format = speechsdk.audio.AudioStreamFormat(compressed_stream_format=speechsdk.AudioStreamContainerFormat.MP3)
compressed_stream_helper(compressed_format, mp3_file_path, default_speech_auth)
Referans Belgeleri | Paket (NuGet) | GitHub'ta ek örnekler
Konuşma SDK'sı ve Konuşma CLI'sı, farklı giriş ses biçimlerini desteklemek için GStreamer kullanır. GStreamer, konuşma hizmetine ham PCM olarak gönderilmeden önce sesi açmaz.
Varsayılan ses akışı biçimi WAV 'dir (16 kHz veya 8 kHz, 16 bit ve mono PCM). WAV ve PCM dışında aşağıdaki sıkıştırılmış giriş biçimleri GStreamer aracılığıyla da desteklenir:
- MP3
- OPUS/OGG
- FLAC
- WAV kapsayıcısında ALAW
- WAV kapsayıcısında MULAW
- MP4 kapsayıcısı veya bilinmeyen medya biçimi için ANY
GStreamer yapılandırması
Konuşma SDK'sı sıkıştırılmış sesi işlemek için GStreamer'ı kullanabilir. Lisanslama nedenleriyle GStreamer ikili dosyaları derlenmemiş ve Konuşma SDK'sı ile bağlantılı değildir. Bazı bağımlılıkları ve eklentileri yüklemeniz gerekir.
GStreamer ikili dosyalarının çalışma zamanında Konuşma SDK'sı tarafından yüklenebilmesi için sistem yolunda olması gerekir. Örneğin, Windows üzerinde Konuşma SDK'sı çalışma zamanı sırasında libgstreamer-1.0-0.dll veya gstreamer-1.0-0.dll bulursa (en son GStreamer için), GStreamer ikili dosyalarının sistem yolunda olduğu anlamına gelir.
Yükleme yönergeleri için bir platform seçin.
Birkaç bağımlılık ve eklenti yüklemeniz gerekir.
sudo apt install libgstreamer1.0-0 \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly
Daha fazla bilgi için bkz . Linux yükleme yönergeleri ve desteklenen Linux dağıtımları ve hedef mimariler.
Örnek
Konuşma SDK'sını sıkıştırılmış ses girişini kabul edecek şekilde yapılandırmak için PullAudioInputStream veya PushAudioInputStream oluşturun. Ardından akış sınıfınızın bir örneğinden akışın sıkıştırma biçimini belirten bir AudioConfig oluşturun. İlgili örnek kod parçacıklarını Konuşma SDK'sı ses giriş akışı API'si hakkında bölümünde bulabilirsiniz.
adlı pullStream bir giriş akışı sınıfınız olduğunu ve OPUS/OGG kullandığını varsayalım. Kodunuz şu şekilde görünebilir:
using Microsoft.CognitiveServices.Speech;
using Microsoft.CognitiveServices.Speech.Audio;
// ... omitted for brevity
var speechConfig =
SpeechConfig.FromSubscription(
"YourSpeechResoureKey",
"YourServiceRegion");
// Create an audio config specifying the compressed
// audio format and the instance of your input stream class.
var pullStream = AudioInputStream.CreatePullStream(
AudioStreamFormat.GetCompressedFormat(AudioStreamContainerFormat.OGG_OPUS));
var audioConfig = AudioConfig.FromStreamInput(pullStream);
using var recognizer = new SpeechRecognizer(speechConfig, audioConfig);
var result = await recognizer.RecognizeOnceAsync();
var text = result.Text;
JavaScript için Konuşma SDK'sı sıkıştırılmış sesi desteklemez.
Varsayılan ses akışı biçimi WAV 'dir (16 kHz veya 8 kHz, 16 bit ve mono PCM). Sıkıştırılmış bir ses dosyasını (mp3 gibi) giriş yapmak için, önce bunu varsayılan giriş biçiminde bir WAV dosyasına dönüştürmeniz gerekir. Sıkıştırılmış ses akışı yapmak için önce ses arabelleklerinin kodunu varsayılan giriş biçimine çözmeniz gerekir. Daha fazla bilgi için bkz. Ses giriş akışını kullanma.
Referans belgeleri | GitHub'da ek örnekler
Konuşma SDK'sı ve Konuşma CLI'sı, farklı giriş ses biçimlerini desteklemek için GStreamer kullanır. GStreamer, konuşma hizmetine ham PCM olarak gönderilmeden önce sesi açmaz.
Varsayılan ses akışı biçimi WAV 'dir (16 kHz veya 8 kHz, 16 bit ve mono PCM). WAV ve PCM dışında aşağıdaki sıkıştırılmış giriş biçimleri GStreamer aracılığıyla da desteklenir:
- MP3
- OPUS/OGG
- FLAC
- WAV kapsayıcısında ALAW
- WAV kapsayıcısında MULAW
- MP4 kapsayıcısı veya bilinmeyen medya biçimi için ANY
GStreamer yapılandırması
Konuşma SDK'sı sıkıştırılmış sesi işlemek için GStreamer'ı kullanabilir. Lisanslama nedenleriyle GStreamer ikili dosyaları derlenmemiş ve Konuşma SDK'sı ile bağlantılı değildir. Bazı bağımlılıkları ve eklentileri yüklemeniz gerekir.
GStreamer ikili dosyalarının çalışma zamanında Konuşma SDK'sı tarafından yüklenebilmesi için sistem yolunda olması gerekir. Örneğin, Windows üzerinde Konuşma SDK'sı çalışma zamanı sırasında libgstreamer-1.0-0.dll veya gstreamer-1.0-0.dll bulursa (en son GStreamer için), GStreamer ikili dosyalarının sistem yolunda olduğu anlamına gelir.
Yükleme yönergeleri için bir platform seçin.
Sıkıştırılmış sesi işleme , GStreamer kullanılarak uygulanır. Lisanslama nedenleriyle GStreamer ikili dosyaları derlenmemiş ve Konuşma SDK'sı ile bağlantılı değildir. Bunun yerine, Android için hazır ikili dosyaları kullanmanız gerekir. Önceden oluşturulmuş kitaplıkları indirmek için "Android geliştirme için yükleme" konusuna bakın.
libgstreamer_android.so Nesnesi gereklidir. Tüm GStreamer eklentilerinin, aşağıdaki Android.mk dosyasından libgstreamer_android.so içinde bağlantılı olduğundan emin olun. Konuşma SDK'sını GStreamer sürüm 1.18.3 ile kullandığınızda, libc++_shared.so android ndk'den de mevcut olması gerekir.
GSTREAMER_PLUGINS := coreelements app audioconvert mpg123 \
audioresample audioparsers ogg opusparse \
opus wavparse alaw mulaw flac
Burada bir örnek Android.mk ve Application.mk dosya sağlanır. Paylaşılan nesneyi oluşturmak gstreamer için şu adımları izleyin:libgstreamer_android.so
# Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := dummy
LOCAL_SHARED_LIBRARIES := gstreamer_android
include $(BUILD_SHARED_LIBRARY)
ifndef GSTREAMER_ROOT_ANDROID
$(error GSTREAMER_ROOT_ANDROID is not defined!)
endif
ifndef APP_BUILD_SCRIPT
$(error APP_BUILD_SCRIPT is not defined!)
endif
ifndef TARGET_ARCH_ABI
$(error TARGET_ARCH_ABI is not defined!)
endif
ifeq ($(TARGET_ARCH_ABI),armeabi)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/arm
else ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/armv7
else ifeq ($(TARGET_ARCH_ABI),arm64-v8a)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/arm64
else ifeq ($(TARGET_ARCH_ABI),x86)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/x86
else ifeq ($(TARGET_ARCH_ABI),x86_64)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/x86_64
else
$(error Target arch ABI not supported: $(TARGET_ARCH_ABI))
endif
GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_ROOT)/share/gst-android/ndk-build/
include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk
GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) \
$(GSTREAMER_PLUGINS_CODECS) \
$(GSTREAMER_PLUGINS_PLAYBACK) \
$(GSTREAMER_PLUGINS_CODECS_GPL) \
$(GSTREAMER_PLUGINS_CODECS_RESTRICTED)
GSTREAMER_EXTRA_LIBS := -liconv -lgstbase-1.0 -lGLESv2 -lEGL
include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk
# Application.mk
APP_STL = c++_shared
APP_PLATFORM = android-21
APP_BUILD_SCRIPT = Android.mk
Ubuntu 18.04 veya 20.04'te aşağıdaki komutu kullanarak oluşturabilirsiniz libgstreamer_android.so . Aşağıdaki komut satırları Android NDK b16b ile [GStreamer Android sürüm 1.14.4] için test edilmiştir.
# Assuming wget and unzip are already installed on the system
mkdir buildLibGstreamer
cd buildLibGstreamer
wget https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip
unzip -q -o android-ndk-r16b-linux-x86_64.zip
export PATH=$PATH:$(pwd)/android-ndk-r16b
export NDK_PROJECT_PATH=$(pwd)/android-ndk-r16b
wget https://gstreamer.freedesktop.org/download/
mkdir gstreamer_android
tar -xjf gstreamer-1.0-android-universal-1.14.4.tar.bz2 -C $(pwd)/gstreamer_android/
export GSTREAMER_ROOT_ANDROID=$(pwd)/gstreamer_android
mkdir gstreamer
# Copy the Application.mk and Android.mk from the documentation above and put it inside $(pwd)/gstreamer
# Enable only one of the following at one time to create the shared object for the targeted ABI
echo "building for armeabi-v7a. libgstreamer_android.so will be placed in $(pwd)/armeabi-v7a"
ndk-build -C $(pwd)/gstreamer "NDK_APPLICATION_MK=Application.mk" APP_ABI=armeabi-v7a NDK_LIBS_OUT=$(pwd)
#echo "building for arm64-v8a. libgstreamer_android.so will be placed in $(pwd)/arm64-v8a"
#ndk-build -C $(pwd)/gstreamer "NDK_APPLICATION_MK=Application.mk" APP_ABI=arm64-v8a NDK_LIBS_OUT=$(pwd)
#echo "building for x86_64. libgstreamer_android.so will be placed in $(pwd)/x86_64"
#ndk-build -C $(pwd)/gstreamer "NDK_APPLICATION_MK=Application.mk" APP_ABI=x86_64 NDK_LIBS_OUT=$(pwd)
#echo "building for x86. libgstreamer_android.so will be placed in $(pwd)/x86"
#ndk-build -C $(pwd)/gstreamer "NDK_APPLICATION_MK=Application.mk" APP_ABI=x86 NDK_LIBS_OUT=$(pwd)
Paylaşılan nesne (libgstreamer_android.so) oluşturulduktan sonra, Konuşma SDK'sının yükleyebilmesi için paylaşılan nesneyi Android uygulamasına yerleştirin.
Örnek
Konuşma SDK'sını sıkıştırılmış ses girişini kabul etmek üzere yapılandırmak için bir PullAudioInputStream veya PushAudioInputStream oluşturun. Ardından akış sınıfınızın bir örneğinden akışın sıkıştırma biçimini belirten bir AudioConfig oluşturun.
Speech SDK örnekleri ilgili örnek kodunu bulun.
adlı pullAudio bir giriş akışı sınıfınız olduğunu ve MP3 kullandığınızı varsayalım. Kodunuz şu şekilde görünebilir:
String filePath = "whatstheweatherlike.mp3";
PullAudioInputStream pullAudio = AudioInputStream.createPullStream(new BinaryAudioStreamReader(filePath),
AudioStreamFormat.getCompressedFormat(AudioStreamContainerFormat.MP3));
AudioConfig audioConfig = AudioConfig.fromStreamInput(pullAudio);
Referans Belgeleri | Paket (NuGet) | GitHub'ta ek örnekler
Konuşma SDK'sı ve Konuşma CLI'sı, farklı giriş ses biçimlerini desteklemek için GStreamer kullanır. GStreamer, ses verilerini ham PCM olarak konuşma hizmetine gönderilmeden önce sıkıştırmayı açar.
Varsayılan ses akışı biçimi WAV 'dir (16 kHz veya 8 kHz, 16 bit ve mono PCM). WAV ve PCM dışında aşağıdaki sıkıştırılmış giriş biçimleri GStreamer aracılığıyla da desteklenir:
- MP3
- OPUS/OGG
- FLAC
- WAV kapsayıcısında ALAW
- WAV kapsayıcısında MULAW
- MP4 kapsayıcısı veya bilinmeyen medya biçimi için ANY
GStreamer yapılandırması
Konuşma SDK'sı sıkıştırılmış sesi işlemek için GStreamer'ı kullanabilir. Lisanslama nedenleriyle GStreamer ikili dosyaları derlenmemiş ve Konuşma SDK'sı ile bağlantılı değildir. Bazı bağımlılıkları ve eklentileri yüklemeniz gerekir.
GStreamer ikili dosyalarının çalışma zamanında Konuşma SDK'sı tarafından yüklenebilmesi için sistem yolunda olması gerekir. Örneğin, Windows üzerinde Konuşma SDK'sı çalışma zamanı sırasında libgstreamer-1.0-0.dll veya gstreamer-1.0-0.dll bulursa (en son GStreamer için), GStreamer ikili dosyalarının sistem yolunda olduğu anlamına gelir.
Yükleme yönergeleri için bir platform seçin.
Birkaç bağımlılık ve eklenti yüklemeniz gerekir.
sudo apt install libgstreamer1.0-0 \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly
Daha fazla bilgi için bkz . Linux yükleme yönergeleri ve desteklenen Linux dağıtımları ve hedef mimariler.
Örnek
Konuşma SDK'sını sıkıştırılmış ses girişini kabul edecek şekilde yapılandırmak için PullAudioInputStream veya PushAudioInputStream oluşturun. Ardından akış sınıfınızın bir örneğinden akışın sıkıştırma biçimini belirten bir AudioConfig oluşturun.
Speech SDK örnekleri ilgili örnek kodunu bulun.
adlı pushStream bir giriş akışı sınıfınız olduğunu ve OPUS/OGG kullandığını varsayalım. Kodunuz şu şekilde görünebilir:
using namespace Microsoft::CognitiveServices::Speech;
using namespace Microsoft::CognitiveServices::Speech::Audio;
// ... omitted for brevity
auto config =
SpeechConfig::FromSubscription(
"YourSpeechResoureKey",
"YourServiceRegion"
);
// Create an audio config specifying the compressed
// audio format and the instance of your input stream class.
auto pullStream = AudioInputStream::CreatePullStream(
AudioStreamFormat::GetCompressedFormat(AudioStreamContainerFormat::OGG_OPUS));
auto audioConfig = AudioConfig::FromStreamInput(pullStream);
auto recognizer = SpeechRecognizer::FromConfig(config, audioConfig);
auto result = recognizer->RecognizeOnceAsync().get();
auto text = result->Text;
Referans belgeleri | package (Go) | GitHub'daki ek örnekler
Konuşma SDK'sı ve Konuşma CLI'sı, farklı giriş ses biçimlerini desteklemek için GStreamer kullanır. GStreamer, konuşma hizmetine ham PCM olarak gönderilmeden önce sesi açmaz.
Varsayılan ses akışı biçimi WAV 'dir (16 kHz veya 8 kHz, 16 bit ve mono PCM). WAV ve PCM dışında aşağıdaki sıkıştırılmış giriş biçimleri GStreamer aracılığıyla da desteklenir:
- MP3
- OPUS/OGG
- FLAC
- WAV kapsayıcısında ALAW
- WAV kapsayıcısında MULAW
- MP4 kapsayıcısı veya bilinmeyen medya biçimi için ANY
GStreamer yapılandırması
Konuşma SDK'sı sıkıştırılmış sesi işlemek için GStreamer'ı kullanabilir. Lisanslama nedenleriyle GStreamer ikili dosyaları derlenmemiş ve Konuşma SDK'sı ile bağlantılı değildir. Bazı bağımlılıkları ve eklentileri yüklemeniz gerekir.
Birkaç bağımlılık ve eklenti yüklemeniz gerekir.
sudo apt install libgstreamer1.0-0 \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly
Daha fazla bilgi için bkz . Linux yükleme yönergeleri ve desteklenen Linux dağıtımları ve hedef mimariler.
Örnek
Konuşma SDK'sını sıkıştırılmış ses girişini kabul etmek üzere yapılandırmak için bir PullAudioInputStream veya PushAudioInputStream oluşturun. Ardından akış sınıfınızın bir örneğinden akışın sıkıştırma biçimini belirten bir AudioConfig oluşturun.
Aşağıdaki örnekte, kullanım örneğinizin PushStream etiketiyle sıkıştırılmış bir dosya için olduğunu varsayalım.
package recognizer
import (
"fmt"
"time"
"strings"
"github.com/Microsoft/cognitive-services-speech-sdk-go/audio"
"github.com/Microsoft/cognitive-services-speech-sdk-go/speech"
"github.com/Microsoft/cognitive-services-speech-sdk-go/samples/helpers"
)
func RecognizeOnceFromCompressedFile(subscription string, region string, file string) {
var containerFormat audio.AudioStreamContainerFormat
if strings.Contains(file, ".mulaw") {
containerFormat = audio.MULAW
} else if strings.Contains(file, ".alaw") {
containerFormat = audio.ALAW
} else if strings.Contains(file, ".mp3") {
containerFormat = audio.MP3
} else if strings.Contains(file, ".flac") {
containerFormat = audio.FLAC
} else if strings.Contains(file, ".opus") {
containerFormat = audio.OGGOPUS
} else {
containerFormat = audio.ANY
}
format, err := audio.GetCompressedFormat(containerFormat)
if err != nil {
fmt.Println("Got an error: ", err)
return
}
defer format.Close()
stream, err := audio.CreatePushAudioInputStreamFromFormat(format)
if err != nil {
fmt.Println("Got an error: ", err)
return
}
defer stream.Close()
audioConfig, err := audio.NewAudioConfigFromStreamInput(stream)
if err != nil {
fmt.Println("Got an error: ", err)
return
}
defer audioConfig.Close()
config, err := speech.NewSpeechConfigFromSubscription(subscription, region)
if err != nil {
fmt.Println("Got an error: ", err)
return
}
defer config.Close()
speechRecognizer, err := speech.NewSpeechRecognizerFromConfig(config, audioConfig)
if err != nil {
fmt.Println("Got an error: ", err)
return
}
defer speechRecognizer.Close()
speechRecognizer.SessionStarted(func(event speech.SessionEventArgs) {
defer event.Close()
fmt.Println("Session Started (ID=", event.SessionID, ")")
})
speechRecognizer.SessionStopped(func(event speech.SessionEventArgs) {
defer event.Close()
fmt.Println("Session Stopped (ID=", event.SessionID, ")")
})
helpers.PumpFileIntoStream(file, stream)
task := speechRecognizer.RecognizeOnceAsync()
var outcome speech.SpeechRecognitionOutcome
select {
case outcome = <-task:
case <-time.After(40 * time.Second):
fmt.Println("Timed out")
return
}
defer outcome.Close()
if outcome.Error != nil {
fmt.Println("Got an error: ", outcome.Error)
}
fmt.Println("Got a recognition!")
fmt.Println(outcome.Result.Text)
}
Objective-C için Konuşma SDK'sı sıkıştırılmış sesi desteklemez.
Varsayılan ses akışı biçimi WAV 'dir (16 kHz veya 8 kHz, 16 bit ve mono PCM). Sıkıştırılmış bir ses dosyasını (mp3 gibi) giriş yapmak için, önce bunu varsayılan giriş biçiminde bir WAV dosyasına dönüştürmeniz gerekir. Sıkıştırılmış ses akışı yapmak için önce ses arabelleklerinin kodunu varsayılan giriş biçimine çözmeniz gerekir. Daha fazla bilgi için bkz. Ses giriş akışını kullanma.
Konuşma SDK'sı ve Konuşma CLI'sı, farklı giriş ses biçimlerini desteklemek için GStreamer kullanır. GStreamer, konuşma hizmetine ham PCM olarak gönderilmeden önce sesi açmaz.
Varsayılan ses akışı biçimi WAV 'dir (16 kHz veya 8 kHz, 16 bit ve mono PCM). WAV ve PCM dışında aşağıdaki sıkıştırılmış giriş biçimleri GStreamer aracılığıyla da desteklenir:
- MP3
- OPUS/OGG
- FLAC
- WAV kapsayıcısında ALAW
- WAV kapsayıcısında MULAW
- MP4 kapsayıcısı veya bilinmeyen medya biçimi için ANY
GStreamer yapılandırması
Konuşma CLI'sı sıkıştırılmış sesi işlemek için GStreamer'ı kullanabilir. Lisanslama nedenleriyle GStreamer ikili dosyaları derlenmemiş ve Konuşma CLI'sı ile bağlantılı değildir. Bazı bağımlılıkları ve eklentileri yüklemeniz gerekir.
GStreamer ikili dosyalarının çalışma anında Speech CLI tarafından yüklenebilmesi için sistem yolunda olması gerekir. Örneğin, Windows'da, Speech CLI çalışma zamanı sırasında libgstreamer-1.0-0.dll veya gstreamer-1.0-0.dll (en son GStreamer için) bulursa, bu GStreamer ikili dosyalarının sistem yolunda olduğu anlamına gelir.
Yükleme yönergeleri için bir platform seçin.
Birkaç bağımlılık ve eklenti yüklemeniz gerekir.
sudo apt install libgstreamer1.0-0 \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly
Daha fazla bilgi için bkz . Linux yükleme yönergeleri ve desteklenen Linux dağıtımları ve hedef mimariler.
Örnek
--format seçeneği, tanınmakta olan ses dosyasının kapsayıcı biçimini belirtir. Bir mp4 dosyası için, aşağıdaki komutta gösterildiği gibi biçimi any olarak ayarlayın:
spx recognize --file YourAudioFile.mp4 --format any
Desteklenen ses biçimlerinin listesini almak için aşağıdaki komutu çalıştırın:
spx help recognize format
Swift için Konuşma SDK'sı sıkıştırılmış sesi desteklemez.
Varsayılan ses akışı biçimi WAV 'dir (16 kHz veya 8 kHz, 16 bit ve mono PCM). Sıkıştırılmış bir ses dosyasını (mp3 gibi) giriş yapmak için, önce bunu varsayılan giriş biçiminde bir WAV dosyasına dönüştürmeniz gerekir. Sıkıştırılmış ses akışı yapmak için önce ses arabelleklerinin kodunu varsayılan giriş biçimine çözmeniz gerekir. Daha fazla bilgi için bkz. Ses giriş akışını kullanma.