A wrapper of well-known translators that transform text into its phonetic transcription
Project description
Transcriber Wrapper
Inspired by Phonemizer, this a simpler version focused in transcription applications that work with IPA (International Phonetic Alphabet). This works like a wrapper which is responsible to call a back-end application, let's say espeak-ng. It adds some features on top of it like with stress
option.
Supported back-ends
Usage
You need to install espeak-ng and festival on your operational system. See Dockerfile.dev as an example. After that, you can create a transcriber and then use it in your logic:
from typing import List
import transcriber_wrapper
# The standard language is "en-us"
# The standard back-end is "espeak"
transcriber_en_us = transcriber_wrapper.build_transcriber()
def do_the_thing(words: List[str]) -> List[str]:
return transcriber_en_us.transcribe(words)
Don't forget to see test_builder.py to get insights how to use this project!
Development
Executing commands directly on the binaries
After building the remote interpreter service, just enter in it:
docker-compose run remote-interpreter sh
You must be at /usr/bin/
. Then try one of these below.
eSpeakNG
Check out these links:
Some sample commands:
espeak-ng "Hello my friend, stay awhile and listen!" -ven-us -x --ipa -q --sep=_
espeak-ng "Curiosity" -ven-us -x --ipa -q --sep=" "
espeak-ng "If you will not bow before a sultan, then you will cower before a sorcerer!" -ven-us -x --ipa -q
espeak-ng --voices
Festival
You can execute festival --help
to get a list of what you can do through what the festival developers call "Shell API" (see more details here).
You can use the script festival.lisp to get the computation from a given word, some samples:
WORD=something festival -b /app/scripts/festival.lisp
WORD=theoretically festival -b /app/scripts/festival.lisp
What you can do is just type festival
and then start its command line prompt. From there you can do the following for example:
# It will list voices available
festival> (voice.list)
# Default voice
festival> voice_default
# This won't work with our Docker image, but if you are on your ubuntu/debian machine, it may will
(SayText "Can someone refactor festival to be writen in Python with a friendly API?")
Updating pipenv dependencies
If you update Pipfile, you can issue the following command to refresh your lock file:
docker-compose run remote-interpreter pipenv update
If you'd like to add a new package, let's say a production one:
docker-compose run remote-interpreter pipenv install pyparsing
Don't forget to update your service!
docker-compose build remote-interpreter
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
Built Distribution
Hashes for transcriber-wrapper-1.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4970dcde90c8d24f7e074098463205a233fab4f56004ee28096f18be36246f31 |
|
MD5 | 60444f65a005431b491ac9dca9816988 |
|
BLAKE2b-256 | 662f30f8a201bd6183446a61d216f80404cf1c10adf9a32d6a6b5dd23072c7c8 |
Hashes for transcriber_wrapper-1.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66e3ef611c3d24602adb6a22bc8a36d538c944f4df1ec7f5c36a602a6ff93902 |
|
MD5 | d66740abfd76cc14fe855312d55c34c1 |
|
BLAKE2b-256 | 2d01de5c762fd0ae408ef9d91c539e0f0ab0dec5d04085c666a1de12f0ae7833 |