Как создать программу говорящую

В этом кратком руководстве вы будете использовать пакет SDK для службы «Речь» для создания пользовательского приложения голосового помощника, которое подключается к боту, который вы уже создали и настроили. Если необходимо создать бот, см. дополнительные сведения в исчерпывающем руководстве.

После выполнения нескольких предварительных требований подключение пользовательского интерфейса пользователя займет всего несколько шагов:

  • Создайте объект BotFrameworkConfig , содержащий ключ и регион подписки.
  • Создайте объект DialogServiceConnector , используя приведенный выше объект BotFrameworkConfig .
  • С помощью объекта DialogServiceConnector запустите процесс прослушивания для одного речевого фрагмента.
  • Проверьте возвращенный результат ActivityReceivedEventArgs .

Пакет SDK службы «Речь» для C++, JavaScript, Objective-C, Python и Swift поддерживает пользовательские голосовые помощники, но здесь пока нет соответствующего руководства.

ЧУДО! ГОВОРЯЩАЯ ЗАРЯДКА. Как автоматизировать процессы в телефоне. Обзор приложения MACRODROID

Вы можете просмотреть или скачать все примеры для пакета SDK службы «Речь» для C# на сайте GitHub.

Предварительные требования

Перед началом работы нужно сделать следующее:

  • создавать ресурс службы «Речь»;
  • Настройка среды разработки и создание пустого проекта
  • Создание программы-робота, подключенной к Каналу Direct Line Speech
  • Убедитесь, что у вас есть доступ к микрофону для аудиозахвата.

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

Откройте проект в Visual Studio.

Сначала необходимо убедиться, что проект открыт в Visual Studio.

Добавление стандартного кода

Добавим код, который выступает в качестве основы для нашего проекта.

  1. Откройте MainPage.xaml в обозревателе решений.
  2. В представлении XAML конструктора замените все содержимое следующим фрагментом кода, который определяет элементарный пользовательский интерфейс:

» Margin=»10,10,10,20″ TextWrapping=»Wrap» />

Конструктор обновляется для отображения пользовательского интерфейса приложения.

  1. В Обозревателе решений откройте исходный файл кода программной части MainPage.xaml.cs . (Он сгруппирован в MainPage.xaml .) Замените содержимое этого файла приведенным ниже, которое включает:

