Как предотвратить приглушение звука?Python

Программы на Python
Ответить
Anonymous
 Как предотвратить приглушение звука?

Сообщение Anonymous »

Делаю помощника на Python, используя SpeechRecognition и некоторые другие библиотеки. Я использую эту библиотеку как для получения голоса, так и для преобразования его в текст.
Но когда я пытаюсь прослушать какой-нибудь звук, пока программа меня записывает, звук приглушается. Я знаю, что это происходит при получении звука с микрофона в целом, от Discord до поиска звука в Google, но есть ли способ предотвратить заглушение звука хотя бы при обнаружении части слова пробуждения?
Я пытался искать, но это ни к чему не привело, и я не знаю, что искать. Вот несколько поисков, которые я пробовал:
  • голос приглушен, когда микрофон работает
  • голос приглушен, когда микрофон работает. Распознавание голоса python
Вот код, который Я пробовал (имеется в виду GeeksForGeeks):
import pyttsx3
import speech_recognition as sr
import datetime
import wikipedia
import webbrowser
import os
from ecapture import ecapture as ec
from urllib.request import urlopen

engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[1].id)

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

def 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("Unable to Recognize your voice.")
return "None"

return query

if __name__ == '__main__':
clear = lambda: os.system('cls')

clear()

while True:
query = takeCommand().lower()

if 'open google' in query:
speak("Here you go to Google\n")
webbrowser.open("google.com")

elif 'open youtube' in query:
speak("Here you go to Youtube\n")
webbrowser.open("youtube.com")

elif 'open stackoverflow' in query or 'open stack overflow' in query or 'open stock overflow' in query:
speak("Here you go to Stack Over flow. Happy coding")
webbrowser.open("stackoverflow.com")

elif 'open youtube' in query:
speak("Here you go to Youtube\n")
webbrowser.open("youtube.com")

elif 'open duck duck go' in query or 'open duckduckgo' in query:
speak("Here you go to Duck Duck Go\n")
webbrowser.open("https://duckduckgo.com/?t=vivaldi")

elif 'close' in query or 'exit' in query:
speak('Goodbye')
break

elif 'wikipedia' in query:
try:
speak('Searching Wikipedia...')
query = query.replace("wikipedia", "")
results = wikipedia.summary(query, sentences = 3)
speak("According to Wikipedia")
print(results)
speak(results)
except:
print('Could not serch Wikipedia')
speak('Could not serch Wikipedia')

elif 'the time' in query:
strTime = datetime.datetime.now().strftime("% H:% M:%S")
speak(f"Sir, the time is {strTime}")


Подробнее здесь: https://stackoverflow.com/questions/792 ... fled-audio
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»