/justforlaughs

Primary LanguagePythonMIT LicenseMIT

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: