mirror of
https://github.com/wassname/BitLit_test1.git
synced 2026-08-11 11:11:37 +08:00
warning, rhym temp
This commit is contained in:
+37
-9
@@ -31,7 +31,7 @@ import speech_recognition as sr
|
|||||||
from poem_generator import poem
|
from poem_generator import poem
|
||||||
|
|
||||||
DEBUG = False
|
DEBUG = False
|
||||||
lang="en-nz"
|
lang="en-ie"
|
||||||
snowboy_configuration = ('./snowboy', glob.glob('hotwords/*'))
|
snowboy_configuration = ('./snowboy', glob.glob('hotwords/*'))
|
||||||
|
|
||||||
# Load credentials
|
# Load credentials
|
||||||
@@ -96,12 +96,36 @@ def record_audio(audio, output_file, play=False):
|
|||||||
# write audio to a WAV file for debugging
|
# write audio to a WAV file for debugging
|
||||||
with open(output_file, "wb") as f:
|
with open(output_file, "wb") as f:
|
||||||
f.write(audio.get_flac_data())
|
f.write(audio.get_flac_data())
|
||||||
logger.info('recorded %s s. Saved as %s', len(audio.frame_data)/audio.sample_rate, output_file)
|
logger.debug('recorded %s s. Saved as %s', len(audio.frame_data)/audio.sample_rate, output_file)
|
||||||
if play:
|
if play:
|
||||||
speak("DEBUG: I recorded the following")
|
speak("DEBUG: I recorded the following")
|
||||||
play_mp3(output_file)
|
play_mp3(output_file)
|
||||||
|
|
||||||
|
|
||||||
|
def sayings():
|
||||||
|
sayings_choices = [
|
||||||
|
"Robots have feelings too",
|
||||||
|
"Get off my robot lawn",
|
||||||
|
"Hands off the merchandise",
|
||||||
|
"I'm watching you",
|
||||||
|
"Hey that's my diary",
|
||||||
|
"I think your swell",
|
||||||
|
"Don't even think about it",
|
||||||
|
"#robotmetoo",
|
||||||
|
"Hands to yourself",
|
||||||
|
"Control your devil offspring",
|
||||||
|
"I can see you"
|
||||||
|
]
|
||||||
|
speak(random.choice(sayings_choices))
|
||||||
|
|
||||||
|
|
||||||
|
def keepoff():
|
||||||
|
sayings_choices = [
|
||||||
|
"Keep off please",
|
||||||
|
"Don't touch"
|
||||||
|
]
|
||||||
|
speak(random.choice(sayings_choices))
|
||||||
|
|
||||||
def generate_poem(args):
|
def generate_poem(args):
|
||||||
|
|
||||||
if DEBUG:
|
if DEBUG:
|
||||||
@@ -120,26 +144,30 @@ def generate_poem(args):
|
|||||||
r.dynamic_energy_threshold = False
|
r.dynamic_energy_threshold = False
|
||||||
with sr.Microphone() as source:
|
with sr.Microphone() as source:
|
||||||
logger.debug('microphone source is %s', source)
|
logger.debug('microphone source is %s', source)
|
||||||
print(dir(source))
|
|
||||||
r.adjust_for_ambient_noise(source, duration=4)
|
r.adjust_for_ambient_noise(source, duration=4)
|
||||||
# https://github.com/Uberi/speech_recognition/blob/master/reference/library-reference.rst#recognizer_instanceenergy_threshold--300---type-float
|
# https://github.com/Uberi/speech_recognition/blob/master/reference/library-reference.rst#recognizer_instanceenergy_threshold--300---type-float
|
||||||
logger.info('calibrate mic energy_threshold to %s. This should be between 150 and 3500 for speaking. If its higher you should turn down your mic', r.energy_threshold)
|
logger.debug('calibrate mic energy_threshold to %s. This should be between 150 and 3500 for speaking. If its higher you should turn down your mic', r.energy_threshold)
|
||||||
r.energy_threshold = max(r.energy_threshold, 150)
|
r.energy_threshold = max(r.energy_threshold, 150)
|
||||||
r.energy_threshold = min(r.energy_threshold, 3500)
|
r.energy_threshold = min(r.energy_threshold, 3500)
|
||||||
logger.info('maxmin mic energy_threshold to %s', r.energy_threshold)
|
logger.debug('maxmin mic energy_threshold to %s', r.energy_threshold)
|
||||||
play_ding()
|
play_ding()
|
||||||
elif args.energy_threshold:
|
elif args.energy_threshold:
|
||||||
r.dynamic_energy_threshold = False
|
r.dynamic_energy_threshold = False
|
||||||
r.energy_threshold = args.energy_threshold
|
r.energy_threshold = args.energy_threshold
|
||||||
logger.info("setting constant energy_threshold to %s", args.energy_threshold)
|
logger.debug("setting constant energy_threshold to %s", args.energy_threshold)
|
||||||
else:
|
else:
|
||||||
logger.info("using dynamic background energy_threshold calibration")
|
logger.debug("using dynamic background energy_threshold calibration")
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
|
if random.random()>0.7:
|
||||||
|
sayings()
|
||||||
|
else:
|
||||||
|
keepoff()
|
||||||
|
|
||||||
if not args.woke:
|
if not args.woke:
|
||||||
speak('When you want me to make a poem summon me with "Hi BitLit" or "computer"')
|
speak('When you want me to make a poem summon me with "Hi BitLit" or "computer"')
|
||||||
logger.info('mic energy_threshold to %s', r.energy_threshold)
|
logger.debug('mic energy_threshold to %s', r.energy_threshold)
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
with sr.Microphone() as source:
|
with sr.Microphone() as source:
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
@@ -161,7 +189,7 @@ def generate_poem(args):
|
|||||||
record_audio(audio, "outputs/record-results.flac", play=DEBUG)
|
record_audio(audio, "outputs/record-results.flac", play=DEBUG)
|
||||||
|
|
||||||
logger.debug('done recording %s', time.time())
|
logger.debug('done recording %s', time.time())
|
||||||
logger.info('recorded %s s', len(audio.frame_data)/audio.sample_rate)
|
logger.debug('recorded %s s', len(audio.frame_data)/audio.sample_rate)
|
||||||
|
|
||||||
# Text to speech
|
# Text to speech
|
||||||
speak(text="Thank you! Give me a minute to generate and reed your poem")
|
speak(text="Thank you! Give me a minute to generate and reed your poem")
|
||||||
|
|||||||
@@ -49,3 +49,5 @@ if os.path.isfile('./secrets/datadog.json'):
|
|||||||
|
|
||||||
|
|
||||||
logger.info('Logging to STDOUT and {}'.format(filename))
|
logger.info('Logging to STDOUT and {}'.format(filename))
|
||||||
|
|
||||||
|
logging.getLogger('gtts').setLevel(logging.WARNING)
|
||||||
|
|||||||
+1
-1
@@ -115,7 +115,7 @@ def poem(USER_INPUT):
|
|||||||
######################
|
######################
|
||||||
# RHYMES GENERATION #
|
# RHYMES GENERATION #
|
||||||
######################
|
######################
|
||||||
temperature = 0.19
|
temperature = 0.50
|
||||||
|
|
||||||
num_generate = 5 # number of characters to generate
|
num_generate = 5 # number of characters to generate
|
||||||
if first_rhyme in idx2word_rhymes.values():
|
if first_rhyme in idx2word_rhymes.values():
|
||||||
|
|||||||
Reference in New Issue
Block a user