Приветствую научное сообщество!
Здесь я собираюсь излагать процесс разработки приложения voiceDroid для OS Android 8.0.0 в IDE QPython. В качестве интерпретатора использую Python 3 (точную версию не знаю - во вкладке "Больше"

"Chose Python Interpreter" содержится описание (под названием вкладки): "Using Python 3 now", это все что мне удалось узнать об используемой версии Python). Разработку веду, так сказать, не отходя от кассы, на смартфоне Samsung Galaxy A6. Приложение планирую разместить в Play Market'е.
На данный момент, имею код скопированный с
https://youtu.be/kATCkWMW5Es. Пришлось поменять модуль sl4a на androidhelper, так как androidhelper предустановлен, а sl4a не устанавливается, выдавая ошибку:
Could not find a version that satisfies
the requirement sl4a (from versions: )
No matching distribution found for sl4a
Начал с такого кода:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals #Использование кирилицы без u-нотации
import androidhelper
from datetime import datetime as dt
droid = androidhelper.Android() #Создаем объект класса Android()
txt = droid.recognizeSpeech() #Вызываем метод распознавания речи.
txt = txt.result
timeQ = ('Voice Droid сколько время', 'Cколько время Voice Droid',
'Время Voice Droid', 'Voice Droid время')
if txt in timeQ:
time = dt.now().strftime('%H':%M')
droid.ttsSpeak(time)
Подскажите как установить sl4a? На видео, по выше указанной ссылке видно, что код открыт в IDE QPython - как ему удалось установить модуль sl4a?
Дальнейшая разработка:
1. Осуществить взаимодействие с Voice Droid при заблокированном и выключеном экране (но включеном смартфоне);
2. Скомпилировать код в apk;
3. Обеспечить возможность обновления приложения;
4. Разместить в Play Market'е;
5. Осуществить возможность диалога;
6. Осуществить возможность символьных и численных вычислений над телом голосовой команды, если тело является математическим выражением.
Сейчас я думаю, как осуществить взаимодействие при выключеном экране. Метод recognizeSpeech() неподходит, так как не вызывается при выключеном экране и прерывается при выключении экрана. Предполагаю возможность записи аудио файла методом recorderStartMicrophone(), но меня беспокоит, что выполнение и завершение метода подаст специальный звуковой сигнал, что не приемлемо.
Возможность полноценного диалога попытаюсь осуществить посредством модуля chatterbot. Автономность приложения обеспечу заменой методов библиотеки androidhelper методами, какой-либо из библиотек, типа snowboydecoder или pocketsphinx. Еще есть pyttsx3, но неизвестно автономен ли он?
Вопросы:
1. Перспективно ли изучение исходного кода метода recorderStartMicrophone(), чтобы отключить сигнал начала и окончания записи?
2. Возможно ли распараллеливание процесса звукозаписи и обработки ранее записанного аудио файла при помощи доступной в QPython стандартной библиотеки?
Если 2-ой вопрос - да, то алгоритм обработки будет следующим:
1. В фоновом режиме, не зависимо от статуса дисплея осуществить запись 10-ти секундного аудио-файла;
2. Обработать записаный файл, если распознана речь то, преобразовать речь в текст и параллельно провести идентификацию личности, если хозяин смартфона то, отменить лимит длительности звукозаписи до прерывания речи с паузой более 3-х секунд и вернуть ответ соответствующий голосовой команде;
3. Паралельно п. 2, осуществить звукозапись второго аудио-файла;
4. Если п. 2 завершен то, осуществить п. 1 поверх первого аудио-файла.
Ваши советы и замечания будут интересны.