A wearable assistant that uses auditory feedback to help users avoid unwanted words in everyday conversation.
- WSCoach: Wearable Real-time Auditory Feedback for Reducing Unwanted Words in Daily Communication, UbiComp/ISWC'25
- Camera Ready PDF
- Project folder (private access): here
- Word Detection: Recognizes specific words or phrases in a given text string.
- Tracking: Keeps track of the number of times each word is detected.
No additional installation is required for this module. However, make sure that the required dependencies are installed in your Python environment, the required dependencies is listed in the requirement.txt
.
If you want a easy show of the WSCOACH, just run the HTML_render.py
and then you can use the basic features of WSCOACH.
The FasterWhisperModel
module provides a wrapper for the Faster-Whisper ASR (Automatic Speech Recognition) model. It allows for efficient transcription of audio files or arrays, with a focus on faster processing.
- Fast Transcription: Utilizes the Faster-Whisper ASR model for efficient and quick audio transcription.
- File and Array Transcription: Supports transcription from both audio files and arrays.
No additional installation is required for this module. However, make sure that the required dependencies are installed in your Python environment.
-
Import the
FasterWhisperModel
class into your Python script.from faster_whisper import FasterWhisperModel
-
Create an instance of the
FasterWhisperModel
class.model = FasterWhisperModel()
-
Use the
TranscribeFile
method to transcribe audio from a file.text = model.TranscribeFile("./path/to/audio/file.wav") print(f"Transcribed Text: {text}")
-
Use the
TranscribeArray
method to transcribe audio from a NumPy array.text = model.TranscribeArray(audio_array) print(f"Transcribed Text: {text}")
The Record
module provides functionality for recording audio using the PyAudio library. It captures audio input from a specified input device and writes it to a WAV file. Additionally, it supports playing back recorded audio.
- Audio Recording: Records audio input from a specified input device.
- Buffer Management: Manages an internal buffer to store audio data efficiently.
- Wave File Creation: Writes recorded audio to a WAV file.
- Audio Playback: Supports playback of recorded audio.
No additional installation is required for this module. However, make sure that the required dependencies are installed in your Python environment.
-
Import the
Record
class into your Python script.from Record import Record
-
Create an instance of the
Record
class.record = Record()
-
Optionally, set the input and output devices using the provided methods.
input_device_names = record.get_device_input_names() output_device_names = record.get_device_output_names() record.set_device_input_index("Your_Input_Device_Name") record.set_device_output_index("Your_Output_Device_Name")
-
Start the recording thread.
record.start()
-
Optionally, capture the audio buffer.
audio_buffer = record.GetBuffer()
-
Optionally, end the recording.
record.endRecord()
-
Optionally, play the recorded audio.
record.playWave("Your_Wave_File_Name", detect=detect_instance, first_name="Your_First_Name")
The TTS
module utilizes the pyttsx4 library to convert text into speech and save the generated audio as WAV files. It provides the ability to adjust the speech rate and save individual words or phrases as separate audio files.
- Text-to-Speech Conversion: Converts input text into speech.
- Adjustable Speech Rate: Allows the user to set the speech rate.
- Saving to WAV Files: Saves the generated speech as WAV files.
No additional installation is required for this module. However, make sure that the required dependencies are installed in your Python environment.
-
Import the
TTS
class into your Python script.from TTS import TTS
-
Create an instance of the
TTS
class.tts = TTS()
-
Optionally, set the speech rate.
tts.SetRate(2.0)
-
Use the
Word2File
method to convert and save text as a WAV file.tts.Word2File("Hello World")
If you would like to contribute to the development of this project or report issues, please contract us.
This project is open source and available under the MIT License.