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
Release history Release notifications | RSS feed
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
Close
Hashes for tinkoff_voicekit_client-0.2.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7acc9d3e930a920615747322ec9887ab828ad131278a0f4bbf5ed62b5080a5bd |
|
MD5 | 6772e03079ab95e67bfcacab1e1c4d13 |
|
BLAKE2b-256 | 9e7ac4d1792e92597a0697fa1194719b04bd5c6812f9ceaa5a967efa0e761a80 |
Close
Hashes for tinkoff_voicekit_client-0.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b649d168a733b9b15731d496d3a4f205302619f692696ebf79a07722f44f029 |
|
MD5 | acb01d8f15942a0153b426643c42c47a |
|
BLAKE2b-256 | c0141cbb81fdfa4f7b9fd970ac99435d98b040a264a66daf34b028bd1cd2d6e9 |