Accepting request 941693 from Education
- Replace tts_lang.patch with mimic.patch, switching the TTS engine to free mimic (svox is non-free), and allowing inclusion into openSUSE. - Add tts_lang.patch to allow setting language of TTS (gh#wustho/epy#43). OBS-URL: https://build.opensuse.org/request/show/941693 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/epy?expand=0&rev=3
This commit is contained in:
commit
0bfa2c09d1
12
epy.changes
12
epy.changes
@ -1,3 +1,15 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 20 19:39:29 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Replace tts_lang.patch with mimic.patch, switching the TTS engine to
|
||||||
|
free mimic (svox is non-free), and allowing inclusion into openSUSE.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Dec 17 10:13:56 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Add tts_lang.patch to allow setting language of TTS
|
||||||
|
(gh#wustho/epy#43).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Nov 27 10:19:32 UTC 2021 - mcepl@cepl.eu
|
Sat Nov 27 10:19:32 UTC 2021 - mcepl@cepl.eu
|
||||||
|
|
||||||
|
4
epy.spec
4
epy.spec
@ -24,12 +24,16 @@ License: GPL-3.0-only
|
|||||||
URL: https://github.com/wustho/epy
|
URL: https://github.com/wustho/epy
|
||||||
# Source: https://files.pythonhosted.org/packages/source/e/epy-reader/epy-reader-%%{version}.tar.gz#/epy-%%{version}.tar.gz
|
# Source: https://files.pythonhosted.org/packages/source/e/epy-reader/epy-reader-%%{version}.tar.gz#/epy-%%{version}.tar.gz
|
||||||
Source: epy-%{version}.tar.gz
|
Source: epy-%{version}.tar.gz
|
||||||
|
# PATCH-FIX-UPSTREAM mimic.patch gh#wustho/epy#42 mcepl@suse.com
|
||||||
|
# Use mimic instead of non-free svox.
|
||||||
|
Patch0: mimic.patch
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python3-mobi
|
BuildRequires: python3-mobi
|
||||||
BuildRequires: python3-setuptools
|
BuildRequires: python3-setuptools
|
||||||
Requires: python3-mobi
|
Requires: python3-mobi
|
||||||
Suggests: sdcv
|
Suggests: sdcv
|
||||||
Suggests: dictd
|
Suggests: dictd
|
||||||
|
Suggests: mimic
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
|
93
mimic.patch
Normal file
93
mimic.patch
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
From 30596836fcd707098bbae6ebe453e67eb2caef87 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= <mcepl@cepl.eu>
|
||||||
|
Date: Mon, 20 Dec 2021 19:50:30 +0100
|
||||||
|
Subject: [PATCH] Use mimic instead of pico2wave.
|
||||||
|
|
||||||
|
Unfortunately, the language setting is gone again.
|
||||||
|
|
||||||
|
Fixes #42
|
||||||
|
---
|
||||||
|
README.md | 10 ++++------
|
||||||
|
epy.py | 22 +++++++++-------------
|
||||||
|
2 files changed, 13 insertions(+), 19 deletions(-)
|
||||||
|
|
||||||
|
--- a/README.md
|
||||||
|
+++ b/README.md
|
||||||
|
@@ -93,21 +93,19 @@ But you can enable it by setting `MouseS
|
||||||
|
|
||||||
|
To get Text-to-Speech (TTS) support, you need to install these external dependencies:
|
||||||
|
|
||||||
|
-- `pico2wave` (from `libttspico-utils` package (Ubuntu) or `svox-pico-bin` package (AUR))
|
||||||
|
-- `play` (from `sox` package)
|
||||||
|
+- `mimic` package (AUR))
|
||||||
|
|
||||||
|
eg.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ # Ubuntu
|
||||||
|
-$ apt install libttspico-utils sox
|
||||||
|
+$ apt install mimic
|
||||||
|
|
||||||
|
$ # Arch
|
||||||
|
-$ yay -S svox-pico-bin
|
||||||
|
-$ pacman -S sox
|
||||||
|
+$ pacman -S mimic
|
||||||
|
```
|
||||||
|
|
||||||
|
-And then make sure `pico2wave` and `play` is in `$PATH`.
|
||||||
|
+And then make sure `mimic` is in `$PATH`.
|
||||||
|
|
||||||
|
## Double Spread
|
||||||
|
|
||||||
|
--- a/epy.py
|
||||||
|
+++ b/epy.py
|
||||||
|
@@ -1871,7 +1871,7 @@ class Reader:
|
||||||
|
self.jump_list: Mapping[str, ReadingState] = dict()
|
||||||
|
|
||||||
|
# TTS speaker utils
|
||||||
|
- self._tts_support: bool = any([shutil.which("pico2wave"), shutil.which("play")])
|
||||||
|
+ self._tts_support: bool = any([shutil.which("mimic")])
|
||||||
|
self.is_speaking: bool = False
|
||||||
|
|
||||||
|
# multi process & progress percentage
|
||||||
|
@@ -2334,19 +2334,16 @@ class Reader:
|
||||||
|
self.screen.refresh()
|
||||||
|
self.screen.timeout(1)
|
||||||
|
try:
|
||||||
|
- _, path = tempfile.mkstemp(suffix=".wav")
|
||||||
|
- subprocess.call(
|
||||||
|
- ["pico2wave", "-w", path, text],
|
||||||
|
- stdout=subprocess.DEVNULL,
|
||||||
|
- stderr=subprocess.DEVNULL,
|
||||||
|
- )
|
||||||
|
- speaker = subprocess.Popen(
|
||||||
|
- ["play", path, "tempo", str(self.setting.TTSSpeed)],
|
||||||
|
+ spk = subprocess.Popen(
|
||||||
|
+ ["mimic"], text=True,
|
||||||
|
+ stdin=subprocess.PIPE,
|
||||||
|
stdout=subprocess.DEVNULL,
|
||||||
|
- stderr=subprocess.DEVNULL,
|
||||||
|
+ stderr=subprocess.STDOUT,
|
||||||
|
)
|
||||||
|
+ spk.stdin.write(text)
|
||||||
|
+ spk.stdin.close()
|
||||||
|
while True:
|
||||||
|
- if speaker.poll() is not None:
|
||||||
|
+ if spk.poll() is not None:
|
||||||
|
k = self.keymap.PageDown[0]
|
||||||
|
break
|
||||||
|
tmp = self.screen.getch()
|
||||||
|
@@ -2373,12 +2370,11 @@ class Reader:
|
||||||
|
+ self.keymap.ScrollDown
|
||||||
|
+ (curses.KEY_RESIZE,)
|
||||||
|
):
|
||||||
|
- speaker.terminate()
|
||||||
|
+ spk.terminate()
|
||||||
|
# speaker.kill()
|
||||||
|
break
|
||||||
|
finally:
|
||||||
|
self.screen.timeout(-1)
|
||||||
|
- os.remove(path)
|
||||||
|
|
||||||
|
if k in self.keymap.Quit:
|
||||||
|
self.is_speaking = False
|
Loading…
Reference in New Issue
Block a user