/latex2speech

TeX2Speech is an application that turns LaTeX documents into spoken audio.

Primary LanguagePythonMIT LicenseMIT

Tex2Speech

Sleek, easy to use text-to-speech web application for converting LaTeX documents into spoken audio.
Explore Tex2Speech Docs »

Report BugRequest Feature

Getting Started

To run this locally

Note: You need to have Python on your machine and have an active Amazon Web Services account

  1. Clone this repository
  2. Create a virtual environment in root directory python3 -m venv env
  3. Activate it source env/bin/activate on Mac/Linux or source env/Scripts/activate on Windows
  4. Run pip3 install -r requirements.txt to install all dependencies
  5. Install the AWS CLI by running pip3 install awscli then run aws configure add in your AWS Secret Key and Access Key
  6. Create directory called instance in the latex2speech/app directory
  7. Create a file called config.py in the instance directory instance/config.py
  8. Create variable in config.py called SECRET_KEY and assign it a random generated key (string of random characters)
  9. To run project locally run python3 application.py

To run tests

Run the command python3 -m pytest and all tests should run. If you want a specific file to run use python3 -m pytest tests/unit/test_name.py for example.

To find how much code coverage there is, run coverage run -m pytest to create a .coverage file. Run coverage report to get full details of the report.

Documentation

Tex2Speech documentation is included in this repository under the wiki, it is also built and publicly hosted on Vercel at https://tex2speech-website.vercel.app/.

Features

  • Quickly and conveniently upload LaTeX and download mp3 with an intuitive web interface
  • Convert .bib files along with LaTeX
  • Upload and convert multiple LaTeX files at a time, as well as files zipped in .zip or .tgz files
  • Wide array of supported LaTeX functions
  • Unambiguous spoken math equations

Contributing

This project is available under the MIT license and contributions are welcomed. If you would like to contribute, please fork the repository and create a PR.