sound-effects-generator

Generate audio tones, noise, DTMF signals, and simple sound effects programmatically. Export to WAV or MP3 format.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "sound-effects-generator" with this command: npx skills add dkyazzentwatwa/chatgpt-skills/dkyazzentwatwa-chatgpt-skills-sound-effects-generator

Sound Effects Generator

Generate programmatic audio: pure tones, noise types, DTMF signals, and simple sound effects. Perfect for testing, alerts, audio cues, and placeholder sounds.

Quick Start

from scripts.sfx_generator import SoundEffectsGenerator

# Generate a tone
sfx = SoundEffectsGenerator()
sfx.tone(440, duration=1000).save("a440.wav")

# Generate white noise
sfx.noise("white", duration=2000).save("whitenoise.wav")

# Create a beep sequence
sfx.beep_sequence([440, 880, 440], durations=200, gap=100).save("alert.wav")

Features

  • Tones: Sine, square, sawtooth, triangle waveforms
  • Noise: White, pink, brown/red noise
  • DTMF: Phone dial tones
  • Sequences: Multi-tone patterns
  • Effects: Fade, volume control
  • Export: WAV, MP3

API Reference

Initialization

sfx = SoundEffectsGenerator(sample_rate=44100)

Tone Generation

# Pure sine wave
sfx.tone(frequency=440, duration=1000)

# Different waveforms
sfx.tone(440, duration=1000, waveform="sine")      # Default
sfx.tone(440, duration=1000, waveform="square")
sfx.tone(440, duration=1000, waveform="sawtooth")
sfx.tone(440, duration=1000, waveform="triangle")

# With volume (0.0 to 1.0)
sfx.tone(440, duration=1000, volume=0.5)

Noise Generation

# White noise (equal energy all frequencies)
sfx.noise("white", duration=2000)

# Pink noise (1/f, natural sounding)
sfx.noise("pink", duration=2000)

# Brown noise (1/f^2, deeper)
sfx.noise("brown", duration=2000)

# With volume
sfx.noise("white", duration=1000, volume=0.3)

DTMF Tones

# Single digit
sfx.dtmf("5", duration=200)

# Sequence (phone number)
sfx.dtmf_sequence("5551234", tone_duration=150, gap=50)

Beep Sequences

# Single beep
sfx.beep(frequency=800, duration=200)

# Multiple beeps (same frequency)
sfx.beep_sequence([800, 800, 800], durations=100, gap=100)

# Melody (different frequencies)
sfx.beep_sequence([523, 659, 784, 1047], durations=200, gap=50)

# Varying durations
sfx.beep_sequence(
    frequencies=[440, 880],
    durations=[300, 500],
    gap=100
)

Silence

# Generate silence
sfx.silence(duration=1000)

Effects

# Fade in/out
sfx.tone(440, 2000).fade_in(200).fade_out(500)

# Volume adjustment
sfx.tone(440, 1000).volume(0.5)

Chaining

# Combine multiple sounds
sfx.tone(440, 500) \
   .silence(200) \
   .tone(880, 500) \
   .save("two_tones.wav")

Save

# Save to WAV
sfx.save("output.wav")

# Save to MP3 (requires pydub)
sfx.save("output.mp3", bitrate=192)

CLI Usage

# Generate tone
python sfx_generator.py --tone 440 --duration 1000 --output tone.wav

# Generate noise
python sfx_generator.py --noise white --duration 2000 --output noise.wav

# Generate DTMF
python sfx_generator.py --dtmf "5551234" --output phone.wav

# Generate beep pattern
python sfx_generator.py --beeps "800,800,800" --duration 100 --gap 100 --output alert.wav

# With waveform
python sfx_generator.py --tone 440 --waveform square --duration 1000 --output square.wav

CLI Arguments

ArgumentDescriptionDefault
--toneFrequency in Hz-
--noiseNoise type (white, pink, brown)-
--dtmfDTMF digits-
--beepsComma-separated frequencies-
--durationDuration in ms1000
--gapGap between sounds (ms)100
--waveformTone waveformsine
--volumeVolume (0.0-1.0)0.8
--sample-rateSample rate44100
--outputOutput fileRequired

Examples

Alert Sound

sfx = SoundEffectsGenerator()
sfx.beep_sequence(
    frequencies=[880, 1100, 880, 1100],
    durations=150,
    gap=50
)
sfx.fade_out(100)
sfx.save("alert.wav")

Notification Chime

sfx = SoundEffectsGenerator()

# C-E-G chord progression
notes = [523, 659, 784]  # C5, E5, G5
for freq in notes:
    sfx.tone(freq, 200)
    sfx.silence(50)

sfx.fade_out(200)
sfx.save("chime.wav")

White Noise Background

sfx = SoundEffectsGenerator()
sfx.noise("brown", duration=60000)  # 1 minute
sfx.volume(0.3)  # Quiet
sfx.fade_in(2000)
sfx.fade_out(2000)
sfx.save("background.mp3", bitrate=128)

DTMF Phone Number

sfx = SoundEffectsGenerator()
sfx.dtmf_sequence("18005551234", tone_duration=180, gap=80)
sfx.save("phone_dial.wav")

Test Tone Sweep

sfx = SoundEffectsGenerator()

# Generate tones from 100Hz to 1000Hz
for freq in range(100, 1001, 100):
    sfx.tone(freq, 200)
    sfx.silence(50)

sfx.save("sweep.wav")

Common Frequencies

NameFrequency (Hz)
A4 (Concert pitch)440
Middle C (C4)261.63
C5523.25
Standard dial tone350 + 440
Busy signal480 + 620

Musical Notes (A4 = 440Hz)

NoteFrequency
C4261.63
D4293.66
E4329.63
F4349.23
G4392.00
A4440.00
B4493.88
C5523.25

Dependencies

numpy>=1.24.0
scipy>=1.10.0
soundfile>=0.12.0

Optional: pydub (for MP3 export)

Limitations

  • No complex synthesis (no ADSR envelopes)
  • No stereo panning
  • Limited to basic waveforms
  • MP3 export requires pydub + FFmpeg

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

qr-code-generator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

qr-barcode-reader

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

video-clipper

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

geocoder

No summary provided by upstream source.

Repository SourceNeeds Review