- Notifications
You must be signed in to change notification settings - Fork12
Python SDK for Yandex Speechkit API.
License
tikhonp/yandex-speechkit-lib-python
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Python SDK for Yandex SpeechKit API. This SDK allows you to use the cloud API for speech recognition and synthesis from Yandex.
For more information please visitYandex Speechkit API Docs. This libsupports short and long audio recognition with speechkit
Assuming that you have Python andvirtualenv installed, set up your environment and install the required dependencieslike this, or you can install the library usingpip:
$ git clone https://github.com/TikhonP/yandex-speechkit-lib-python.git$cd yandex-speechkit-lib-python$ virtualenv venv...$. venv/bin/activate$ python -m pip install -r requirements.txt$ python -m pip install.
python -m pip install speechkit
Check outspeechkit docs for moreinfo.PDF docs
There are support of recognizing long and short audio and synthesis. For more information please read docs below.
First you need create session for authorisation:
fromspeechkitimportSessionoauth_token=str('<oauth_token>')folder_id=str('<folder_id>')api_key=str('<api-key>')jwt_token=str('<jwt_token>')oauth_session=Session.from_yandex_passport_oauth_token(oauth_token,folder_id)api_key_session=Session.from_api_key(api_key,x_client_request_id_header=True,x_data_logging_enabled=True)# You can use `x_client_request_id_header` and `x_data_logging_enabled` params to troubleshoot yandex recognition# Use `Session.get_x_client_request_id()` method to get x_client_request_id value.jwt_session=Session.from_jwt(jwt_token)
Use created session to make other requests.
There are also functions for getting credentials (readDocumentation for more info):Speechkit.auth.generate_jwt,speechkit.auth.get_iam_token,speechkit.auth.get_api_key
Short audio:
fromspeechkitimportShortAudioRecognitionrecognizeShortAudio=ShortAudioRecognition(session)withopen(str('/Users/tikhon/Desktop/out.wav'),str('rb'))asf:data=f.read()print(recognizeShortAudio.recognize(data,format='lpcm',sampleRateHertz='48000'))# Will be printed: 'text that need to be recognized'
Look at example with longaudiolong_audio_recognition.py.
Look at example with streamingaudiostreaming_recognize.py
fromspeechkitimportSpeechSynthesissynthesizeAudio=SpeechSynthesis(session)synthesizeAudio.synthesize(str('/Users/tikhon/Desktop/out.wav'),text='Text that will be synthesised',voice='oksana',format='lpcm',sampleRateHertz='16000')
In other words, you can use the code for private and commercial purposes with an author attribution (by including the original license file).
❤️
About
Python SDK for Yandex Speechkit API.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.