Skip to main content

Morshu text-to-speech

Project description

MorshuTalk

A Morshu text-to-speech program.

This program works by converting the given text into phonemes with g2p_en, then concatenates the segments of Morshu's audio where he speaks those phonemes.

Requirements

Python 3.7+ (tested on Windows, should also work on Linux and macOS)

Python is not required if you're just using the MorshuTalk executable.

Installation

Windows Executable

If you're on Windows and you don't want to install Python, you can download an executable from the latest release on GitHub. Simply download the 7z or ZIP archive (they're both identical) and extract it.

Python Package

If you have Python installed, you can install this with pip:

pip install morshutalk

Or you can clone this repo and run the setup script:

python setup.py install

This installs all the packages necessary for running MorshuTalk from the command-line. If you want to use the GUI, you will also need to install PySide6. (It's not included by default because it's a slightly larger download.)

pip install PySide6

Running

Windows Executable

Just run MorshuTalk.exe to start the GUI.

Python Package

Installing the package will add the commands morshutalk and morshutalkgui to your command-line. If those commands don't work, you can run the modules with python -m morshutalk or python -m morshutalkgui.

Command-Line

Run morshutalk to load the interactive command-line app. Simply type whatever lines you want Morshu to speak, then he will talk. To exit, leave the line blank and hit enter.

GUI

Run morshutalkgui to load the GUI app. Remember that PySide6 is required.

Type text into the textbox, then click Load to load the audio. Click Play to hear the audio. The Morshu sprite will animate as he speaks. You can toggle the sprite visibility from the View menu.

Building

  1. Clone this repo.
  2. Create a virtual environment and activate it.
  3. Install the required packages with pip install -r requirements.txt
  4. If you make changes to mainwindow.ui, update ui_mainwindow.py with:
pyside6-uic morshutalkgui\ui\mainwindow.ui -o morshutalkgui\ui_mainwindow.py --from-imports
  1. If you make changes to res.qrc, update res_rc.py with:
pyside6-rcc morshutalkgui\res\res.qrc -o morshutalkgui\res_rc.py
  1. Use build to create a distributable package:
    1. Install it with pip install build
    2. Run python -m build. A tar.gz and wheel package should be located in the dist folder.
  2. Use cx_freeze to build an executable for Windows:
    1. Install it with pip install cx_freeze
    2. Run python setup.py build. The executable and many other files should be located in the build folder.
    3. Run python clean_cx_freeze_build.py to remove unnecessary files. (cx_freeze does a bad job at choosing what packages are necessary. This script removes 150+ MB of unused files.)

License

MIT License

This uses the following libraries:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MorshuTalk-0.0.1.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

MorshuTalk-0.0.1-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file MorshuTalk-0.0.1.tar.gz.

File metadata

  • Download URL: MorshuTalk-0.0.1.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.4

File hashes

Hashes for MorshuTalk-0.0.1.tar.gz
Algorithm Hash digest
SHA256 70904f6eda305043f918dbea61cf1f5b541d378f640be3f7b5d89315504c67e9
MD5 a19213968331daadef8c243df55ad70b
BLAKE2b-256 67aa945f5c12be7e2bba479e3e6b84fa948cc12226f4a3b98d54afa53266a446

See more details on using hashes here.

File details

Details for the file MorshuTalk-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: MorshuTalk-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.4

File hashes

Hashes for MorshuTalk-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3b6c6c5a7fbe7b2dab134154a5450f68b5945b6942d34dc9ad90568341543819
MD5 0209cd82092256315126ce42878da327
BLAKE2b-256 c74f8b7b3c6c3b7995e905970261737d10704b35b95950860c7a7c36c5f282ed

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page