using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; using Microsoft.CognitiveServices.Speech.Dialog; using System; using System.Diagnostics; using System.IO; using System.Text; using Windows.Foundation; using Windows.Storage.Streams; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Media; namespace helloworld < public sealed partial class MainPage : Page < private DialogServiceConnector connector; private enum NotifyType < StatusMessage, ErrorMessage >; public MainPage() < this.InitializeComponent(); >private async void EnableMicrophone_ButtonClicked( object sender, RoutedEventArgs e) < bool isMicAvailable = true; try < var mediaCapture = new Windows.Media.Capture.MediaCapture(); var settings = new Windows.Media.Capture.MediaCaptureInitializationSettings(); settings.StreamingCaptureMode = Windows.Media.Capture.StreamingCaptureMode.Audio; await mediaCapture.InitializeAsync(settings); >catch (Exception) < isMicAvailable = false; >if (!isMicAvailable) < await Windows.System.Launcher.LaunchUriAsync( new Uri(«ms-settings:privacy-microphone»)); >else < NotifyUser(«Microphone was enabled», NotifyType.StatusMessage); >> private void NotifyUser( string strMessage, NotifyType type = NotifyType.StatusMessage) < // If called from the UI thread, then update immediately. // Otherwise, schedule a task on the UI thread to perform the update. if (Dispatcher.HasThreadAccess) < UpdateStatus(strMessage, type); >else < var task = Dispatcher.RunAsync( Windows.UI.Core.CoreDispatcherPriority.Normal, () =>UpdateStatus(strMessage, type)); > > private void UpdateStatus(string strMessage, NotifyType type) < switch (type) < case NotifyType.StatusMessage: StatusBorder.Background = new SolidColorBrush( Windows.UI.Colors.Green); break; case NotifyType.ErrorMessage: StatusBorder.Background = new SolidColorBrush( Windows.UI.Colors.Red); break; >StatusBlock.Text += string.IsNullOrEmpty(StatusBlock.Text) ? strMessage : «n» + strMessage; if (!string.IsNullOrEmpty(StatusBlock.Text)) < StatusBorder.Visibility = Visibility.Visible; StatusPanel.Visibility = Visibility.Visible; >else < StatusBorder.Visibility = Visibility.Collapsed; StatusPanel.Visibility = Visibility.Collapsed; >// Raise an event if necessary to enable a screen reader // to announce the status update. var peer = Windows.UI.Xaml.Automation.Peers.FrameworkElementAutomationPeer.FromElement(StatusBlock); if (peer != null) < peer.RaiseAutomationEvent( Windows.UI.Xaml.Automation.Peers.AutomationEvents.LiveRegionChanged); >> // Waits for and accumulates all audio associated with a given // PullAudioOutputStream and then plays it to the MediaElement. Long spoken // audio will create extra latency and a streaming playback solution // (that plays audio while it continues to be received) should be used — // see the samples for examples of this. private void SynchronouslyPlayActivityAudio( PullAudioOutputStream activityAudio) < var playbackStreamWithHeader = new MemoryStream(); playbackStreamWithHeader.Write(Encoding.ASCII.GetBytes(«RIFF»), 0, 4); // ChunkID playbackStreamWithHeader.Write(BitConverter.GetBytes(UInt32.MaxValue), 0, 4); // ChunkSize: max playbackStreamWithHeader.Write(Encoding.ASCII.GetBytes(«WAVE»), 0, 4); // Format playbackStreamWithHeader.Write(Encoding.ASCII.GetBytes(«fmt «), 0, 4); // Subchunk1ID playbackStreamWithHeader.Write(BitConverter.GetBytes(16), 0, 4); // Subchunk1Size: PCM playbackStreamWithHeader.Write(BitConverter.GetBytes(1), 0, 2); // AudioFormat: PCM playbackStreamWithHeader.Write(BitConverter.GetBytes(1), 0, 2); // NumChannels: mono playbackStreamWithHeader.Write(BitConverter.GetBytes(16000), 0, 4); // SampleRate: 16kHz playbackStreamWithHeader.Write(BitConverter.GetBytes(32000), 0, 4); // ByteRate playbackStreamWithHeader.Write(BitConverter.GetBytes(2), 0, 2); // BlockAlign playbackStreamWithHeader.Write(BitConverter.GetBytes(16), 0, 2); // BitsPerSample: 16-bit playbackStreamWithHeader.Write(Encoding.ASCII.GetBytes(«data»), 0, 4); // Subchunk2ID playbackStreamWithHeader.Write(BitConverter.GetBytes(UInt32.MaxValue), 0, 4); // Subchunk2Size byte[] pullBuffer = new byte[2056]; uint lastRead = 0; do < lastRead = activityAudio.Read(pullBuffer); playbackStreamWithHeader.Write(pullBuffer, 0, (int)lastRead); >while (lastRead == pullBuffer.Length); var task = Dispatcher.RunAsync( Windows.UI.Core.CoreDispatcherPriority.Normal, () => < mediaElement.SetSource( playbackStreamWithHeader.AsRandomAccessStream(), «audio/wav»); mediaElement.Play(); >); > private void InitializeDialogServiceConnector() < // New code will go here >private async void ListenButton_ButtonClicked( object sender, RoutedEventArgs e) < // New code will go here >> >

  1. Добавьте следующий фрагмент кода в текст метода InitializeDialogServiceConnector . Этот код создает DialogServiceConnector с помощью сведений о подписке.
Читайте также:
Что такое дос программы

// Create a BotFrameworkConfig by providing a Speech service subscription key // the botConfig.Language property is optional (default en-US) const string speechSubscriptionKey = «YourSpeechSubscriptionKey»; // Your subscription key const string region = «YourServiceRegion»; // Your subscription service region. var botConfig = BotFrameworkConfig.FromSubscription(speechSubscriptionKey, region); botConfig.Language = «en-US»; connector = new DialogServiceConnector(botConfig);

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

