Рубрики
Без рубрики

Виртуальная голосовая помощь

Вы когда-нибудь задавались вопросом, насколько это было круто, чтобы иметь свой собственный виртуальный голос. Помощник? Представьте, как ea … с меченым python.

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

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

Здесь мы сосредоточены только на операциях, выполненных голосовым помощником только по некоторым конкретным командам.

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

Таким образом, у нас есть несколько подходов к созданию голосовой помощи, но здесь мы сосредоточимся на ориентированном на задание подход для голосового помощника.

Итак, давайте начнем с некоторых операций, которые могут быть выполнены нашим голосовым помощником.

TakeCommand ()

 r = sr.Recognizer()
    with sr.Microphone() as source:
        print("Listening...")
        r.pause_threshold = 1
        audio = r.listen(source)

    try:
        print("Recognizing...")    
        query = r.recognize_google(audio, language='en-in')
        print(f"User said: {query}\n")

    except Exception as e:
        # print(e)    
        print("Say that again please...")  
        return "None"
    return query

В TakeCommand () Функция мы даем вклад на наш голосовой помощник через наш микрофон, для которого мы использовали Распознавание речи модуль и Pyudio Модуль в Python. Механика за распознаванием речи заключается в том, что речь должна быть преобразована из физического звука в электрический сигнал с микрофоном, а затем к цифровым данным с аналоговым цифровым конвертером. После оцифровки несколько моделей могут быть использованы для транскрибирования звука в текст.

В Python несколько модулей доступны для распознавания речи, как: 1.APIAI 2.assemblyai. 3.Google-Cloud-Relection 4.Pocketsphinx 5.speechrecognitionation 6.Watson-developer-Cloud 7.Wit

Некоторые из этих пакетов, таких как встроенные функции Wit и APIAI-предложения, такие как обработка натурального языка для определения намерения докладчика, которые выходят за рамки основного признания речи. Другие, такие как Google-Cloud-речь, сосредоточиться исключительно на преобразовании речи к тексту.

Существует один пакет, который выделяется с точки зрения простоты использования: peopleRecognition.

Признавая речь требует аудиовходного ввода, а появление простого внесения этого ввода действительно легко. Вместо того, чтобы построить скрипты для доступа к микрофонам и обработке аудиофайлов с нуля, ComplyReCognition приведет вас к за несколько минут. Библиотека «Репродукторизм» действует как обертка для нескольких популярных речевых API и, таким образом, чрезвычайно гибко. Одним из них «API Google Web Region-API» поддерживает клавишу API по умолчанию, которая жестко закодирована в библиотеку повторений.

Через TakeCommand () Функция. Запросы были извлечены, и на этой основе вызываются разные функции, и задача выполняется.

разговаривать()

def speak(audio):
    engine.say(audio)
    engine.runAndWait()

Первое и главная вещь для виртуального голосового помощника состоит в том, что он должен говорить. Чтобы сделать наш виртуальный помощник разговоров, мы сделаем функцию под названием Говорить () Отказ Эта функция возьмет звук в качестве аргумента (который является некоторым текстом, который мы намерены сказать наш виртуальный помощник), а затем он будет произносить. Здесь мы использовали PYTTSX3 Модуль для преобразования текста в речевую библиотеку.

Приведенный выше код инициализирует пакет PYTTSX3. Экземпляр пакета PYTTSX3 хранится в переменной двигателя. Мы называем переменного двигателя, поскольку он работает как двигатель и преобразует текст-речь, когда выполняет функции из пакета. В пакете PYTTSX3 есть встроенная программа () в пакете PYTTSX3, который принимает строковое значение и высказывает его. Engine.runandwait () Функция сохраняет трек, когда двигатель начинает преобразовывать текст в речь и ждет так много времени, и не допускает закрытия двигателя. Если мы не напишем этот код, может произойти, что двигатель может не работать должным образом, поскольку процессы не будут синхронизированы.

Wishme () и местоположение ()

