Giter VIP home page Giter VIP logo

jspeak's Introduction

JSpeak Banner

About this Application

Nothing else like this software exists for platforms running Linux. This software enables the user to have text spoken aloud from any text that can be highlighted including ebooks, email, web pages, use your imagination. Along with that are features I demonstrated in screenshots and a youtube video.

JSpeak Demo

http://www.youtube.com/embed/raEUJraXvwY

JSpeak in Action

Compact GUI

Button Hints

Voices

Installation and Usage

Ubuntu/Debian/Mint:

Note: I have had problems with some versions of Java. Java version 16 works best for me. I recommend you get that version.

$ wget https://github.com/BullShark/JSpeak/releases/download/2020.12.06/jspeak-2022.02.02-1-any.deb
$ sudo dpkg -i jspeak-2022.02.02-1-any.deb
$ sudo apt-get install espeak mbrola

Choose your voices. There are many, but for all english ones, do

$ sudo apt-get install mbrola-us1 mbrola-us2 mbrola-us3 mbrola-en1

Many mbrola voices can be installed through apt-get in Ubuntu/Mint. Some such as mbrola-mx1 are not available through apt. If you wish to install those. Follow the manual installation below for them.

Fedora/Suse:

# yum install espeak

Fedora and other rpm based systems do not have mbrola and mbrola packages afaik. However this is not a problem. Continue to follow the manual installation for them.

Arch/Manjaro

https://aur.archlinux.org/packages/jspeak/

# yay -S jspeak

Not required: Add some better voices for JSpeak to use.

# yay -S mbrola-voices-us1 mbrola-voices-us2 mbrola-voices-us3 mbrola-voices-en1

Manual installation of mbrola and mbrola voices (From the espeak/mbrola docs)

Linux Installation

From eSpeak version 1.44 onwards, eSpeak calls the mbrola program directly, rather than passing phoneme data to it using a pipe.

  1. To install the Linux Mbrola binary, download: http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip Unpack the archive, and copy and rename the file from: mbrola-linux-i386 to mbrola somewhere in your executable path (eg. /usr/local/bin/mbrola ).

  2. Get the English 1 (en1) voice from: http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html Unpack the archive, and copy the en1 data file (not the whole "en1" directory) to /usr/share/mbrola/en1 .

eSpeak will look for mbrola voices firstly in espeak-data/mbrola and then in /usr/share/mbrola

Note: Get as many voices as you like. Each will show in the voice selection combo box.

  1. If you use the eSpeak voice such as "mb-en1" then eSpeak will use the mbrola "en1" voice, eg:

    $ espeak -v mb-en1 "Hello world"

Note: This step is just for testing that everything is setup and working correctly.

Obtain the app from git and run

$ git clone git://github.com/BullShark/JSpeak.git

$ cd JSpeak/dist

$ java -jar -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true JSpeak.jar

Or build and run with Gradle

$ git clone git://github.com/BullShark/JSpeak.git

$ cd JSpeak

$ ./gradlew clean

$ ./gradlew build

$ ./gradlew run

You must have Java JDK installed.

Usage

  1. Toggle on the scan button (has a diamond icon). Hover your mouse over other buttons for descriptions.

  2. (Optional) Change the voice from the drop down menu of the combo box to set a better sounding mbrola voice.

  3. Start copying text from your favorite ebook, the web, email, etc. to begin having the text read to you.

Windows Users

Send an email to me.

jspeak's People

Contributors

bullshark avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

jspeak's Issues

Settings lost

After changing from the default settings and activating the scan/watch clipboard feature (through the button), the settings get reverted to default when scanning is disabled and then re-enabled. The settings show the user set non default settings. However the defaults are being used. This is occurring because the class where the settings are set is a running thread that has been killed, and then a new one gets created. This will be a simple bug to fix. There's more than one way to do it, so an efficient and most practical approach must be chosen. Possible fixes include using Java Properties (See Oracle's Java Really Big Index) or read the settings from the GUI components and then set them each time scanning is enabled. Then if fixed, sliders, etc., do not need to be disabled while the scan clipboard button is disabled. Should a boolean or two booleans or none at all be used to check ! (not) first run and/or default settings enabled to avoid a bunch of code execution when it's not needed?

Error: Unrecognized option: --enable-preview

Hello, I have installed this software on ubuntu but I have this error:

Unrecognized option: --enable-preview -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Resizing issue

Main window re sizes incorrectly using the java metal look and feel when the expand/retract button is clicked.

Voices with accents not working

Voices with accents are not working. By not working, I mean no sound is being produced. This could be because they are not matching the regular expressions under the voices directory. If the voice is es1-mx1 or something like that for a Mexican accented Spanish voice. More investigation needs to be done.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.