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
alphabetandphcan 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
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 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
|