Socket
Socket
Sign inDemoInstall

media

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

media

A Media Toolkit. Text-to-speech is currently available.


Maintainers
1

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

See "Get the keys for your resource - Azure"

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 and ph 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")

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc