Just For Laughs
Setup
# Get the code
git clone https://github.com/korymath/justforlaughs;
cd justforlaughs/;
python3 -m venv venv;
source venv/bin/activate;
# Install requirements
pip install --upgrade pip;
pip install -r requirements.txt;
Run
# Run the web app
python app.py;
# Run the standalone laughter detector
python segment_laughter.py --input_audio_file example_audio.wav;
# It should output that it found 1 laugh in the example, save just the laugh cropped from the input, and the time window when laugh happened.
# Example:
# found 1 laughs.
# [{'filename': 'output/laugh_0.wav', 'start': 2.6453333333333333, 'end': 5.261913043478261}]
Fixes
For running on mac, need to ensure that the libsndfile is correclty pathed, ref: bastibe/python-soundfile#310
env DYLD_LIBRARY_PATH="/opt/homebrew/lib:$DYLD_LIBRARY_PATH" python app.py
Credits
Client-sider in-browser detection from:
Laughter detection model from:
Audio interface and recording adapted from: