единство и распознавание речи в android [дубликат]

Подводя итог:

import ast, yaml, json, timeit

descs=['short string','long string']
strings=['{"809001":2,"848545":2,"565828":1}','{"2979":1,"30581":1,"7296":1,"127256":1,"18803":2,"41619":1,"41312":1,"16837":1,"7253":1,"70075":1,"3453":1,"4126":1,"23599":1,"11465":3,"19172":1,"4019":1,"4775":1,"64225":1,"3235":2,"15593":1,"7528":1,"176840":1,"40022":1,"152854":1,"9878":1,"16156":1,"6512":1,"4138":1,"11090":1,"12259":1,"4934":1,"65581":1,"9747":2,"18290":1,"107981":1,"459762":1,"23177":1,"23246":1,"3591":1,"3671":1,"5767":1,"3930":1,"89507":2,"19293":1,"92797":1,"32444":2,"70089":1,"46549":1,"30988":1,"4613":1,"14042":1,"26298":1,"222972":1,"2982":1,"3932":1,"11134":1,"3084":1,"6516":1,"486617":1,"14475":2,"2127":1,"51359":1,"2662":1,"4121":1,"53848":2,"552967":1,"204081":1,"5675":2,"32433":1,"92448":1}']
funcs=[json.loads,eval,ast.literal_eval,yaml.load]

for  desc,string in zip(descs,strings):
    print('***',desc,'***')
    print('')
    for  func in funcs:
        print(func.__module__+' '+func.__name__+':')
        %timeit func(string)        
    print('')

Результаты:

*** short string ***

json loads:
4.47 µs ± 33.4 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
builtins eval:
24.1 µs ± 163 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
ast literal_eval:
30.4 µs ± 299 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
yaml load:
504 µs ± 1.29 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

*** long string ***

json loads:
29.6 µs ± 230 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
builtins eval:
219 µs ± 3.92 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
ast literal_eval:
331 µs ± 1.89 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
yaml load:
9.02 ms ± 92.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

Вывод: предпочитают json.loads

4
задан Kanagalingam 21 September 2016 в 08:50
поделиться

2 ответа

В Unity еще нет встроенного устройства. Они долгое время проводят исследование , и это, скорее всего, скоро будет добавлено в Unity. Вы можете получить рабочий текст «Текст-текст» (бесплатно) из хранилища активов здесь . Это с открытым исходным кодом, и вы можете помочь внести свой вклад в него, если вы обнаружите какие-либо проблемы.

В качестве побочного примечания почти каждая ОС имеет API распознавания речи. Вы легко можете сделать плагин, обернув все эти API в класс sing в C #, затем используйте директивы препроцессора платформы Unity для определения того, какой из них вызывать, в зависимости от того, в какой ОС ваша игра работает.

Android:

класс SpeechRecognizer .

iOS:

Класс SFSpeechRecognizer

MacOS:

Класс NSSpeechRecognizer

Windows:

SpeechRecognitionEngine класс

Пример:

class CrazySpeechRecognition
{
  #if UNITY_ANDROID  
    Use SpeechRecognizer class
  #endif

  #if UNITY_IOS
    Use SFSpeechRecognizer class
  #endif

  #if UNITY_STANDALONE_OSX || UNITY_EDITOR_OSX
    Use NSSpeechRecognizer class
  #endif

  #if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN
    Use SpeechRecognitionEngine class
  #endif 
}

Свободный Speech-to-Text от Unity должен был решить вашу проблему. Остальная часть сообщения должна сообщить вам, что вы можете сделать плагин для этого, если есть проблема с тем из Unity.

12
ответ дан Programmer 19 August 2018 в 14:51
поделиться
  • 1
    Спасибо за ваш ответ :-) – Kanagalingam 21 September 2016 в 14:53
  • 2
    Пакет «Речь в текст» содержит много ошибок – Muhammad Faizan Khan 12 September 2017 в 06:23
  • 3
    Этот пакет «Текст-текст», к которому вы привязаны, был удален единством. – UpTheCreek 14 March 2018 в 12:46
  • 4
    @UpTheCreek Не уверен, почему и когда они удалили эти ссылки, но они все равно могут получить его из ссылки Contribute, которую я предоставил в ответе. – Programmer 14 March 2018 в 12:51

Вы можете попробовать Watson Unity SDK: https://github.com/watson-developer-cloud/unity-sdk ^ в частности ExampleSpeechToText

2
ответ дан AlexF 19 August 2018 в 14:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: