Music Scripter
Generate scripts synchronized to music beats, rhythm, and song structure.
Overview
Music Scripter analyzes audio to detect beats, tempo, and song structure, then generates funscript points synchronized to the music. It is designed for PMV content or any video where you want the script to follow the rhythm.
Enhanced with the Bridge
Music Scripter works in your browser. If you have the ScriptCompiler Bridge installed, audio analysis runs natively on your machine for improved performance and additional format support. The Bridge is optional.
How It Works
- You load an audio or video file into Music Scripter
- The audio is analyzed for beat detection, tempo tracking, beat classification, and section detection
- Detected beats appear as yellow markers on the waveform
- You choose a pattern and adjust settings
- A preview of the generated script is shown as a green line over the waveform
- Click Apply to Script to add the generated points to the timeline
Getting Started
- Click the Music icon in the Tools Panel to open Music Scripter
- Drop an audio file or video file onto the drop zone, or click to browse
- Wait for analysis to complete (the progress stage is shown while it runs)
- Choose a pattern from the toolbar
- Adjust settings and preview the result
- Click Apply to Script to add points to the timeline
Supported audio formats: MP3, WAV, OGG, and FLAC. Video files are also accepted. When the Bridge is installed, it extracts audio using FFmpeg, which supports additional formats.
Settings
| Setting | Description |
|---|---|
| Sensitivity (Sens) | Beat detection sensitivity (10-90%). Higher detects more beats; lower detects only the strongest ones. |
| Intensity (Int) | Stroke intensity (10-100%). Controls how much of the position range is used. Lower values create smaller movements. |
| Range | Min/max position values (0-100). Defines the vertical range for generated strokes. |
| Pulse Duration (Dur) | Visible in Pulse mode only. Controls how long each pulse takes (100-800ms) from start to peak and back to rest. |
Rhythm Patterns
| Pattern | Description |
|---|---|
| Bounce | Full strokes timed so the peak lands exactly on each beat. Creates alternating up/down motion. |
| Wave | Smooth sinusoidal motion that peaks at each beat. Feels natural and flowing. |
| Pulse | Quick strokes that snap back to rest between beats. Overlapping pulses are automatically skipped. |
| Energy Map | Stroke height follows the loudness of each beat. Creates dynamic movement that tracks the music's intensity. |
Beat Types
Each detected beat is classified by its dominant frequency range:
| Type | Frequency Range | Typically represents |
|---|---|---|
| Kick | 20-250 Hz | Bass drum, low-end punch |
| Snare | 250-4000 Hz | Snare drum, mid-range hits |
| Hihat | 4000-16000 Hz | Hi-hat, high-frequency transients |
Beat type information is displayed in the waveform view and can be used to understand the rhythm structure of the analyzed audio.
Song Sections
In addition to individual beats, Music Scripter detects the overall structure of the song by analyzing chroma and timbre features. Sections like intro, verse, chorus, bridge, and outro are identified automatically and shown in the waveform. Use this to understand the song's shape and apply different patterns to different sections.
Tips
Choose Audio with a Clear Beat
Songs with strong, consistent beats work best. Ambient or complex polyrhythmic music may produce inconsistent results.
Use Video Files Directly
You do not need to extract audio separately. Drop the video file directly into Music Scripter and audio extraction is handled automatically.
Start with Default Settings
Begin with defaults and adjust based on the preview. Small changes to sensitivity can significantly change the number of beats detected.
Use Energy Map for Dynamic Songs
Energy Map works well for songs with dynamic volume changes because stroke height automatically follows the music's intensity.
Combine with Manual Editing
Use Music Scripter as a starting point, then manually adjust sections that need to match visual content more precisely.