Microsoft Ses Yığını'nı (MAS) kullanma
Konuşma SDK'sı Microsoft Ses Yığını'nı (MAS) tümleştirerek herhangi bir uygulamanın veya ürünün giriş sesinde ses işleme özelliklerini kullanmasına olanak tanır. Genel bakış için Ses işleme belgelerine bakın.
Bu makalede, Microsoft Ses Yığını'nı (MAS) Konuşma SDK'sı ile kullanmayı öğreneceksiniz.
Önemli
C++ ve C# v1.33.0 ve üzeri sürümler için Konuşma SDK'sında, Microsoft.CognitiveServices.Speech.Extension.MAS
Windows'da Microsoft Ses Yığını'nı kullanmak için paketin yüklenmesi ve NuGet kullanarak Konuşma SDK'sını yüklerseniz Linux'ta yüklü olması gerekir.
Varsayılan seçenekler
Bu örnek, cihazın varsayılan mikrofonundan gelen girişlerde tüm varsayılan geliştirme seçenekleriyle MAS'nin nasıl kullanılacağını gösterir.
var speechConfig = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");
var audioProcessingOptions = AudioProcessingOptions.Create(AudioProcessingConstants.AUDIO_INPUT_PROCESSING_ENABLE_DEFAULT);
var audioInput = AudioConfig.FromDefaultMicrophoneInput(audioProcessingOptions);
var recognizer = new SpeechRecognizer(speechConfig, audioInput);
Önceden ayarlanmış mikrofon geometrisi
Bu örnek, belirtilen ses giriş cihazında önceden tanımlanmış bir mikrofon geometrisi ile MAS'nin nasıl kullanılacağını gösterir. Bu örnekte:
- Geliştirme seçenekleri - Giriş ses akışına varsayılan geliştirmeler uygulanır.
- Önceden ayarlanmış geometri - Önceden ayarlanmış geometri doğrusal bir 2 mikrofonlu diziyi temsil eder.
- Ses giriş cihazı - Ses giriş cihazı kimliği şeklindedir
hw:0,1
. Ses giriş cihazı seçme hakkında daha fazla bilgi için bkz . Nasıl yapılır: Konuşma SDK'sı ile ses giriş cihazı seçme.
var speechConfig = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");
var audioProcessingOptions = AudioProcessingOptions.Create(AudioProcessingConstants.AUDIO_INPUT_PROCESSING_ENABLE_DEFAULT, PresetMicrophoneArrayGeometry.Linear2);
var audioInput = AudioConfig.FromMicrophoneInput("hw:0,1", audioProcessingOptions);
var recognizer = new SpeechRecognizer(speechConfig, audioInput);
Özel mikrofon geometrisi
Bu örnek, belirtilen ses giriş cihazında özel bir mikrofon geometrisi ile MAS'nin nasıl kullanılacağını gösterir. Bu örnekte:
- Geliştirme seçenekleri - Giriş ses akışına varsayılan geliştirmeler uygulanır.
- Özel geometri - 7 mikrofonlu bir dizi için özel mikrofon geometrisi, mikrofon koordinatları aracılığıyla sağlanır. Koordinatların birimleri milimetredir.
- Ses girişi - Ses girişi, dosyadaki sesin belirtilen özel geometriye karşılık gelen bir ses giriş cihazından beklendiği bir dosyadan alınmıştı.
var speechConfig = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");
MicrophoneCoordinates[] microphoneCoordinates = new MicrophoneCoordinates[7]
{
new MicrophoneCoordinates(0, 0, 0),
new MicrophoneCoordinates(40, 0, 0),
new MicrophoneCoordinates(20, -35, 0),
new MicrophoneCoordinates(-20, -35, 0),
new MicrophoneCoordinates(-40, 0, 0),
new MicrophoneCoordinates(-20, 35, 0),
new MicrophoneCoordinates(20, 35, 0)
};
var microphoneArrayGeometry = new MicrophoneArrayGeometry(MicrophoneArrayType.Planar, microphoneCoordinates);
var audioProcessingOptions = AudioProcessingOptions.Create(AudioProcessingConstants.AUDIO_INPUT_PROCESSING_ENABLE_DEFAULT, microphoneArrayGeometry, SpeakerReferenceChannel.LastChannel);
var audioInput = AudioConfig.FromWavFileInput("katiesteve.wav", audioProcessingOptions);
var recognizer = new SpeechRecognizer(speechConfig, audioInput);
Geliştirmeleri seçin
Bu örnek, giriş sesinde özel bir geliştirme kümesiyle MAS'nin nasıl kullanılacağını gösterir. Varsayılan olarak, tüm geliştirmeler etkinleştirilir, ancak kullanarak AudioProcessingOptions
ayrı ayrı dereverberation, noise suppression, otomatik kazanç denetimi ve yankı iptalini devre dışı bırakma seçenekleri vardır.
Bu örnekte:
- Geliştirme seçenekleri - Yankı iptali ve gürültü engelleme devre dışı bırakılırken diğer tüm geliştirmeler etkin kalır.
- Ses giriş cihazı - Ses giriş cihazı, cihazın varsayılan mikrofonudur.
var speechConfig = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");
var audioProcessingOptions = AudioProcessingOptions.Create(AudioProcessingConstants.AUDIO_INPUT_PROCESSING_DISABLE_ECHO_CANCELLATION | AudioProcessingConstants.AUDIO_INPUT_PROCESSING_DISABLE_NOISE_SUPPRESSION | AudioProcessingConstants.AUDIO_INPUT_PROCESSING_ENABLE_DEFAULT);
var audioInput = AudioConfig.FromDefaultMicrophoneInput(audioProcessingOptions);
var recognizer = new SpeechRecognizer(speechConfig, audioInput);
Hüzme oluşturma açılarını belirtme
Bu örnek, belirtilen ses giriş cihazında özel bir mikrofon geometrisi ve ışın oluşturma açıları ile MAS'nin nasıl kullanılacağını gösterir. Bu örnekte:
- Geliştirme seçenekleri - Giriş ses akışına varsayılan geliştirmeler uygulanır.
- Özel geometri - 4 mikrofonlu bir dizi için özel mikrofon geometrisi, mikrofon koordinatları belirtilerek sağlanır. Koordinatların birimleri milimetredir.
- Hüzme oluşturma açıları - Beamforming açıları, bu aralıktaki ses için optimize etmek üzere belirtilir. Açı birimleri derecedir.
- Ses girişi - Ses girişi, akışın içindeki sesin belirtilen özel geometriye karşılık gelen bir ses giriş cihazından beklendiği bir gönderim akışından yapılır.
Aşağıdaki kod örneğinde başlangıç açısı 70 derece, bitiş açısı ise 110 derece olarak ayarlanmıştır.
var speechConfig = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");
MicrophoneCoordinates[] microphoneCoordinates = new MicrophoneCoordinates[4]
{
new MicrophoneCoordinates(-60, 0, 0),
new MicrophoneCoordinates(-20, 0, 0),
new MicrophoneCoordinates(20, 0, 0),
new MicrophoneCoordinates(60, 0, 0)
};
var microphoneArrayGeometry = new MicrophoneArrayGeometry(MicrophoneArrayType.Linear, 70, 110, microphoneCoordinates);
var audioProcessingOptions = AudioProcessingOptions.Create(AudioProcessingConstants.AUDIO_INPUT_PROCESSING_ENABLE_DEFAULT, microphoneArrayGeometry, SpeakerReferenceChannel.LastChannel);
var pushStream = AudioInputStream.CreatePushStream();
var audioInput = AudioConfig.FromStreamInput(pushStream, audioProcessingOptions);
var recognizer = new SpeechRecognizer(speechConfig, audioInput);
Yankı iptali için başvuru kanalı
Microsoft Ses Yığını, yankı iptali gerçekleştirmek için başvuru kanalını (geri döngü kanalı olarak da bilinir) gerektirir. Başvuru kanalının kaynağı platforma göre değişir:
- Windows - Başvuru kanalı, oluşturulurken
AudioProcessingOptions
seçeneği sağlanırsa Konuşma SDK'sıSpeakerReferenceChannel::LastChannel
tarafından otomatik olarak toplanır. - Linux - ALSA (Gelişmiş Linux Ses Mimarisi), kullanılan ses giriş cihazının son kanalı olarak başvuru ses akışını sağlayacak şekilde yapılandırılmalıdır. ALSA, oluştururken
AudioProcessingOptions
seçeneğini sağlamayaSpeakerReferenceChannel::LastChannel
ek olarak yapılandırılır.
Dil ve platform desteği
Dil | Platform | Başvuru belgeleri |
---|---|---|
C++ | Windows, Linux | C++ belgeleri |
C# | Windows, Linux | C# belgeleri |
Java | Windows, Linux | Java belgeleri |
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin