Python Tinkoff Speech API
Project description
Tinkoff Python VoiceKit API Library
Usage
Install from PyPi
pip install tinkoff-voicekit-client
Common
Before using you must have API_KEY and SECRET_KEY. You can get the keys by leaving a request on our website.
Examples of using VoiceKit client:
Call documentation for public methods
from tinkoff_voicekit_client import ClientSTT API_KEY = "my_api_key" SECRET_KEY = "my_secret_key" client = ClientSTT(API_KEY, SECRET_KEY) client.something_method.__doc__
Methods initialize using config (Python dict) which satisfies one of the next json schema.
Recogniton (STT)
Example of using STT
- recognize
from tinkoff_voicekit_client import ClientSTT API_KEY = "my_api_key" SECRET_KEY = "my_secret_key" client = ClientSTT(API_KEY, SECRET_KEY) audio_config = { "encoding": "LINEAR16", "sample_rate_hertz": 8000, "num_channels": 1 } # recognise method call response = client.recognize("path/to/audio/file", audio_config) print(response)
- streaming recognize
from tinkoff_voicekit_client import ClientSTT API_KEY = "my_api_key" SECRET_KEY = "my_secret_key" client = ClientSTT(API_KEY, SECRET_KEY) audio_config = { "encoding": "LINEAR16", "sample_rate_hertz": 8000, "num_channels": 1 } stream_config = {"config": audio_config} # recognise stream method call with open("path/to/audio/file", "rb") as source: responses = client.streaming_recognize(source, stream_config) for response in responses: print(response)
- long running recognize with uploader
from tinkoff_voicekit_client import ClientSTT API_KEY = "my_api_key" SECRET_KEY = "my_secret_key" client = ClientSTT(API_KEY, SECRET_KEY) audio_config = { "encoding": "LINEAR16", "sample_rate_hertz": 8000, "num_channels": 1 } request = { "config": audio_config, "group": "group_name" } file_path = "path/to/file" audio_name_for_storage = "pretty name" # this method automatically upload audio to long running storage and return uri print(client.longrunning_recognize_with_uploader(file_path, request, audio_name_for_storage))
Example of Voice Activity Detection configuration
vad = {} vad["min_speech_duration"] = min_speech_duration vad["max_speech_duration"] = max_speech_duration vad["silence_duration_threshold"] = silence_duration_threshold vad["silence_prob_threshold"] = silence_prob_threshold vad["aggressiveness"] = aggressiveness my_config = {} my_config["vad"] = vad
Synthesize (TTS)
Example of input file:
Я жду вашего ответа. Вы готовы сделать перевод?
# Давайте уточним получателя. Как его зовут?
commented lines # will not be synthesis
Example of using TTS
- default
from tinkoff_voicekit_client import ClientTTS API_KEY = "api_key" SECRET_KEY = "secret_key" client = ClientTTS(API_KEY, SECRET_KEY) audio_config = { "audio_encoding": "LINEAR16", "sample_rate_hertz": 48000 } # use it if you want work with proto results # audio file rows_responses = client.streaming_synthesize("path/to/file/with/text", audio_config) # text rows_responses = client.streaming_synthesize("Мой красивый текст", audio_config) # use it if you want get audio file results # audio file client.synthesize_to_audio_wav("path/to/file/with/text", audio_config, "output/dir") # text client.synthesize_to_audio_wav("Мой красивый текст", audio_config, "output/dir") # ssml. There are only tag <speak> client.synthesize_to_audio_wav("<speak>Мой красивый текст</speak>", audio_config, "output/dir", ssml=True)
- change voice
from tinkoff_voicekit_client import ClientTTS API_KEY = "api_key" SECRET_KEY = "secret_key" client = ClientTTS(API_KEY, SECRET_KEY) config = { "audio_encoding": "RAW_OPUS", "sample_rate_hertz": 48000, "voice": {"name": "alyona"} } client.synthesize_to_audio_wav("Приве! Меня зовут Алена.", config)
Example of using Operations
- get operation by id
from tinkoff_voicekit_client import ClientOperations API_KEY = "my_api_key" SECRET_KEY = "my_secret_key" operations = ClientOperations(API_KEY, SECRET_KEY) running_operation_id = "42" print(operations.get_operation({"id": running_operation_id}))
- cancel operation by id
from tinkoff_voicekit_client import ClientOperations API_KEY = "my_api_key" SECRET_KEY = "my_secret_key" operations = ClientOperations(API_KEY, SECRET_KEY) operation_filter = {"exact_id": "31"} # return empty dict on success print(operations.cancel_operation(operation_filter))
Example of using Uploader
from tinkoff_voicekit_client import Uploader API_KEY = "my_api_key" SECRET_KEY = "my_secret_key" uploader = Uploader(API_KEY, SECRET_KEY) path = "path/to/file" print(uploader.upload(path, "object_name"))
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size tinkoff_voicekit_client-0.3.0-py3-none-any.whl (1.2 MB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size tinkoff_voicekit_client-0.3.0.tar.gz (1.1 MB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for tinkoff_voicekit_client-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bd6747e9c03f01262d94e27a7b1f9dbe3251962325d9cb0f39d7c15719f73ef |
|
MD5 | 135f7dd567a6116e0fc5309d88fd2804 |
|
BLAKE2-256 | 6e0cd5d5d5acfda1f7f4aab157979a194560cd8be8218ff498b89d8c48a5cbea |
Close
Hashes for tinkoff_voicekit_client-0.3.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a86b2d233d96048db8e0a292dc10ffee5bef8b511dc3949492e6c2489dd29899 |
|
MD5 | 30ccca87b5d26c4487e7e76584c70360 |
|
BLAKE2-256 | bda830d358e4a9d20b38248e0eaa95b7b9673ba28cf7954441f11db18319f7ab |