Сделал Говорящую Зарядку

Примечание Для получения сведений о настройке бота см. документацию по Bot Framework для канала Direct Line Speech.

// ActivityReceived is the main way your bot will communicate with the client // and uses bot framework activities connector.ActivityReceived += (sender, activityReceivedEventArgs) => < NotifyUser( $»Activity received, hasAudio=activity=»); if (activityReceivedEventArgs.HasAudio) < SynchronouslyPlayActivityAudio(activityReceivedEventArgs.Audio); >>; // Canceled will be signaled when a turn is aborted or experiences an error condition connector.Canceled += (sender, canceledEventArgs) => < NotifyUser($»Canceled, reason=»); if (canceledEventArgs.Reason == CancellationReason.Error) < NotifyUser( $»Error: code=, details=»); > >; // Recognizing (not ‘Recognized’) will provide the intermediate recognized text // while an audio stream is being processed connector.Recognizing += (sender, recognitionEventArgs) => < NotifyUser($»Recognizing! in-progress text=»); >; // Recognized (not ‘Recognizing’) will provide the final recognized text // once audio capture is completed connector.Recognized += (sender, recognitionEventArgs) => < NotifyUser($»Final speech to text result: »»); >; // SessionStarted will notify when audio begins flowing to the service for a turn connector.SessionStarted += (sender, sessionEventArgs) => < NotifyUser($»Now Listening! Session started, >; // SessionStopped will notify when a turn is complete and // it’s safe to begin listening again connector.SessionStopped += (sender, sessionEventArgs) => < NotifyUser($»Listening complete. Session ended, >;

Создание и запуск приложения

Теперь можно приступать к созданию приложения и проверке пользовательского голосового помощника, используя службу «Речь».

  1. В строке меню выберите Сборка>Построить решение, чтобы создать приложение. Теперь код должен компилироваться без ошибок.
  2. Выберите Отладка>Начать отладку(или нажмите клавишу F5), чтобы запустить приложение. Откроется окно helloworld. Пример приложения голосового помощника UWP на C# — краткое руководство
  3. Выберите Включить микрофон, а когда появится запрос на разрешение доступа, выберите Да. Запрос на разрешение доступа к микрофону
  4. Щелкните Talk to your bot (Разговор с ботом) и произнесите фразу или предложение на английском языке в микрофон устройства. Ваша речь передастся в канал «Речь Direct Line» и преобразуется в текст, который появится в том же окне.

Дальнейшие действия

Вы можете просмотреть или скачать все примеры для пакета SDK службы «Речь» для Java на сайте GitHub.

Выберите целевую среду

  • Среда выполнения Java
  • Android

Предварительные требования

Перед началом работы нужно сделать следующее:

  • создавать ресурс службы «Речь»;
  • Настройка среды разработки и создание пустого проекта
  • Создание программы-робота, подключенной к Каналу Direct Line Speech
  • Убедитесь, что у вас есть доступ к микрофону для аудиозахвата.

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

Создание и настройка проекта

Кроме того, для включения ведения журнала обновите файл pom.xml, чтобы добавить следующие зависимости.

org.slf4j slf4j-simple 1.7.5

Добавление примеров кода

Снимок экрана окна

  1. Выберите Файл>Создать>Класс, чтобы добавить пустой класс в проект Java.
  2. В окне New Java Class (Новый класс Java) введите speechsdk.quickstart в поле Пакет и Main в поле Имя.
  3. Откройте только что созданный класс Main и замените содержимое файла Main.java следующим начальным кодом.

