Skip to content

CrashServer/apps_reviens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Reviens 🎛️ — Perfect Loop Maker

Reviens is a small web application for creating perfectly loopable audio clips from any audio file. It provides tempo (BPM) detection, pitch detection, selection tools (snap to beat / zero crossing), enhanced crossfade options and a straightforward WAV export workflow.


🔧 Key Features

  • Drag-and-drop or file picker for loading audio (standard formats supported)
  • Waveform visualization with beat/measure navigation
  • Automatic BPM and pitch detection
  • Quick length presets (1 / 2 / 4 / 8 / 16 / 32 beats)
  • Advanced tools: crossfade types, click reduction, snap to beat / zero crossing
  • Automatic loop suggestion (FIND LOOPS)
  • WAV export with enriched filename metadata (pitch, bpm, length, crossfade, timestamp)

🚀 How to Use

  1. Open the app in your browser:

    • Open the file directly:

      reviens/reviens.html

    • Or run a local static server (recommended) from the repository root:

      # from the project root
      python3 -m http.server 8000
      # then open http://localhost:8000/reviens/reviens.html
  2. Drag and drop an audio file or click the upload area to choose a file.

  3. Use the waveform to place the loop start point, or click FIND LOOPS to let the app suggest segments.

  4. Adjust loop length (1 / 2 / 4 beats, ...), position and advanced settings (crossfade, click reduction, snap).

  5. Click EXPORT to generate a WAV file. The export applies a crossfade to create seamless loops.

Tip: For best results, enable “Snap to beat” and choose durations that match whole musical measures (1 bar, 2 bars, ...).


🗂️ Project Structure

  • reviens/reviens.html — main UI
  • reviens/REVIENS/ — scripts and styles (e.g. main.js, loop-analyzer.js, export-manager.js, etc.)

Export logic is implemented in REVIENS/export-manager.js: it produces a 16-bit WAV and builds a descriptive filename including pitch, bpm, length and timestamp.


🛠 Development & Debugging

  • No build step required — the app is static. Edit files in REVIENS/ directly.

  • To test locally:

    python3 -m http.server 8000
    # or use a static dev server (live-server, http-server, etc.)
  • Check your browser console for logs and errors (audio detection, export, permission issues).


✅ Export Details

  • Format: WAV 16-bit

  • The exporter will try to use the File System Access API when available, otherwise it will fall back to a classic download.

  • Example generated filename:

    reviens_C4_120bpm_1bar_2_0s_cos_CR_440hz_20260110_120000.wav

    (contains detected note, bpm, musical length, duration, crossfade type, click reduction flag, detected frequency and timestamp)


Contributing

  • Report issues or suggest improvements via the repository's issue tracker.
  • Fork & PR: describe your change and include tests or a demo when applicable.

License

No explicit license is provided in this repository. Add a LICENSE file (e.g. MIT, Apache-2.0) if you want to specify terms.


Credits

  • Associated with TOPLAP Strasbourg (see link in the app UI)

Contact

For questions or technical discussions, open an issue in the repository or contact the project author.


Notes & future ideas:

  • Multi-format export (MP3/OGG) via a backend or ffmpeg
  • Improve tempo detection for polyrythmic music
  • Add a small envelope editor and advanced fade shaper

Thanks — have fun making loops! 🔁🎶

About

a loop slicer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors