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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file transcriber-wrapper-1.2.1.tar.gz.
File metadata
- Download URL: transcriber-wrapper-1.2.1.tar.gz
- Upload date:
- Size: 22.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4970dcde90c8d24f7e074098463205a233fab4f56004ee28096f18be36246f31
|
|
| MD5 |
60444f65a005431b491ac9dca9816988
|
|
| BLAKE2b-256 |
662f30f8a201bd6183446a61d216f80404cf1c10adf9a32d6a6b5dd23072c7c8
|
File details
Details for the file transcriber_wrapper-1.2.1-py3-none-any.whl.
File metadata
- Download URL: transcriber_wrapper-1.2.1-py3-none-any.whl
- Upload date:
- Size: 29.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66e3ef611c3d24602adb6a22bc8a36d538c944f4df1ec7f5c36a602a6ff93902
|
|
| MD5 |
d66740abfd76cc14fe855312d55c34c1
|
|
| BLAKE2b-256 |
2d01de5c762fd0ae408ef9d91c539e0f0ab0dec5d04085c666a1de12f0ae7833
|