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.4 - 0.1.6: Fixed some issues.
-
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.6.tar.gz
(8.5 kB
view details)
Built Distribution
media-0.1.6-py3-none-any.whl
(8.3 kB
view details)
File details
Details for the file media-0.1.6.tar.gz
.
File metadata
- Download URL: media-0.1.6.tar.gz
- Upload date:
- Size: 8.5 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 | 92453789ade4943c74819ea2ec617f00e71164708884a7129096dc0ec691c061 |
|
MD5 | 1b702191044edeb14ca429703c5f563d |
|
BLAKE2b-256 | ede783d0ea412daa132c69a1a1d2a27a155f7e6cb850c651c5a2f47850e2018f |
File details
Details for the file media-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: media-0.1.6-py3-none-any.whl
- Upload date:
- Size: 8.3 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 | 934321a39c2d8d4d0a89a11af4a0b1a7cc67b41e9d65a0546ef248ba25fd110e |
|
MD5 | 707db7479237cc7e473c94f862a371a2 |
|
BLAKE2b-256 | e509c05b1f9fc33f243fd190afc54a8ca210b545e5b79c14a966a06e95d8be32 |