Skip to content

dezmathio/seagull

Repository files navigation

Seagull Screech Simulator 🦅

A delightfully chaotic web app that generates random seagull sounds using a mix of text-to-speech, synthesized audio, and real recordings from Ashergull and Owengull (the twins).

Features

  • 🎭 Multiple Seagull Moods: Calm, Hungry, Angry, and Chaotic
  • 🗣️ Multi-language TTS: Voices in English, French, Chinese, and Icelandic
  • 🤖 Synthesized Sounds: AI-generated seagull-like audio
  • 👨‍👩‍👧‍👦 Family Recordings: Real seagull impressions from the nephews
  • 🎨 Fun UI: Emoji mood indicators and ASCII art attacks
  • 📊 Attack Counter: Track how many times you've been screeched at

Setup

Prerequisites

  • Python 3.7+
  • macOS (for TTS generation)
  • FFmpeg (for audio conversion)

Installation

  1. Clone the repository

    git clone <your-repo-url>
    cd seagull
  2. Create a virtual environment

    python3 -m venv venv
    source venv/bin/activate
  3. Install dependencies

    pip install -r requirements.txt

Running the App

  1. Activate virtual environment (if not already active)

    source venv/bin/activate
  2. Start the Flask server

    python app.py
  3. Open your browser and go to:

    http://localhost:5000
    
  4. Click "SCREECH ME!" and enjoy the chaos! 🦅

Project Structure

seagull/
├── app.py                 # Flask web application
├── seagulls.py           # Core seagull logic and data
├── generate_audio.py     # TTS audio generation script
├── synthesized_seagulls.py # Audio synthesis script
├── requirements.txt      # Python dependencies
├── static/              # Audio files directory
│   ├── *_en.wav         # English TTS sounds
│   ├── *_fr.wav         # French TTS sounds
│   ├── *_zh.wav         # Chinese TTS sounds
│   ├── *_is.wav         # Icelandic TTS sounds
│   ├── *_synth.wav      # Synthesized sounds
│   └── nephews_*.wav    # Family recordings
└── README.md           # This file

Generating New Sounds

TTS Sounds (macOS only)

python generate_audio.py

Synthesized Sounds

python synthesized_seagulls.py

Adding Family Recordings

  1. Record audio using Voice Memos app (saves as .m4a)
  2. Convert to WAV:
    ffmpeg -i recording.m4a recording.wav
  3. Move to static/ directory
  4. Update the SCREECHES dictionary in generate_audio.py

API Endpoints

  • GET / - Main web interface
  • GET /screech - Get random seagull sound
  • GET /screech?mood=angry - Get specific mood
  • GET /moods - List available moods
  • GET /attack - ASCII art seagull attack

Contributing

Feel free to add more seagull sounds, improve the UI, or suggest new chaotic features!

License

This project is licensed under the "Do Whatever You Want With Seagulls" license. 🦅


"This is fire!" - The Niece, 2025

About

a vacation project I made with family

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages