Skip to content
This repository has been archived by the owner on Jan 28, 2020. It is now read-only.

art1415926535/yandex_speech

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yandex_speech

https://landscape.io/github/art1415926535/yandex_speech/master/landscape.svg?style=flat

Installation

Use Pip, Luke

$ pip install yandex_speech

Usage

Text to speech

Speech to text (not ready)

Natural language understanding


Text to speech

Generation of speech using Yandex SpeechKit. SpeechKit Cloud allows you to voice any text in Russian, English, Turkish, or Ukrainian. You can choose the voice (male or female), tempo and intonation (e.g., joy).

>>> from yandex_speech import TTS
>>> tts = TTS("jane", "mp3", "60589d42-0e42-b742-8942-thekeyisalie")
>>> tts.generate("Привет мир")
>>> tss.save()
speech.mp3

TTS(speaker, audio_format, key, lang="ru‑RU", emotion="neutral", speed=1)

  • speaker - Speaker. Female: "jane", "oksana", "alyss", "omazh". Male: "zahar", "ermil";
  • audio_format - Audio file format: "mp3", "wav", "opus";
  • key - API‑key for Yandex speech kit.
  • lang (optional) - Language: "ru‑RU" (by default), "en-US", "tr-TR", "uk-UK";
  • emotion (optional) - The color of the voice: "neutral" (by default), "evil", "good";
  • speed (optional) - Speech tempo: a value between 0.1 (slowest) to 3.0 (fastest).

tts.generate(text)

  • text - Text to speech: "з+амок" (before the stressed vowel can be put "+"; the restriction on line length: 2000 bytes);

tts.save(path="speech")

  • path (optional) - A path to save file: "test", "dirname/test.mp3", ...;

Returns the path.

References

Overview tts technology

The format of request and response


Natural language understanding

Natural language understanding is a technology that allows you to find certain objects in arbitrary text and mark them.

>>> from yandex_speech import NLU
>>> nlu = NLU("60589d42-0e42-b742-8942-thekeyisalie")
>>> nlu.parse("31 апреля родился Хлусов Геннадий Викторович", ("Date", "Fio"))
{'Date': [{'Tokens': {'Begin': 0, 'End': 2}, 'Month': 4, 'Day': 31}], 'Fio': [{'Patronymic': 'викторович', 'Type': 'fioname', 'Tokens': {'Begin': 3, 'End': 6}, 'FirstName': 'генадий', 'LastName': 'хлусов'}]}

NLU(key)

NLU.parse(text, layers=None)

  • text - Text to parse.
  • layers (optional) - Special fields. Only one string or iterable object (e.g "Data", ("Data", "Fio")). Only these fields will be returned.

Returns the parsed text into a json object.

References

Overview nlu technology

The format of request and response