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

No packages published