From cf175244cca814ca0965b3d52e3a9c0a3bc85971 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Tue, 2 Mar 2021 14:59:39 +0000 Subject: [PATCH] picospeaker announce name of speaker --- epicyon.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/epicyon.py b/epicyon.py index c94cda504..7154750f3 100644 --- a/epicyon.py +++ b/epicyon.py @@ -1946,19 +1946,25 @@ if args.speaker: if speakerJson: if speakerJson['say'] != prevSay: if speakerJson.get('name'): - # say the speaker's name - print(html.unescape(speakerJson['name']) + ': ' + + # Get the speech parameters, based upon the speaker's name + nameStr = speakerJson['name'] + print(html.unescape(nameStr) + ': ' + html.unescape(speakerJson['say']) + '\n') - pitch = getSpeakerPitch(speakerJson['name']) + pitch = getSpeakerPitch(nameStr) if args.screenreader == 'espeak': espeak.set_parameter(espeak.Parameter.Pitch, pitch) - rate = getSpeakerRate(speakerJson['name']) + rate = getSpeakerRate(nameStr) if args.screenreader == 'espeak': espeak.set_parameter(espeak.Parameter.Rate, rate) - srange = getSpeakerRange(speakerJson['name']) + srange = getSpeakerRange(nameStr) + + # say the speaker's name if args.screenreader == 'espeak': espeak.set_parameter(espeak.Parameter.Range, srange) - espeak.synth(html.unescape(speakerJson['name'])) + espeak.synth(html.unescape(nameStr)) + elif args.screenreader == 'picospeaker': + os.system('picospeaker "' + + html.unescape(nameStr) + '"') time.sleep(3) # append image description if needed