package speechsdk.quickstart; import com.microsoft.cognitiveservices.speech.audio.AudioConfig; import com.microsoft.cognitiveservices.speech.audio.PullAudioOutputStream; import com.microsoft.cognitiveservices.speech.dialog.BotFrameworkConfig; import com.microsoft.cognitiveservices.speech.dialog.DialogServiceConnector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.SourceDataLine; import java.io.InputStream; public class Main < final Logger log = LoggerFactory.getLogger(Main.class); public static void main(String[] args) < // New code will go here >private void playAudioStream(PullAudioOutputStream audio) < ActivityAudioStream stream = new ActivityAudioStream(audio); final ActivityAudioStream.ActivityAudioFormat audioFormat = stream.getActivityAudioFormat(); final AudioFormat format = new AudioFormat( AudioFormat.Encoding.PCM_SIGNED, audioFormat.getSamplesPerSecond(), audioFormat.getBitsPerSample(), audioFormat.getChannels(), audioFormat.getFrameSize(), audioFormat.getSamplesPerSecond(), false); try < int bufferSize = format.getFrameSize(); final byte[] data = new byte[bufferSize]; SourceDataLine.Info info = new DataLine.Info(SourceDataLine.class, format); SourceDataLine line = (SourceDataLine) AudioSystem.getLine(info); line.open(format); if (line != null) < line.start(); int nBytesRead = 0; while (nBytesRead != -1) < nBytesRead = stream.read(data); if (nBytesRead != -1) < line.write(data, 0, nBytesRead); >> line.drain(); line.stop(); line.close(); > stream.close(); > catch (Exception e) < e.printStackTrace(); >> >

  • Замените строку YourSubscriptionKey ключом ресурса службы «Речь», который можно получить на портале Azure.
  • Замените строку YourServiceRegion на регион, связанный с вашим ресурсом службы «Речь».
Читайте также:
Программа аэробики была специально разработана

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

final String subscriptionKey = «YourSubscriptionKey»; // Your subscription key final String region = «YourServiceRegion»; // Your speech subscription service region final BotFrameworkConfig botConfig = BotFrameworkConfig.fromSubscription(subscriptionKey, region); // Configure audio input from a microphone. final AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput(); // Create a DialogServiceConnector instance. final DialogServiceConnector connector = new DialogServiceConnector(botConfig, audioConfig);
// Recognizing will provide the intermediate recognized text while an audio stream is being processed. connector.recognizing.addEventListener((o, speechRecognitionResultEventArgs) -> < log.info(«Recognizing speech event text: <>», speechRecognitionResultEventArgs.getResult().getText()); >); // Recognized will provide the final recognized text once audio capture is completed. connector.recognized.addEventListener((o, speechRecognitionResultEventArgs) -> < log.info(«Recognized speech event reason text: <>», speechRecognitionResultEventArgs.getResult().getText()); >); // SessionStarted will notify when audio begins flowing to the service for a turn. connector.sessionStarted.addEventListener((o, sessionEventArgs) -> < log.info(«Session Started event id: <>», sessionEventArgs.getSessionId()); >); // SessionStopped will notify when a turn is complete and it’s safe to begin listening again. connector.sessionStopped.addEventListener((o, sessionEventArgs) -> < log.info(«Session stopped event id: <>», sessionEventArgs.getSessionId()); >); // Canceled will be signaled when a turn is aborted or experiences an error condition. connector.canceled.addEventListener((o, canceledEventArgs) -> < log.info(«Canceled event details: <>», canceledEventArgs.getErrorDetails()); connector.disconnectAsync(); >); // ActivityReceived is the main way your bot will communicate with the client and uses Bot Framework activities. connector.activityReceived.addEventListener((o, activityEventArgs) -> < final String act = activityEventArgs.getActivity().serialize(); log.info(«Received activity <>audio», activityEventArgs.hasAudio() ? «with» : «without»); if (activityEventArgs.hasAudio()) < playAudioStream(activityEventArgs.getAudio()); >>);

connector.connectAsync(); // Start listening. System.out.println(«Say something . «); connector.listenOnceAsync(); // connector.sendActivityAsync(. )

Создание и запуск приложения

Нажмите клавишу F11 или выберите Запустить>Отладка. На консоли отобразится сообщение Say something (Скажите что-нибудь). В этот момент вы можете произнести на английском языке фразу или предложение, которое бот сможет распознать.