def wishMe():
    hour = int(datetime.datetime.now().hour)
    if hour>=0 and hour<12:
        speak("Good Morning!")
        date()

    elif hour>=12 and hour<18:
        speak("Good Afternoon!")
        date()

    else:
        speak("Good Evening!")
        date()

    speak("Hello I am your Virtual Assistant. Please tell me how may I help you")   

Это некоторые из задач, выполненных нашим голосовым помощником, которые включают желание или приветствие пользователя в соответствии с временем компьютера. (Это было реализовано с использованием модуля DateTime)

Один из классов, определенных в модуле DateTime, является datetime класс. Затем мы использовали сейчас () Способ создания объекта DateTime, содержащий текущую локальную дату и время.

def location(query):
    index =query.lower().split().index("is")
    location = query.split()[index+ 1 : ]
    webbrowser.open("https://www.google.com/maps/place" + "+".join(location))
    speak("Opening " + str(search) + " on google")


Он также включает в себя предоставление местоположения на картах Google в соответствии с поисковыми запросами. Здесь мы возьмем местоположение от запроса после поиска контекста после Где . Из этого мы извлекаем информацию о местоположении и ищем ее в Интернете. Обычно используемые классы в модуле DateTime являются:

  • Дата класса
  • Время класса
  • TateTime Class.
  • TimeDelta Class.

Дополнительное задание

  • search_yt ()
  • search_google ()
  • снимок экрана()
  • запись с экрана()
def search_yt(query):
    index =query.lower().split().index("youtube")
    search = query.split()[index+ 1 : ]
    webbrowser.open("http://www.youtube.com/results?search_query=" + "+".join(search))
    speak("Opening " + str(search) + " on youtube")

def search_google(query):
    index =query.lower().split().index("google")
    search = query.split()[index+ 1 : ]
    webbrowser.open("https://www.google.com/search?q=" + "+".join(search))
    speak( "Opening " + str(search) + " on google") 

Некоторые другие задачи включают поиск любого воспроизведения или любого видео на YouTube, поиске о любом месте, книгах, знаменитостях и т. Д. В Google. Эти операции мы используем функцию search_yt () и search_google () .Эти Оба операции на основе браузера. Эти задачи выполняются аналогичными способами в качестве местоположения ()

Чтобы открыть любой веб-сайт, нам нужно импортировать модуль под названием «WebBrowser». Это встроенный модуль, и нам не нужно устанавливать его с помощью оператора PIP; Мы можем напрямую импортировать его в нашу программу, написав оператор импорта. WebBrowser Модуль предоставляет базовый интерфейс для стандартного веб-браузера системы. Он обеспечивает открытую функцию, которая принимает имя файла или URL и отображает его в браузере. Если вы снова позвоните, он пытается отобразить новую страницу в одном окне браузера

def screenshot():
    img = pyautogui.screenshot()
    img.save()

Некоторые из ОС на основе операций включают в себя смятение, опорожнение корзины для переработки, запись экрана Windows. Это задачи были в основном сделаны, используя Pyautogui библиотека. Для записи экрана мы принимаем бесконечное количество (теоретически) скриншоты и объединяем их, чтобы создать видео. Мы использовали 60 кадров в секунду для нашего видео.

resolution = (1920, 1080)
    codec = cv2.VideoWriter_fourcc(*"XVID")
    filename = "Recording.avi"

    #count=count+1
    fps = 60.0
    out = cv2.VideoWriter(filename, codec, fps, resolution) 
    cv2.namedWindow("Live", cv2.WINDOW_NORMAL)
    cv2.resizeWindow("Live", 480, 270)

    while(1): 

        img = pyautogui.screenshot() 

        frame = np.array(img) 

        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) 

        out.write(frame) 

        # Optional: Display the recording screen 
        cv2.imshow('Live', frame) 

        # Stop recording when we press 'q' 
        if cv2.waitKey(1) == ord('q'): 
            break

    out.release() 

Pyautogui Позволяет ваши сценарии Python управляют мышью и клавиатурой для автоматизации взаимодействия с другими приложениями.

Pyautogui имеет несколько особенностей:

