react-native-baidu-asr
Это библиотека Baidu для распознавания речи в React Native, которая может выполнять распознавание речи, активацию речи и синтез речи.
English | 简体中文 (см. README-zh.md)
В настоящее время платформа iOS не реализована. Я заполню её, когда у меня будет время.
yarn add react-native-baidu-asr
yarn add react-native-baidu-asr
react-native link react-native-baidu-asr
Подробности см. в примере.
Сначала необходимо перейти в Baidu Voice Console, чтобы создать приложение и получить информацию для аутентификации: AppID, API Key, Secret Key.
import {
BaiduAsr,
StatusCode,
IBaseData,
RecognizerResultError,
RecognizerResultData,
VolumeData
} from 'react-native-baidu-asr';
// Initialize Baidu speech engine
BaiduAsr.init({
APP_ID: 'Ваша информация для аутентификации AppID',
APP_KEY: 'Ваша информация для аутентификации API Key',
SECRET: 'Ваша информация для аутентификации Secret Key',
});
// Processing recognition results
this.resultListener = BaiduAsr.addResultListener(this.onRecognizerResult);
// Handling wrong results
this.errorListener = BaiduAsr.addErrorListener(this.onRecognizerError);
// Processing volume
this.volumeListener = BaiduAsr.addAsrVolumeListener(this.onAsrVolume);
// Start speech recognition
// For more input parameters, please refer to Baidu Voice Document
// https://ai.baidu.com/ai-doc/SPEECH/bkh07sd0m#asr_start-%E8%BE%93%E5%85%A5%E4%BA%8B%E4%BB%B6%E5%8F%82%E6%95%B0
BaiduAsr.start({
// Long speech
VAD_ENDPOINT_TIMEOUT: 0,
BDS_ASR_ENABLE_LONG_SPEECH: true,
// Disable punctuation
DISABLE_PUNCTUATION: true,
});
Сначала нужно экспортировать слово активации, предопределённые слова активации и пользовательские слова активации, оба должны быть экспортированы и использованы инструментом оценки слов активации.
import { BaiduWakeUp } from 'react-native-baidu-asr';
// Initialize Baidu speech engine
BaiduAsr.init({
APP_ID: 'Ваша информация для аутентификации AppID',
APP_KEY: 'Ваша информация для аутентификации API Key',
SECRET: 'Ваша информация для аутентификации Secret Key',
});
// Wake up result
this.resultListener = BaiduWakeUp.addResultListener(this.onWakeUpResult);
// Handling wrong results
this.errorListener = BaiduWakeUp.addErrorListener(this.onWakeUpError);
// Start voice wake up
// For more input parameters, please refer to Baidu Voice Document
// https://ai.baidu.com/ai-doc/SPEECH/bkh07sd0m#wakeup_start-%E8%BE%93%E5%85%A5%E4%BA%8B%E4%BB%B6%E5%8F%82%E6%95%B0
BaiduWakeUp.start({
// Indicates that the WakeUp.bin file is defined in the assets directory
WP_WORDS_FILE: 'assets:///WakeUp.bin',
});
The... addAsrVolumeListener(listener: (volume: VolumeData) => void): EmitterSubscription
Объём распознавания речи. Это событие будет вызвано, когда распознанная речь изменит громкость. Значение volume
типа VolumeData
имеет следующее значение:
volumePercent
: текущий процент громкости;volume
: текущая громкость.init
, чтобы инициализировать механизм.Данные обратного вызова результата пробуждения имеют унифицированный формат, аналогичный возвращаемому интерфейсу API, с кодом, сообщением и данными.
Типы данных IBaseData
следующие:
interface IBaseData<T = any> {
/**
* status code
*/
code: StatusCode,
/**
* message
*/
msg: string,
/**
* data
*/
data: T
}
addResultListener(callback: (data: IBaseData<string | undefined>) => void): EmitterSubscription — обратный вызов результата голосового пробуждения, data
имеет тип IBaseData<string | undefined>
, его значение:
code
: код состояния;msg
: сообщение;data
: слово пробуждения.addErrorListener(callback: (data: IBaseData) => void): EmitterSubscription — ошибка в голосовом пробуждении. Сообщение об ошибке соответствует документу Baidu Voice. Его значение:
code
: код ошибки;msg
: сообщение об ошибке;data
: неверные данные.Тип данных data
следующий:
interface WakeUpResultError {
// Error code You can look up the error code against Baidu voice documents https://ai.baidu.com/ai-doc/SPEECH/qk38lxh1q#%E5%94%A4%E9%86%92%E9%94%99%E8%AF%AF%E7%A0%81
errorCode: number,
// wrong information
errorMessage: string,
// Original error data returned by Baidu Voice
result: string
}
Данные обратного вызова имеют унифицированный формат, аналогичный интерфейсу возврата API, с кодом, сообщением и данными.
SynthesizerData
имеет следующий тип данных:
interface SynthesizerData<T = any> {
/**
* status code
*/
code: SynthesizerStatusCode,
/**
* message
*/
msg: string,
/**
* data
*/
data: T
}
data
— это тип SynthesizerData<SynthesizerResultData | string | undefined>
и его значение:
code
: код статуса;msg
: сообщение;data
: данные обратного вызова.Тип данных SynthesizerResultData
следующий:
// There are many states in the synthesis process, from initialization to synthesis to the end of playback, so the data is actually indeterminate.
interface RecognizerResultData {
// utterance Id
utteranceId?: string,
// Synthesis progress or playback progress
progress?: number
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )