GithubHelp home page GithubHelp logo

psibre / gradle-marytts-voicebuilding-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from marytts/gradle-marytts-voicebuilding-plugin

1.0 2.0 0.0 1.66 MB

A replacement for the legacy VoiceImportTools in MaryTTS

Home Page: http://mary.dfki.de/

License: GNU General Public License v3.0

Groovy 82.57% Java 17.43%

gradle-marytts-voicebuilding-plugin's Introduction

Build Status Download License: GPL v3

Gradle MaryTTS voicebuilding plugin

Use this plugin to build new unitselection voices for MaryTTS. It's a replacement for the legacy VoiceImportTools.

Applying the plugin

Add this at the top of your build.gradle file:

plugins {
    id 'de.dfki.mary.voicebuilding-legacy' version '5.4'
}

For details, see https://plugins.gradle.org/plugin/de.dfki.mary.voicebuilding-legacy.

Note that Gradle v6.2 or higher is required.

Prerequisites

Required third-party software

Java 8 or higher is required.

SoX and Edinburgh Speech Tools must be installed and on the PATH.

Mac OSX

With Homebrew, just run

brew install sox speech-tools

Linux

On Debian-based systems, just run

sudo apt install sox speech-tools

Project layout

In your project directory, place the source audio, text, and label files under your build directory like this:

build
├── lab
│   ├── utt0001.lab
│   ├── utt0002.lab
│   ├── utt0003.lab
│   ├── utt0004.lab
│   └── utt0005.lab
├── text
│   ├── utt0001.txt
│   ├── utt0002.txt
│   ├── utt0003.txt
│   ├── utt0004.txt
│   └── utt0005.txt
└── resources
    └── data
        ├── utt0001.wav
        ├── utt0002.wav
        ├── utt0003.wav
        ├── utt0004.wav
        └── utt0005.wav

The audio location can be easily customized, by configuring the layout in the build.gradle like this:

// wav files under "$projectDir/wav"
wav.srcDir = file('wav')

Configuring the voice

Crucial details of the voice to be built are configured in the marytts.voice extension in the build.gradle file. Without any customization, the defaults are:

marytts {
    voice {
        name = 'my_voice'
        gender = 'female'
        language = 'en'
        region = 'US'
        domain = 'general'
        type = 'unit selection'
        description = 'A female English unit selection voice'
        samplingRate = 16000
        license {
            name = 'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International'
            shortName = 'CC BY-NC-SA 4.0'
            url = 'http://creativecommons.org/licenses/by-nc-sa/4.0/'
        }
    }
}

Any of these can (and should) be changed as needed, according to the dataset used to build the voice. The default values do not need to be specified, and the description is generated using the values of gender, language, region, and type.

Building the voice

To assemble and test the voice, run

./gradlew build

Afterwards, the packaged voice component (and its XML descriptor) will be found under build/distributions. These files can be installed in a MaryTTS v5.2 instance, by placing them in the download directory and running the MaryTTS Component Installer GUI.

gradle-marytts-voicebuilding-plugin's People

Contributors

psibre avatar seblemaguer avatar insa-k avatar

Stargazers

 avatar

Watchers

James Cloos avatar  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.