A Media Toolkit. Text-to-speech is currently available.
Project description
Media
A Media Toolkit.
Text-to-speech is currently available.
Other features will be developed in the future.
Thanks for Microsoft Azure!
Release Note
-
0.1.3:
- Added phonemes to improve pronunciation.
- Updated the documentation.
-
0.1.2:
- Added a link to the official site (Azure) to get the key.
- Fixed some issues.
-
0.1.1: Text-to-speech is currently available.
Quick Start
Get the keys
Text-to-speech
from media import Voice
text = "One Piece! Dragon Ball! Doraemon! Naruto!"
voice = Voice("YourSubscriptionKey", "YourServiceRegion")
# use English
voice.speak(text)
# use Japanese
voice.speak(text, lang=Voice.LANG.JA_JP, voice_name=Voice.NAME.FEMALE.JA_JP_NANAMI)
# Save the voice file to the local
voice.save(text)
Use phonemes to improve pronunciation
from media import Voice, SSML
voice = Voice("YourSubscriptionKey", "YourServiceRegion")
ssml = SSML()
# If you want to modify the phoneme of a word, add '[]' in text
ssml.voice = {
"text": "His name is Mike [Zhou]",
"phonemes": [{
"word": "Zhou",
"alphabet": "ups", # default: sapi
"ph": "JH AU",
}]
}
voice.speak(ssml)
The values of
alphabet
andph
can refer to here, see: "Use phonemes to improve pronunciation - Azure"
Error detection
success = voice.speak()
if not success:
# do something...
print(voice.error)
# do something...
View the generated XML for SSML
from media import SSML
ssml = SSML()
# for human
print(ssml)
# for program
ssml.dump()
Full Example
Text-to-speech, in a different tone.
from media import Voice, SSML
voice = Voice("YourSubscriptionKey", "YourServiceRegion")
ssml = SSML(lang=SSML.LANG.ZH_CN, voice_name=SSML.NAME.FEMALE.ZH_CN_XIAO_XUAN)
ssml.voice = "啊?"
ssml.voice = {
"text": "这是可以说的吗?",
"role": SSML.ROLE.YOUNG_ADULT_FEMALE,
"style": SSML.STYLE.CHEERFUL,
"rate": SSML.RATE.MEDIUM,
}
ssml.voice = {
"text": "啊,可以可以",
"name": SSML.NAME.FEMALE.ZH_CN_XIAO_MO,
"style": SSML.STYLE.FEARFUL,
"role": SSML.ROLE.OLDER_ADULT_FEMALE,
"degree": "2",
}
ssml.voice = {
"text": "没事没事",
"name": SSML.NAME.FEMALE.ZH_CN_XIAO_MO,
"style": SSML.STYLE.SAD,
"role": SSML.ROLE.OLDER_ADULT_FEMALE,
"degree": "2",
"rate": SSML.RATE.FAST,
}
# It will play the generated speech
voice.speak(ssml)
If you want to save:
voice.save(ssml)
If you want to save and customize the name or location:
voice.save(ssml, path="这是可以说的吗.mp3")
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
media-0.1.3.tar.gz
(8.4 kB
view details)
Built Distribution
media-0.1.3-py3-none-any.whl
(8.2 kB
view details)
File details
Details for the file media-0.1.3.tar.gz
.
File metadata
- Download URL: media-0.1.3.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.0.2rc1 requests/2.24.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 620443c0af4eefc5bbc62a4bfd67fc20d7cd6acfd04fb221d3b6b8d2997b2cd9 |
|
MD5 | c0c825e09199380792053a25708e077f |
|
BLAKE2b-256 | 5a282af72f7f249215f700a5a7d46441a8af4b196fb86ec3e061d090998cd9c8 |
File details
Details for the file media-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: media-0.1.3-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.0.2rc1 requests/2.24.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1eade26b3c22a894b0d4e9992b8255fa4d98f6d618b95f2ca752f6073c7bc070 |
|
MD5 | 1b5a6a01a1ef8c53902cc309433a4d06 |
|
BLAKE2b-256 | 5300c91a6d02dd2b22be6c343cf293cbe4b691bc1c7517082b399c9de9a22821 |