Skip to main content

Voice Robotifier

This module contains an extremely simple class for recording audio, then playing it back using the text-to-speech program DECtalk.

Setup

Installation is made easy using pip:

pip install voice-robotifier

Example

import voice_robotifier

vr = voice_robotifier.VoiceRobotifier()

vr.set_voice_name('Harry')
vr.set_voice_rate(250) # words per minute

# optional: use different input/output devices than your current default
# vr.set_input_device('Microphone (C-Media USB Audio Device)')
# vr.set_output_device('CABLE Input (VB-Audio Virtual Cable)')

push_to_talk_key = 'v'
vr.start(push_to_talk_key)

Reference

VoiceRobotifier() -> VoiceRobotifier

Creates a new VoiceRobotifier instance.

VoiceRobotifier.start(key: Union[int, str], key_quit: Union[int, str] = 'esc', block: bool = True) -> Callable[None, None]

Starts the VoiceRobotifier in push-to-talk mode, where key is an int or str representing the desired push-to-talk key, and key_quit represents the key that should cause the thread to stop.

The operations of the method take place in a daemon thread, which the current thread will join on if block is True. If you want to carry out other program operations while it runs, set block to False.

Returns a function that stops the daemon thread when called. (This is really only useful when block is False, since otherwise the function will never return anything until an exception occurs.)

VoiceRobotifier.start_autodetect(energy_threshold: Union[float, None] = None, key_quit: Union[int, str] = 'esc', block: bool = True) -> Callable[None, None]

Starts the VoiceRobotifier in autodetect mode -- it will wait for the audio input to have a greater energy level than energy_threshold before processing it. This value should generally be from 150 to 3500 in most cases. If energy_threshold is None, the input device's current energy level will be sampled to auto-determine an energy level.

The key_quit and block arguments as well as the returned function act the same as those in VoiceRobotifier.start.

VoiceRobotifier.set_voice_name(voice_name: str) -> None

Sets the voice that should be used for generating text-to-speech audio. voice_name should be a name from the list returned by VoiceRobotifier.list_voices.

VoiceRobotifier.set_voice_rate(voice_rate: int) -> None

Sets the speed of the voice used for text-to-speech in words per minute. 200 is the default.

VoiceRobotifier.list_voice_names() -> List[str]

Returns a list of the names of all text-to-speech voices available through DECtalk. They can be passed as arguments to VoiceRobotifier.set_voice.

VoiceRobotifier.set_input_device(device_name: str) -> None

Sets the device used to get audio for speech recognition purposes. device_name should be a name from the list returned by VoiceRobotifier.list_device_names. If this method is never called on a VoiceRobotifier object, it will use the system's default input device.

VoiceRobotifier.set_output_device(device_name: str) -> None

Sets the device used to output the generated text-to-speech audio. device_name should be a name from the list returned by VoiceRobotifier.list_device_names. If this method is never called on a VoiceRobotifier object, it will use the system's default output device.

VoiceRobotifier.list_device_names() -> List[str]

Returns a list of device names on the system that can be passed as arguments to VoiceRobotifier.set_input_device and VoiceRobotifier.set_output_device

Release files for voice-robotifier 1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for voice-robotifier 1.1
File Size Uploaded
voice_robotifier-1.1.tar.gz 514.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for voice-robotifier 1.1
File Interpreter ABI Platform
voice_robotifier-1.1-py3-none-any.whl Python 3 none any Details

Total release size:1.0 MB

Release files / voice_robotifier-1.1.tar.gz

Download URL voice_robotifier-1.1.tar.gz
Size 514.0 kB
Tags Source
SHA-256 checksum
How to use checksums
09dc702f453c83d0d468931f54d6ccd488c1776dbf7fca1e6dacabc8aab5fb7d
BLAKE2b-256 checksum
How to use checksums
a6c6ed6e4a22406e31791571a824352e34991a98e2bc89c8e350d821cea30a73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.6

Release files / voice_robotifier-1.1-py3-none-any.whl

Download URL voice_robotifier-1.1-py3-none-any.whl
Size 511.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
83b3f3d71cbe1dce1e11c054a0a9500176e0f65b3a304381b3b0e23083261bce
BLAKE2b-256 checksum
How to use checksums
2f9daeda8158179516a644816312a74f663b64e674f2cbfdf0ab0595aa6b85d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.6

Release history Release notifications | RSS feed

This release

1.1 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page