Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
78 / 73 / 19
Регистрация: 18.05.2021
Сообщений: 287

Независмое выполнение двух функций параллельно

09.08.2022, 12:01. Показов 728. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я пишу голосовой помощник на питоне. Используя встроенный в линукс минт festival, я зачитываю нужный текст, но выполнение программы приостанавливается до окончание фразы.
Можно ли непрерывно выполнять какой-то код, при необходимости независимо от него запускать festival так, чтобы он не останавливал основной программы, сохраняя возможность аварийного завершения зачитывания текста?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.08.2022, 12:01
Ответы с готовыми решениями:

Выполнение двух функций параллельно
Всем привет! Подскажите, возможно ли в питоне реализовать параллельное выполнение функций? Если да, то как? P.S. 1 функция - обработка...

Одновременное выполнение двух функций
Как запустить эти две функции одновременно? r = sr.Recognizer() with sr.Microphone() as source: r.pause_threshold = 1 ...

Как организовать выполнение двух различных задач параллельно
Здравствуйте. Есть у меня такая проблема. Никак не могу понять как организовать выполнение 2х различных задач параллельно. Есть...

3
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
09.08.2022, 22:57
asyncio
0
 Аватар для oldnick85
36 / 34 / 10
Регистрация: 15.07.2017
Сообщений: 128
13.08.2022, 21:04
Цитата Сообщение от -_human_- Посмотреть сообщение
Используя встроенный в линукс минт festival
А вы как фестиваль запускаете? Непосредственно или через pyfestival?
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.08.2022, 21:23
Помогаю со студенческими работами здесь

Одновременное выполнение двух функций
Как мне заставить картинку и передвигаться и менять размер,а то одновременно выполнение этих функций не работает. ...

Выполнение двух функций независимо друг от друга
Пытаюсь написать игрушку, но возникают проблемы со временем. Мне нужно чтобы переменной, независимо от выполнения каких либо операций с...

Как реализовать Синхронное выполнение двух функций при вызове AsyncTask
как сделать так чтобы при нажатии на BUTTON с начало выполнилась функция getSignIns а после удачного выполнения выполнялась ...

Выполнение команд параллельно, но не более N одновременно
Приветствую, прошу помощи с написанием bat скрипта. Необходимый функционал: Из файла (txt) запускает команды (запуск exe + флаги, каждая...

Выполнение хранимой процедуры (последовательно или параллельно?)
Добрый день. Есть хранимая процедура, в которой содержатся запросы на выборку, вставка и update записей. Скажите пожалуйста, как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Программный отбор элементов справочника Номенклатура по группе 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),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru