Мне нужно преобразовать речь из файла WAV в текст.Поэтому я скачал пример проекта кода C # из Quickstart: распознавание речи с помощью речевого сервиса C # SDK и следовал инструкциям на странице.
Он работает в Windows 10, но мне нужнопроект для работы на Windows Servers 2012 R2, и он не работает на Windows Servers 2012 R2.
Когда я запускаю его на Windows Servers 2012 R2, я нажимаю клавишу 3 для 3.Распознавание речи с возможностью ввода файла .Но когда он пытается выполнить следующий код (с действительными значениями подписки и региона)
var factory = SpeechFactory.FromSubscription("YourSubscriptionKey", "YourServiceRegion");
Выдается следующее исключение:
Произошло исключение System.TypeInitializationException HResult = 0x80131534 Сообщение =Инициализатор типа для «Microsoft.CognitiveServices.Speech.Internal.carbon_csharpPINVOKE» вызвал исключение.Source = Microsoft.CognitiveServices.Speech.csharp StackTrace: в Microsoft.CognitiveServices.Speech.Internal.carbon_csharpPINVOKE.SpeechFactory_FromSubscription (Строка jarg1, Строка jarg2) в Microsoft.CognitiveService.SigningSignFringSigning.Spection.FringMicrosoft.CognitiveServices.Speech.SpeechFactory.FromSubscription (String subscriptionKey, String region) в MicrosoftSpeechSDKSamples.SpeechRecognitionSamples.d__2.MoveNext () в C: \ temp \ csharp_samples \ speech_recognition_samples.cs: 1016 1017 *1017* 10161018 * Внутреннее исключение 1: TypeInitializationException: инициализатор типа для SWIGExceptionHelper вызвал исключение.
Внутреннее исключение 2: DllNotFoundException: Невозможно загрузить DLL. Microsoft.CognitiveServices.Speech.csharp.bindings.dll ': указанный модуль не найден.(Исключение из HRESULT: 0x8007007E)
Я думаю, что Microsoft.CognitiveServices.Speech.csharp.bindings.dll не нравится работать на Windows Server 2012 R2, так как он существует в папке bin (ине пропущен) и работает в Windows 10. Я написал следующий код в небольшом консольном проекте Hello World, и он вызвал то же исключение, работающее в Windows Server 2012 R2.
class Program
{
[DllImport("Microsoft.CognitiveServices.Speech.csharp.bindings.dll", CharSet = CharSet.None, EntryPoint = "CSharp_MicrosoftfCognitiveServicesfSpeechfInternal_TRANSLATION_LANGUAGE_RESOURCE_SCOPE_SPEECH_get___", ExactSpelling = false)]
public static extern int TRANSLATION_LANGUAGE_RESOURCE_SCOPE_SPEECH_get();
static void Main(string[] args)
{
int test = TRANSLATION_LANGUAGE_RESOURCE_SCOPE_SPEECH_get();
Console.WriteLine($"API value: {test}");
}
}
И я попробовалработает в качестве администратора на случай, если это будет разрешением.Но это ничего не сделало.
Может кто-нибудь помочь мне \ показать, что мне нужно сделать, чтобы запустить образец службы речи на Windows Server 2012 R2?