Skip to main content

a python library that helps you to control the sapi5 TTS

Project description

NBSapi

what is NBSapi

the NBSapi is a python library that can help you to convert your text to speech, where you can hear it directly or save it to an audio file.
it currently working only on windows with sapi5

requirements

to use the NBSapi you just need to install the comtypes library by using
pip install comtypes

install NBSapi

to install NBSapi you can use PIP
pip install NBSapi

usage

to use the library you need to import it
from NBSapi import NBSapi
import time
#load the class
TTS = NBSapi()
#speak a text and wait
TTS.Speak("hello")
#speak without wait, (note: this step is required if you want to control the speech)
TTS.Speak("hello", 1)
#wait 0.1 sec before stop the speech
time.sleep(0.1)
TTS.Stop()

whats new

  • the stop function was changed to be working in all cases
  • modified comments to became more humen redable, and added new comments to make the code more cleer.

class functions

this library has a lot of functions that make the sapi 5 tts easy

Speak

Speak(text (string), flag (int))
this is the function that will speek text
you can use the flags that exists on the lib file\

SpeakToFile

SpeakToFile(text (string), file (string), flags (int))
create an audio file with the giving text and path

Pause

Pause()
pause the speech

Resume

Resume()
resume the speech

Stop

Stop()
Stop the Speech

GetVoice

GetVoice()
get the current voice information as a dict

SetVoice

SetVoice(voice (index, description, attribute, or object), key ("by_index", "by_description", "by_attribute", or "" for voice object))
Set the current voice, even by description, by attribute, by index starting from 0, or by object

GetVolume

GetVolume()
Get the Current volume

SetVolume

SetVolume(vol (int))
set the Current volume

GetRate

GetRate()
Get the Current Rate

SetRate

SetRate(Rate (int))
Set the Rate of the voice Between -10 and 10

GetVoices

GetVoices(attrs = "")
Get a list of dicts, each item has a voice information
so, you can use this list indexes to set the voice, it has the same order.
here also you can use attributes to get just the voices you need (take a look to tests folder)

GetAttribute

GetAttribute(attr (string))
get an attribute of the selected voice such as Name, Age, Language, and Gender.

GetStatus(

GetStatus(Property (string))
Get a state of any thing you want, you can use the declared variable that start with STS_

GetObject

get the current SPVoice object

notes:

this library is new, so i will add a features to it as i can.
if you have any idea about this library please help with it.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

NBSapi-0.4.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

NBSapi-0.4-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file NBSapi-0.4.tar.gz.

File metadata

  • Download URL: NBSapi-0.4.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for NBSapi-0.4.tar.gz
Algorithm Hash digest
SHA256 218f5666974b686c8887ab4c2cc83156a5bf65cf16fb3e001c791a0af768ea6c
MD5 c7dc5cf0e66f7d9f866018d3a3b05c09
BLAKE2b-256 94ec503793382e844e1555f9e093a07b1dd642e77b0a2b8648fb412633f8f107

See more details on using hashes here.

File details

Details for the file NBSapi-0.4-py3-none-any.whl.

File metadata

  • Download URL: NBSapi-0.4-py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for NBSapi-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 be8073584cb4bffa7afa71abdb9dec4ce7bc5a02e4b68df1934309d37bec832a
MD5 d9c1560ac984ef7336abbf3baa53a3d4
BLAKE2b-256 8682488c5badea06500f1859202dff0c9a03e47da2d83753afe0cd0cfd3ff671

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page