Mycroft Mimic: Difference between revisions
| (6 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
[[Category:Mycroft]] | [[Category:Mycroft]] | ||
[[Category:TTS]] | [[Category:TTS]] | ||
| Line 13: | Line 12: | ||
===Build Mimic 1 on device=== | ===Build Mimic 1 on device=== | ||
While setting up a Mycroft device installer will ask to build Mimic 1 locally. If you initially skipped this you can also re-run dev_setup.sh with a -fm flag for "force mimic".<blockquote>./dev_setup.sh -fm</blockquote>You can do the opposite, by running flag to "skip mimic":<blockquote>./dev_setup.sh -sm</blockquote> | While setting up a Mycroft device installer will ask to build Mimic 1 locally. If you initially skipped this you can also re-run dev_setup.sh with a -fm flag for "force mimic".<blockquote>./dev_setup.sh -fm</blockquote>You can do the opposite, by running flag to "skip mimic":<blockquote>./dev_setup.sh -sm</blockquote> | ||
== Installation (mimic v1) == | |||
===== On Arch based distros ===== | |||
Install from the AUR: https://aur.archlinux.org/packages/mimic | |||
===== On Debian based distros ===== | |||
<code>$ sudo apt-get install gcc make pkg-config automake libtool libasound2-dev</code> | |||
===== On Fedora based distros ===== | |||
<code>$ sudo dnf install gcc make pkgconfig automake libtool alsa-lib-devel</code> | |||
Mimic v1 source: https://github.com/MycroftAI/mimic1 | |||
== KDE & gnome integration (mimic v1) == | |||
This setup will let you read text with mimic tts from '''any application''' on your system simply by pressing a keyboard command. | |||
After installing mimic on your system adding this line to a custom keyboard shortcut in KDE or Gnome. | |||
<code>xsel > /tmp/speak.txt | sleep 0.3 | mimic -f /tmp/speak.txt | pkill xsel</code> | |||
I further optimised this by adding some configuration options that change the pitch and speed of the voice: | |||
<code>xsel > /tmp/speak.txt | mimic -voice slt --setf duration_stretch=0.85 --setf int_f0_target_mean=165 -f /tmp/speak.txt | pkill xsel</code> | |||
Stop mimic with: | |||
<code>pkill mimic</code> | |||
'''Important:''' as these commands are run as a scrip instead of in a full shell environment its best to put the full path to each application you call, for example: usr/bin/xsel & usr/bin/mimic etc. | |||
In gnome open system settings then go to: Keyboard » Customise Shortcuts » Custom Shortcuts » + and make two new shortcuts, one to start reading using the line above and another shortcut to stop reading with the <code>pkill mimic</code> command. | |||
In KDE open system settings then go to: Shortcuts » Custom Shortcuts and make to new shortcuts one to start reading using the line above and another shortcut to stop reading with the <code>pkill mimic</code> command. | |||
Create a file for xsel to store the text you want to read. In this example this file is in the /tmp directory and is called speak.txt (but you can use a different file name and directory if you like). | |||
'''What do these commands and switch’s do:''' | |||
<code>xsel > my_file_name.txt</code> (over rights the text in the file with highlighted text) | |||
<code>sleep 0.3</code> (tells the next command to wait for 0.3 seconds) | |||
<code>mimic</code> (calls the mimic tts engine to start speaking) | |||
<code>-voice slt</code> (sets the voice to the slt voice) | |||
<code>--setf duration_stretch=0.85</code> (makes it speak 25% faster (1 = normal speed and 1.5 in slower 50%)). | |||
<code>--setf int_f0_target_mean=165</code> (makes the pitch higher and =1 would make the pitch very low). | |||
<code>-f</code> (means read text from file) | |||
<code>pkill xsel</code> (stops the computer starting a new process for xsel every time this command is run). | |||
There are quite a few voices installed with Mimic, the voice slt was my favourite. Type: <code>mimic -lv</code> in terminal to see a list of installed voices. Type: <code>man mimic</code> to see all the options and switches. | |||
Mimic is built on [https://github.com/festvox/flite flite-tts] and the commands are the same as far as I can see. | |||
Source: https://ebenfarnworth.substack.com/p/text-to-speech-tts-on-linux | |||