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, IMWUT'25
- Camera Ready PDF
@article{youpeng_wscoach_2025,
title = { {WSCoach}: {Wearable} {Real-time} {Auditory} {Feedback} for {Reducing} {Unwanted} {Words} in {Daily} {Communication}},
shorttitle = {{WSCoach}},
journal = {Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies},
author = {Youpeng, Zhang and Janaka, Nuwan and Ram, Ashwin and Yin, Peilin and Yang, Tian and Zhao, Shengdong and Dragicevic, Pierre},
year = {2025},
doi = {10.1145/3749531},
}
- 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.
- Make sure Python3 (>=3.10) is installed.
- Install the required dependencies in
requirement.txt(e.g.,pip install -r requirement.txt).
- Run the
HTML_render.py(python HTML_render.py) to 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
FasterWhisperModelclass into your Python script.from faster_whisper import FasterWhisperModel
-
Create an instance of the
FasterWhisperModelclass.model = FasterWhisperModel()
-
Use the
TranscribeFilemethod to transcribe audio from a file.text = model.TranscribeFile("./path/to/audio/file.wav") print(f"Transcribed Text: {text}")
-
Use the
TranscribeArraymethod 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
Recordclass into your Python script.from Record import Record
-
Create an instance of the
Recordclass.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
TTSclass into your Python script.from TTS import TTS
-
Create an instance of the
TTSclass.tts = TTS()
-
Optionally, set the speech rate.
tts.SetRate(2.0)
-
Use the
Word2Filemethod 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.