Ваша речь передается боту через канал «Речь Direct Line», где она распознается и обрабатывается ботом. Ответ возвратится в качестве действия. Если ваш бот в качестве ответа возвращает речь, аудио воспроизводится с помощью класса AudioPlayer .

Источник: learn.microsoft.com

Создаем голосового помощника на Python.

Создаем голосового помощника на Python.

У всех моих друзей есть Alexa, а у меня нет, из-за чего они надо мной смеются. Натерпевшись вдоволь, я решил: “Хватит!”.

Я связался со своей командой, и как только с моих уст прозвучало “Alexa”, кто-то из ребят выкрикнул: “Не покупай Alexa! Создай свою. Это можно сделать в 20 строк кода”.

О чем этот проект?

Его цель — сэкономить деньги и создать собственную Alexa, способную выполнять для вас массу полезных вещей.

Ваша бабушка будет в восторге! Ей ничего не придется делать вручную, достаточно будет голосовых команд, и виртуальный помощник сделает все, что нужно.

Немного терминологии

Модуль/библиотека:

Предопределенный или предварительно написанный кем-то код, который можно бесплатно использовать в своем проекте.

Класс:

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

Объект:

Экземпляр класса, который можно задействовать для обращения к атрибутам и методам класса.

У Alexa есть две задачи

1. Слушать

Прослушивание команд является основной функциональностью любого виртуального помощника. Команды бывают различные, например: “Алекса, включи музыку” или “Алекса, сколько время?”

Помощник должен прослушать команду, понять ее и выполнить действие.

2. Говорить

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

Реализация этих функций

Нам понадобятся два модуля Python:

  1. SpeechRecognition.
  2. Python Text-To-Speech (pyttsx3).

1. SpeechRecognition

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

Любой сторонний продукт нужно так или иначе устанавливать. Для этого выполните в терминале:

pip install SpeechRecognition

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

1) Класс Recognizer: это основной класс модуля, который содержит все ключевые функции, нужные для создания приложения распознания речи.

Для начала нужно создать этот класс, а также его объекты:

r = sr.Recognizer()

Здесь r представляет просто произвольное имя, заданное для объекта. В его качестве можно использовать любую допустимую переменную Python.

2) Доступ к микрофону: так как помощнику нужно прослушивать команды, вам потребуется предоставить ему доступ к микрофону устройства. Для этого можно использовать класс Microphone :

# открываем микрофон и начинаем запись
with Microphone() as source:
# выполнение действий — «source« — это экземпляр микрофона, #созданный выше
pass

3) Прослушивание речи пользователя: после организации доступа к микрофону останется прописать прослушивание команд. Это можно сделать с помощью метода listen() , предоставляемого классом Recognizer :

Читайте также:
В какой программе пишет скриллекс

# Прослушивает речь пользователя
# Принимает аудио-источник в качестве параметра
r.listen(source)

Таким образом происходит работа с распознаванием речи в Python. Разобравшись с основами этого модуля, можно переходить к следующему.

2. Python Text-To-Speech (pyttsx3)

Это библиотека Text-to-Speech (TTS) для Python 2 и Python 3, которая работает без обращения к интернету и каких-либо задержек.

Поскольку это сторонний модуль, сначала его нужно также установить:

pip install pyttsx3

Теперь с помощью этого модуля ваш помощник обретет дар речи.

Секрет: здесь мы просто преобразуем текст в речь.

Все остальное будет очень легко. Сначала нужно инициализировать модуль pyttsx3 с помощью метода init() и создать его объект. Затем можно использовать его функции для преобразования текста в речь:

engine = pyttsx3.init() engine.say(«Text to Speak Here») engine.runAndWait()

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

Разобравшись и с этим модулем, пора переходить к самому интересному.

Самое интересное

Голосовой помощник на Python

Вы когда-нибудь задумывались, как здорово было бы иметь своего собственного ИИ-ассистента (типа Д.Ж.А.Р.В.И.С.)? Было бы гораздо легче отправлять письма, искать информацию в Википедии, не открывая браузер, и выполнять ещё много других действий с помощью одного только голоса.

