Я хочу вызывать функции из второй среды Python в моей первой среде Python.Это возможно? - PullRequest
0 голосов
/ 01 марта 2019

Я занимаюсь разработкой виртуального помощника.Я использую конвертер google_speech_to_text, я не могу продолжать аудио вводЯ думаю, если есть какой-то способ, которым я могу использовать два окружения, одно будет использоваться для прослушивания и преобразования текста, а другое для остальной части обработки.

Я не хочу менять свой механизм STT.я просто хочу знать, возможно ли одновременно переключаться между средами.Если да, КАК?

Вот мой файл input.py: где бы мне ни потребовался аудиовход, я вызываю функцию start_listening():

import speech_recognition as sr
import output
import winsound

def start_listening():
    r = sr.Recognizer()
    with sr.Microphone() as source:
        # output.speak("Listening")
        r.adjust_for_ambient_noise(source)
        audio = r.record(source, duration=5)

        try:
            return r.recognize_google(audio)
        except:
            output.speak("Unable to Translate, speak again")
            start_listening()

Вот мой файл processing.py:

import input as listener
import output as speak
import clock
import query_processor as mind
import rideBooking

#First Greeting at the startup , according to the time select the greeting
speak.speak(clock.get_part_of_day())

def searching_for_word(word,sentence):
    if word in sentence:
        return True
    else:
        return False

def main_organ():
    input = listener.start_listening()
    inputType = mind.classify(input)
    if inputType == 'whatever':
        #run different functions on different commands
        main_organ()


#run the app with the below code
if __name__ == "__main__":
    main_organ()

Когда обработка включена, приложение не может прослушивать.Он может начинаться только после полного завершения обработки.

1 Ответ

0 голосов
/ 01 марта 2019

Вы можете создать несколько процессов.

Для этого импортируйте модуль multiprocessing.Process.run и восстановите возвращаемое значение .

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

Вам не нужно несколько сред.

...