|
78 / 73 / 19
Регистрация: 18.05.2021
Сообщений: 287
|
|
Независмое выполнение двух функций параллельно09.08.2022, 12:01. Показов 728. Ответов 3
Метки нет (Все метки)
Я пишу голосовой помощник на питоне. Используя встроенный в линукс минт festival, я зачитываю нужный текст, но выполнение программы приостанавливается до окончание фразы.
Можно ли непрерывно выполнять какой-то код, при необходимости независимо от него запускать festival так, чтобы он не останавливал основной программы, сохраняя возможность аварийного завершения зачитывания текста?
0
|
|
| 09.08.2022, 12:01 | |
|
Ответы с готовыми решениями:
3
Как организовать выполнение двух различных задач параллельно |
|
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
|
|
| 09.08.2022, 22:57 | |
|
asyncio
0
|
|
|
36 / 34 / 10
Регистрация: 15.07.2017
Сообщений: 128
|
|
| 13.08.2022, 21:04 | |
|
0
|
|
|
78 / 73 / 19
Регистрация: 18.05.2021
Сообщений: 287
|
|
| 13.08.2022, 21:23 [ТС] | |
|
oldnick85, я хотел запускать pyfestival через subprocess.popen, но у меня не получилось наладить нормальный обмен данными - первая команда на произношение текста выполнялась, вторая уже нет, также вылетала ошибка при попытке переключится на русский язык. Тем не менее, я пробовал запускать в потоке, но всё равно программа ждала окончания фразы, а уже потом продорлжала работу.
Правильно срабатывал вызов через os.system('echo "фраза" | festival --tts --language russian'), запущенный в отдельном потоке с помощью threading, но в результате произношение текста тормозится на пол секунды, даже учитывая, что у меня ssd. festival долго подгружает базу данных для русского. Хорошо хоть работает, но распознавание речи офлайн и так дело не очень быстрое, поэтому идеально бы ускорить как можно сильнее, для чего и нужно подгрузить festival и просто выполнять нужную команду - суммарное торможение срабатывания на полторы секунды весьма раздражает. Я пробовал использовать pyfestival. Он корректно работает - вначале запускает festival, и при необходимости довольно шустро (база для русского уже загруженна) говорит. Но через threading обеспечить его работу у меня не получилось - пишет, что библиотека потоконебезопасна. Я попробовал обеспечит ассинхронность через asyncio, но запутался и у меня ничего не заработало (я в первые пробую работать с этой библиотекой и в принципе никогда не работал с ассинхронным кодом). Не знаю, что делать. Пока нормального способа ускорить работу не нашёл. Особенно учитывая, что офлайн распознавание речи с помощью vosk и так хорошо работает и единственным местом, которое я могу ускорить - именно синтез. Кстати, странно, что есть vosk, позволяющий хорошо распознавать речь, но нет нормального синтезатора речи для питона, ведь это же должно быть проще?
0
|
|
| 13.08.2022, 21:23 | |
|
Помогаю со студенческими работами здесь
4
Одновременное выполнение двух функций Выполнение двух функций независимо друг от друга Как реализовать Синхронное выполнение двух функций при вызове AsyncTask Выполнение команд параллельно, но не более N одновременно Выполнение хранимой процедуры (последовательно или параллельно?) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный отбор элементов справочника Номенклатура по группе 1С
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор под наименованию группы (на. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор элементов справочника Сотрудники по перечислениям 1С
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|