Giter VIP home page Giter VIP logo

readalong-studio's Introduction

ReadAlong-Studio

codecov Build Status PyPI package GitHub license standard-readme compliant

⚠️ 🚧 This repo is currently under construction and is not stable. 🚧 ⚠️

Audiobook alignment for Indigenous languages!

This library is an end-to-end audio/text aligner. It is meant to be used together with the ReadAlong-Web-Component to interactively visualize the alignment.

Table of Contents

Background

The concept is a web application with a series of stages of processing, which ultimately leads to a time-aligned audiobook - i.e. a package of:

  • SMIL file describing time alignments
  • TEI file describing text
  • Audio file (WAV or MP3)

Which can be loaded using the read-along web component.

Optionally a book can be generated as a standalone HTML page or as an ePub file.

  1. (optional) Pre-segment inputs, consisting of:
    • Single audio file
    • Text with page markings (assume paragraph breaks = pages)
  2. Input pages: each page consists of
    • Image file
    • Audio file
    • Text
  3. Run alignment
  4. View output and download components

Install

The best thing to do is install with pip pip install readalongs.

Otherwise, clone the repo and pip install it locally.

$ git clone https://github.com/ReadAlongs/Studio.git
$ cd Studio
$ pip install -e .

If you don't already have it, you will also need FFmpeg.

On Windows, you might also need Visual Studio Build Tools (search for "Build Tools", select C++ when prompted) and swigwin. (TODO: verify whether these are still needed now that soundswallower has replaced pocketsphinx.)

Usage

ReadAlong-Studio can be used either through the command line, a distributed web application or Docker.

CLI

Below shows some basic commands. For more information about how the command line interface works, please check the documentation. Additionally, you can add the --help flag to any command for more information.

Alignment

Basic alignment is done with the following command.

readalongs align TEXTFILE WAVFILE OUTPUTNAME

ePub

In order to generate an ePub, there are two steps:

  1. readalongs align --output-xhtml TEXTFILE WAVFILE OUTPUTNAME
  2. readalongs epub OUTPUTNAME.smil OUTPUTNAME.epub

Studio web application

ReadAlong-Studio has a web interface for creating interactive audiobooks. The web app can be served by first installing ReadAlong-Studio and then running readalongs run. A web app will then be available on port 5000.

Docker

If you are having trouble installing the package, you can also clone the repo and run the studio using Docker.

To build the Docker container, run:

docker build . --tag=readalong-studio

To run the Flask web app from the Docker container:

docker run -p 5000:5000 -it readalong-studio

Then you should be able to visit http://localhost:5000/.

Maintainers

@dhdaines. @littell. @roedoejet. @joanise.

Contributing

Feel free to dive in! Open an issue or submit PRs.

This repo follows the Contributor Covenant Code of Conduct.

Have a look at Contributing.md for help getting started.

Contributors

This project exists thanks to all the people who contribute.

@dhdaines. @eddieantonio. @finguist. @joanise. @littell. @roedoejet.

License

MIT © David Daines, Patrick Littell, Aidan Pine

readalong-studio's People

Contributors

dependabot[bot] avatar dhdaines avatar eddieantonio avatar joanise avatar roedoejet avatar vampirewalrus avatar

Watchers

 avatar

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.