🎬 AV Slicer — Live Video + Audio Sampler (Web App)
Overview
AV Slicer is a single-page web app that lets you load a video file (with audio), slice it into clips, and trigger those clips from a grid of buttons, a keyboard, or a mobile mini-keyboard. It supports overlapping layers (polyphony), an optional backing track (Web Audio buffer or media element), and BPM/grid quantize so your triggers can land on beat.
No installs, no builds — open the page and perform.
Demo / Canonical
Features
- Load sources
- Video file (with audio) as the main source
- Optional backing track (audio or video)
- Slicing modes
- Fixed length (seconds)
- Equal slices by count (N slices)
- Offset start, per-clip edit (start/length), delete
- Triggering
- Grid buttons
- Keyboard banks (digits 1–0, then A–Z = 36 keys per bank; ⇧Shift = quick bank 2)
- Mobile mini-keyboard docked at bottom
- Layering
- Set maximum overlapping clips (polyphony)
- Quantize
- BPM + grid size (¼, ⅛, 1/16, ½, bar)
- Toggle on/off
- Mixer
- Master volume, clip volume, backing volume
- “Stop All Clips” panic
- UX
- “Visual follows last trigger” (seek and show the clip on the preview)
- Flash feedback on triggered clip
- Persists volumes to active media elements
- Responsive
- Single column controls + large preview; grid auto-fills
Quick Start
- Click “Video (with audio)” and choose a video file.
- (Optional) Load a Backing track (audio or video).
- Adjust slicing: Mode, Len (s) or Count, plus Offset.
- Click Make Clip Buttons.
- Trigger via:
- UI Clip buttons
- Keyboard: digits then letters (bank 1), hold ⇧Shift for bank 2
- Mini-keyboard on mobile/desktop
- Use BPM + Grid + Quantize: ON to align triggers to beat.
- Max overlap controls how many clips can play at once.
- Stop All Clips to clear layers (backing continues unless toggled off).
Controls Reference
- Sources
Video (with audio)
— file picker for main video
Backing track
— file picker for optional background (audio or video)
▶/⏸ Backing
— toggle background playback
Vol
— backing level
Master
— app-wide media level (clips + preview)
- Slicing
Mode
— Fixed length (sec)
or Equal slices (by count)
Len (s)
— seconds per clip (fixed length)
Count
— number of slices (equal slices)
Offset (s)
— start offset into the video
Max overlap
— concurrent clip limit (polyphony)
Make Clip Buttons
— create/refresh the clip grid
- Each clip has: Start, Len, Save, Delete
- Quantize
BPM
— tempo for the quantize grid
Grid
— beat division (¼, ⅛, 1/16, ½, bar)
Quantize: OFF/ON
— toggle delay-to-grid for triggers
Visual follows last trigger
— seek preview to the last clip
- Clip Defaults
Clip volume
— level applied to clip clones
Stop All Clips
— stops all playing clip layers (not the backing)
Keyboard & Banks
- Base keys per bank:
1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w x y z
(10 digits + 26 letters = 36 clips per bank)
- Banking
- Bank 1 = default mapping
- Hold ⇧Shift to fire keys in bank 2 (quick access) without switching the mini bar’s page
- Mini bar shows buttons for the current bank; use ◀ / ▶ to change
- Labels on clip buttons show the key hint (e.g.,
⇧+K
).
Architecture Notes
- Main Video: visual bus; muted (clips carry audio)
- Clip Audio: each trigger creates a hidden video clone (so decoded A/V stays in sync); clone plays audio for
dur
seconds then is removed
- Backing:
- Buffer mode (
decodeAudioData
) if audio-only decode succeeds
- Media mode (HTMLMediaElement) for other files (including video)
- Quantize: computes delay to next grid boundary using backing clock (if playing) or
performance.now()
as fallback
- Volume:
Master
applies to preview+clips; Clip volume
caps per-clip level; Vol
applies to backing bus
- Use H.264/AAC MP4 or WebM sources for best decode/playback
- Keep Max overlap reasonable for your device/CPU (e.g., 2–6)
- Shorter slice lengths reduce decode seek stress
- When using Quantize, keep BPM accurate to your backing
Accessibility
- Buttons are focusable; mini-keyboard is clickable/touchable
- Consider system Reduce Motion preferences in future updates
- Add captions to your video source for screen reader context (future)
Troubleshooting
- No sound until first click: Browsers require user interaction to unlock audio; the app resumes the AudioContext on first click.
- Back button/spacebar triggers scroll: Ensure page focus is on the document (not inside an input).
- Crackles or lag: Lower Max overlap, use shorter clips, or try a different codec/container.
- Quantize feels late: Verify BPM and grid; ensure backing is playing (quantize locks to backing clock if present).
Roadmap
- Save/Load clip sets (JSON)
- Optional MIDI in for triggers
- Per-clip transpose/playback rate and envelopes
- Basic send FX (delay/reverb) per clip layer
🌌 Philosophy and Vision
Food4Thoth is inspired by the principles of its namesake, Thoth:
- Creativity: A celebration of art, imagination, and innovation.
- Exploration: Encouraging curiosity and the pursuit of knowledge.
- Community Building: Connecting individuals through shared resources and mutual support.
- Playfulness: Balancing deep inquiry with interactive and fun experiences.
The platform is a digital garden where ancient wisdom meets modern innovation.
✨ Why Visit Food4Thoth?
- Diverse Offerings: Content that caters to various interests, from art and mysticism to community activism.
- Interactive Tools: Explore engaging applications like calculators, games, and divination apps.
- Community Engagement: Opportunities for collaboration and connection through artistic and social projects.
- Inspiration: A space to spark curiosity, reflection, and joy.
🤝 Support and Contributions
Your contributions help support innovative projects like the Rainbow Glo-Calculato, community gardens, and esoteric tools, ensuring Food4Thoth continues to thrive.
Donation Options
Traditional Payments:
- PayPal
- Venmo
Cryptocurrency:
- Ethereum (ETH) & ERC-20 Tokens:
0x900e8f0d397048fD946b05553DeD5Ed3D5e4f1a0
- Bitcoin (BTC):
bc1qcsa7ffef296pp9hkrn03p9wu7lt0fm3s2sz0wp
- Ethereum Classic (ETC):
0xEb3C0e08868ACB0f515442579333c41E7a34F215
- Solana (SOL):
B7nCFQs6HkFAvkz1wEUiPpM4Cj7G6FJNYQ7Avrt6a4cm
-
Ripple (XRP):
Address: <div class="wrap">rEAKseZ7yNgaDuxH74PkqB12cVWohpi7R6</div>
Memo: 3109966062
- Dogecoin (DOGE):
DP2e6J8NbUzswLtBw8ou2xYz4BinyzgU7n
- Cardano (ADA):
addr1qxqgjp4h4vh4pxrg7jur8m96lzf5w98cahfflrw376qhufgg6h5us0avc20ee2azzun58lgylyl54sjr6y9efwq86krs3ladtw
- Bitcoin Cash (BCH):
bitcoincash:qpu93py8j8ykcf7m6tmau2hldefl67t9lydw8afsa5
-
Stellar Lumens (XLM):
Address: <div class="wrap">GB2ES2N326MZK4EGJBKN3ZARCQ5RTFQSAWIJAAKFVIIIJSCC35TXIMLB</div>
Memo: 2967141893
- Litecoin (LTC):
ltc1qklestxa5shsym0gmuqmv2xewp56cst58vmhggl
- Tezos (XTZ):
tz1guFykj1dQAyiGH7g5YJVZzaGdoTWeMK81
💡 Wallets
- Coinbase Wallet:
0x30D47A5815D94040291a819B8E39765AA09d44A8
- Metamask Wallet:
0x30D47A5815D94040291a819B8E39765AA09d44A8
- VeWorld Wallet:
0x020a79559990145e2f7d48c5771b233399b30bee
- Anchor Wallet:
artabilly.gm
🔗 Explore the Food4Thoth Hub
Visit the Food4Thoth portal and begin your journey through creativity, mysticism, and connection.
For inquiries or feedback:
🎉 Acknowledgments
Food4Thoth represents the collective effort of artists, mystics, and community builders. Thank you to all contributors and supporters who make this digital garden flourish.
Join us and explore the endless possibilities of Food4Thoth!
⚡ Credits
Coded, and curated by DeJahn under Artabillies & FOOD4THOTH.
📝 License
© 2025 Food4Thoth. All rights reserved. Unauthorized redistribution, copying, or modification without explicit permission is prohibited.