1. Нажмите мышь и нажав или набрав в окна других приложений. 2. Отрезывные нажатия клавиш к приложениям (например, заполнить формы). 3. Найдите скриншоты и с учетом изображения (например, кнопки или флажок), найдите его на экране. 4. Выделите окно приложения, и переместите, измените размер, максимизируйте, минимизируйте или закройте его (только для Windows, в данный момент) 5.display Majors для взаимодействия пользователей, когда ваш сценарий автоматизации GUI работает.

Главный()

if 'wikipedia' in query:
            speak('Searching Wikipedia...')
            query = query.replace("wikipedia", "")
            results = wikipedia.summary(query, sentences=2)
            speak("According to Wikipedia")
            print(results)
            speak(results)

        elif 'open youtube' in query:
            webbrowser.open("youtube.com")

        elif 'open google' in query:
            webbrowser.open("google.com")

        elif 'open stackoverflow' in query:
            webbrowser.open("stackoverflow.com")

        elif 'search in youtube' in query:
            search_yt(query)

        elif 'search in google' in query:
            search_google(query)

        elif 'play music' in query:
            music_dir = 'songs'
            #music_dir = 'YOUR MUSIC DIRECTORY'
            songs = os.listdir(music_dir)
            print(songs)    
            os.startfile(os.path.join(music_dir, songs[0]))

....continues

В основной функции у нас есть дополнительные операции, такие как поиск чего-то на Википедии, которая была выполнена с помощью «Википедия» Python Module. Эта библиотека Python под названием Википедия Позволяет нам легко получить доступ и анализа данных из Википедии. Другими словами, вы также можете использовать эту библиотеку как небольшой скребок, где вы можете соскрести только ограниченную информацию из Wikipedia. Здесь мы использовали Резюме Функция для получения результатов из Википедии. На выполнение Wikipedia.Summary (запрос) Эта строка кода мы можем получить резюме нужной статьи, которую мы ищем в строковом формате.

Он также включает в себя функцию примечания, которая вспоминает некоторые важные детали, которые должны быть выполнены позже, и напоминает вам об этом. (Это может быть улучшено с помощью API Google Calendar)

Помимо этого, мы также использовали модуль Pyjokes, который возвращает шутки, которые вызываются на основе категории и языка. Для разных языков выберите язык из данного набора языков, и вы также можете выбрать категорию шутки.

Языки, поддерживаемые Pyjokes:

  • Английский – ‘en “
  • Немецкий – ‘de’
  • Испанский – ‘es’
  • Галицкий – ‘GL’
  • Баскский – «ЕС»
  • Итальянский – «это»

Категории, включенные в Pyjokes:

  • Для отвратительных шуток-иералью ‘(это выбрано по умолчанию)
  • Для Криса Норриса шутили – «Чак».
  • Если вы хотите, чтобы все типы шуток – «все»
  • Существует еще одна категория, известная как «Twister», которая работает только для немецкого языка («de ‘). Это в основном включает в себя Twister языка.

Некоторые API используются

  • Twilio: это используется для отправки и получения текстовых сообщений кабинет .
  • News.api: Это используется для получения текущих новостей из более чем 50 стран Newsapi .
  • Wolfram Alpha API: эта API использовалась для ответа на любые запросы Wolfram Alpha Отказ
  • API погоды: этот API использовался для получения информации о текущей погоде в любом городе Погода Отказ

Таким образом, главная функция представляет собой комбинацию нескольких «элиф» утверждений, которые выполняются на основе некоторых конкретных ключевых слов в запросе.

Многие люди будут утверждать, что виртуальный помощник, который мы создали, не является А.И., но это выпуск кучки заявления. Но Если мы посмотрим на фундаментальный уровень, единственная цель A.I разработает машины, которые могут выполнять человеческие задачи с той же эффективностью или даже более эффективной, чем люди.

Мы наконец-то построили наш собственный голосовой помощник .further Мы добавим больше функций для голосового помощника для выполнения большего задания.

Это в значительной степени это.

Надеюсь, это поможет. Ваше здоровье!

Для полного кода виртуального голосового помощника посетите мой GitHub Профиль

Оригинал: “https://dev.to/debadityamohanty/virtual-voice-assistance-3bid”