Fix README and fix slight issue with validation for rate and volume

* Rate and volume could be greater than 100 and don't need to have
  a sign at the start.
This commit is contained in:
rany2
2023-01-05 03:06:31 +02:00
parent 66d3e61c1a
commit 01c87b7e1c
2 changed files with 5 additions and 5 deletions

View File

@@ -68,8 +68,8 @@ Support for custom SSML has been removed since 5.0.0 because Microsoft has taken
It is possible to make minor changes to the generated speech. It is possible to make minor changes to the generated speech.
$ edge-tts --pitch=-10Hz --text "Hello, world!" --write-media hello_with_pitch_down.mp3 $ edge-tts --pitch=-10Hz --text "Hello, world!" --write-media hello_with_pitch_down.mp3
$ edge-tts --rate=0.5 --text "Hello, world!" --write-media hello_with_rate_halved.mp3 $ edge-tts --rate=-50% --text "Hello, world!" --write-media hello_with_rate_halved.mp3
$ edge-tts --volume=50 --text "Hello, world!" --write-media hello_with_volume_halved.mp3 $ edge-tts --volume=-50% --text "Hello, world!" --write-media hello_with_volume_halved.mp3
Keep in mind that the `--pitch`, `--rate`, `--volume`, etc. options are applied to the entire SSML document. Keep in mind that the `--pitch`, `--rate`, `--volume`, etc. options are applied to the entire SSML document.

View File

@@ -231,15 +231,15 @@ class Communicate:
): ):
raise ValueError(f"Invalid voice '{voice}'.") raise ValueError(f"Invalid voice '{voice}'.")
if re.match(r"^[+-]\d+Hz$", pitch) is None: if re.match(r"^[+-]?\d+Hz$", pitch) is None:
raise ValueError(f"Invalid pitch '{pitch}'.") raise ValueError(f"Invalid pitch '{pitch}'.")
self.pitch: str = pitch self.pitch: str = pitch
if re.match(r"^[+-]0*([0-9]|([1-9][0-9])|100)%$", rate) is None: if re.match(r"^[+-]?\d+%$", rate) is None:
raise ValueError(f"Invalid rate '{rate}'.") raise ValueError(f"Invalid rate '{rate}'.")
self.rate: str = rate self.rate: str = rate
if re.match(r"^[+-]0*([0-9]|([1-9][0-9])|100)%$", volume) is None: if re.match(r"^[+-]?\d+%$", volume) is None:
raise ValueError(f"Invalid volume '{volume}'.") raise ValueError(f"Invalid volume '{volume}'.")
self.volume: str = volume self.volume: str = volume