В этом уроке мы узнаем, как написать код собственного голосового помощника на Python.

Перед тем, как начать, мы должны определиться, какими функциями должен обладать наш голосовой помощник:

  • Отправка электронных писем
  • Воспроизведение музыки
  • Запросы в Википедию
  • Открытие сайтов, таких как Google, YouTube, Stackoverflow, freecodecamp и т.д. в браузере
  • Открытие редактора кода или IDE одной голосовой командой

И всё это без ручного ввода запросов в браузере!

А теперь приступим, собственно, к написанию нашего помощника.

И да: не забудьте сперва придумать ему имя :з

Настройка среды

Я использую PyCharm, но вы можете выбрать абсолютно любой удобный вам редактор.

Сперва мы импортируем/установим все необходимые библиотеки:

  • pyttsx3;
  • datetime;
  • speech recognition;
  • wikipedia;
  • webbrowser;
  • os.path;
  • smtplib.

Определение функции воспроизведения речи

Интеллектуальному голосовому помощнику прежде всего полагается говорить. Чтобы бот говорил, мы определим функцию speak() , которая принимает на входе аудио и произносит его.

def speak(audio): pass #пока так, позже мы напишем все условия.

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

Что такое pyttsx3 ?

Это библиотека Python, которая поможет нам конвертировать текст в устную речь. Она работает оффлайн и доступна как для Python 3, так и для Python 2.

pip install pyttsx3

После успешной установки pyttsx3 нужно импортировать модуль в нашу программу.

import pyttsx3 engine = pyttsx3.init(‘sapi5’) voices = engine.getProperty(‘voices’) #даёт подробности о текущем установленном голосе engine.setProperty(‘voice’, voice[1].id) # 0-мужской , 1-женский

Что такое sapi5? Microsoft Speech API (SAPI5) – технология для распознавания и синтеза речи, предоставленная Microsoft.

VoiceId помогает нам выбирать разные голоса:

  • voice[0].id = мужской голос
  • voice[1].id = женский голос

Создание функции speak()

def speak(audio): engine.say(audio) engine.runAndWait() #Без этой команды мы не услышим речь

Создание функции main()

Теперь определим функцию main() и вызовем функцию speak() внутри неё.

if __name__==»__main__» : speak(‘Hello Sir, I am Friday, your Artificial intelligence assistant. Please tell me how may I help you’)

P.S. Я назову своего ассистента Friday (Пятница).

Всё, что вы передадите функции speak() , будет полностью преобразовано в звук. Поздравляю: наш голосовой помощник обрел свой голос и готов с нами болтать!

Создание функции wishme()

Теперь мы напишем функцию wishme() , благодаря которой наш голосовой помощник будет приветствовать нас разными способами в зависимости от времени на компьютере.

Чтобы предоставить нашему ассистенту информацию о времени, мы должны импортировать модуль datetime, делается это следующей командой:

import datetime

Теперь напишем функцию wishme() :

def wishme(): hour = int(datetime.datetime.now().hour)

Здесь мы сохраняем целочисленное значение текущего часа в переменную hour . Используем это значение в конструкции if-else :

def wishMe(): hour = int(datetime.datetime.now().hour) if hour>=0 and hour=12 and hour

Определение функции takeCommand():

Следующий важный аспект в нашем помощнике: он должен уметь принимать команду с помощью микрофона нашей системы. Для этого мы создадим функцию takeCommand() .

С помощью takeCommand() наш интеллектуальный ассистент сможет возвращать строку, принимая голосовые команды по микрофону.

Но перед определением takeCommand() мы должны установить модуль speechRecognition следующей командой:

pip install speechRecognition

После установки импортируем модуль в программу:

import speechRecognition as sr

Начнём написание функции takeCommand() :

def takeCommand(): #Принимает на входе аудио от микрофона, возвращает строку с нашими словами r = sr.Recognizer() with sr.Microphone() as source: print(«Listening. «) r.pause_threshold = 1 audio = r.listen(source)

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru