From 7faab2ee32a396a3723689a2216a47bbf7d732ea Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Wed, 3 Mar 2021 13:50:20 +0000 Subject: [PATCH 1/3] Show server address on failure --- daemon.py | 1 + 1 file changed, 1 insertion(+) diff --git a/daemon.py b/daemon.py index 2ad5ff24e..d79b2f44b 100644 --- a/daemon.py +++ b/daemon.py @@ -14305,6 +14305,7 @@ def runDaemon(brochMode: bool, return False print('ERROR: HTTP server failed to start. ' + str(e)) + print('serverAddress: ' + str(serverAddress)) return False # ASCII/ANSI text banner used in shell browsers, such as Lynx From 8d085d615db7e379c8a35e5896353c065e2a7ed0 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Wed, 3 Mar 2021 13:54:47 +0000 Subject: [PATCH 2/3] Missing translations --- translations/zh.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/translations/zh.json b/translations/zh.json index 5f149d144..60cf92e5c 100644 --- a/translations/zh.json +++ b/translations/zh.json @@ -382,7 +382,7 @@ "sad face": "悲伤的脸", "thinking emoji": "思维表情符号", "laughing": "笑", - "gender": "", - "He/Him": "", - "She/Her": "" + "gender": "性别", + "He/Him": "他", + "She/Her": "她" } From 770a135d5118e604c81bb82c19e7ff5a261e1c85 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Wed, 3 Mar 2021 14:02:14 +0000 Subject: [PATCH 3/3] Alter TTS pitch based upon speaker gender --- epicyon.py | 5 ++++- speaker.py | 17 ++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/epicyon.py b/epicyon.py index 565674b26..62f283443 100644 --- a/epicyon.py +++ b/epicyon.py @@ -1945,9 +1945,12 @@ if args.speaker: if speakerJson['say'] != prevSay: if speakerJson.get('name'): nameStr = speakerJson['name'] + gender = 'They/Them' + if speakerJson.get('gender'): + gender = speakerJson['gender'] # get the speech parameters - pitch = getSpeakerPitch(nameStr, args.screenreader) + pitch = getSpeakerPitch(nameStr, args.screenreader, gender) rate = getSpeakerRate(nameStr, args.screenreader) srange = getSpeakerRange(nameStr) diff --git a/speaker.py b/speaker.py index cdccc1b3c..bd14ea414 100644 --- a/speaker.py +++ b/speaker.py @@ -16,13 +16,24 @@ from utils import getFullDomain speakerRemoveChars = ('.\n', '. ', ',', ';', '?', '!') -def getSpeakerPitch(displayName: str, screenreader: str) -> int: +def getSpeakerPitch(displayName: str, screenreader: str, gender) -> int: """Returns the speech synthesis pitch for the given name """ random.seed(displayName) + rangeMin = 1 + rangeMax = 100 + if 'She' in gender: + rangeMin = 50 + elif 'Him' in gender: + rangeMax = 50 if screenreader == 'picospeaker': - return random.randint(-8, 3) - return random.randint(1, 100) + rangeMin = -8 + rangeMax = 3 + if 'She' in gender: + rangeMin = -1 + elif 'Him' in gender: + rangeMax = -1 + return random.randint(rangeMin, rangeMax) def getSpeakerRate(displayName: str, screenreader: str) -> int: