Как преобразовать речь в текст? Windows 8 RT
Возможно ли преобразовать речь в текст без использования веб-службы? Я пробовал следующее решение, но библиотеки не распознаются в eclipse: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj207021(v=vs.105).aspx
Я думаю, что должен быть API распознавания речи в Windows 8 RT? У кого-нибудь есть реализация распознавания речи на этой платформе или указываете мне правильное направление?
Я предполагаю, что эти методы недоступны на платформе Windows 8 RT. Если да, есть ли альтернативы?
Я попробовал следующее в событии нажатия кнопки на панели приложения, но ни одно из методов / пространств имен не распознается.
// Create an instance of SpeechRecognizerUI.
this.recoWithUI = new SpeechRecognizerUI();
// Start recognition (load the dictation grammar by default).
SpeechRecognitionUIResult recoResult = await recoWithUI.RecognizeWithUIAsync();
// Do something with the recognition result.
MessageBox.Show(string.Format("You said {0}.", recoResult.RecognitionResult.Text));
1 ответ
Похоже, SpeechRecognitionUI
класс для Windows Phone 8.
Для Windows 8 RT у Microsoft есть элемент управления распознаванием речи Bing, и класс называется SpeechRecognizerUx
,
Управление распознаванием речи Bing позволяет
Windows 8
,Windows 8.1
, или жеWindows RT
машина для преобразования аудио речевого ввода в письменный текст. Он делает это, получая аудиоданные из микрофона, отправляя аудиоданные в веб-службу для анализа, а затем возвращая лучшие интерпретации речи пользователя в виде текста.
Единственное "предостережение" (если вы не хотите платить) заключается в том, что для этого требуется подписка на Windows Azure Data Marketplace, хотя бесплатные вещи - это довольно щедрое ИМО.
Элемент управления распознаванием речи Bing доступен только из галереи Visual Studio. Для разработки с помощью Bing Speech Recognition Control вы должны сначала подписаться на Windows Azure Data Marketplace, а затем зарегистрировать свое приложение. Нет подписки на первые 500000 звонков в месяц.
Вот пример кода.
public MainPage()
{
this.InitializeComponent();
this.Loaded += MainPage_Loaded;
}
SpeechRecognizer SR;
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
// Apply credentials from the Windows Azure Data Marketplace.
var credentials = new SpeechAuthorizationParameters();
credentials.ClientId = "<YOUR CLIENT ID>";
credentials.ClientSecret = "<YOUR CLIENT SECRET>";
// Initialize the speech recognizer and attach to control.
SR = new SpeechRecognizer("en-US", credentials);
SpeechControl.SpeechRecognizer = SR;
}
private async void SpeakButton_Click(object sender, RoutedEventArgs e)
{
try
{
// Start speech recognition.
var result = await SR.RecognizeSpeechToTextAsync();
ResultText.Text = result.Text;
}
catch (System.Exception ex)
{
ResultText.Text = ex.Message;
}
}
Источник: http://msdn.microsoft.com/en-us/library/dn434633.aspx?cs-save-lang=1&cs-lang=csharp