Skip to main content

Fully-local sync tool for the Sony ICD-UX570 voice recorder

Project description

REEL

A fully-local, automatic sync tool for the Sony ICD-UX570. Plug in the recorder, and Reel pulls every new recording onto your PC, names it by the moment you hit record, and files it into the right category — Interviews, Songs, Memes, Podcasts, Voice Notes. Re-plug the same stick and nothing copies twice. A clean terminal, a progress bar, done.

Everything stays on your machine. The recorder is never wiped. The library is just folders — open it in Explorer any time.


What it does

  • Detects the recorder the moment it mounts (by volume label or by spotting its REC_FILE folder — works even if the label changes).
  • Copies only what's new. Each file is fingerprinted; already-synced recordings are skipped.
  • Names everything cleanly2026-06-08_1432_reel-7F3A.mp3 (date-first, sorts forever).
  • Auto-categorises using simple, tunable rules:
    • device MUSIC folder → Songs, PODCASTSPodcasts
    • a filename keyword (interview, meme, …) wins if present
    • otherwise by length: very short → Memes, very long → Interviews, else Voice Notes
  • Mirrors to any extra drives you list (USB / cloud), so sync doubles as backup.
  • Runs automatically in watch mode — leave it running and every plug-in just syncs.

Files land here:

Reel/
├── Interviews/2026/2026-06-08_1432_reel-7F3A.mp3
├── Songs/2026/2026-05-30_2011_reel-A1C9.mp3
├── Memes/2026/…
└── .reel/manifest.json      ← dedup index (so nothing copies twice)

Install

Once it's published, anyone can install it from PyPI:

pip install reel-sync

(The package is reel-sync; the command you run is just reel.)

From this folder (for development)

  1. Install Python 3.11+ (python.org → tick Add Python to PATH).
  2. Install Reel as a command — open a terminal in this folder once:
    pip install -e .
    
    That puts a reel command on your PATH, so you can run it from any folder (including C:\Users\YOU>), not just this one.
  3. Set your path in config.toml:
    [library]
    sync_root = "C:/Users/YOURNAME/Reel"
    
    Point sync_root at a cloud-synced folder (pCloud / OneDrive / Dropbox) and your off-site backup is automatic.

Reel finds this config.toml automatically wherever you run it from (it also checks ./config.toml and ~/.reel/config.toml first). No config at all? It falls back to sensible defaults (~/Reel).


Use it

You really only need two commands. Run them from anywhere — your home prompt is fine.

First time — run this, then plug in the recorder when it asks:

reel setup

A short welcome, then it waits for your ICD-UX570, does the big initial copy, and stays running as auto-sync from there. (Run reel setup again later and it just says "Already set up :)".)

Every day after — start auto-sync and leave it running:

reel start

It does the initial sync, then keeps syncing automatically whenever you drop a file onto the recorder from your PC — and it stops by itself the moment you unplug the recorder. (Press Ctrl + C to stop sooner.)

That's the whole flow. The rest is optional:

reel sync              # a single one-off sync, then exit (rarely needed)
reel sort <path>       # auto-filter a folder/files you drop in (or use the .bat)
reel status            # what's in your library, per category
reel devices           # is the recorder detected right now?
reel open              # open the Reel library in Explorer
reel reset             # clear first-time setup (to see the welcome again)
reel --theme dark start# dark terminal theme

(python -m reel start and python run.py start work identically.)

Make it truly hands-off (optional)

Put a shortcut to reel start in your Startup folder (Win+Rshell:startup). Reel will be running and watching from the moment you log in.


Branding

Light by default — colours tuned for a white terminal. Want dark? theme = "dark" in config.toml, or --theme dark on any command. Identity lives in reel/branding.py.

Notes

  • Privacy: nothing leaves your machine except the copies you put in your own mirror/cloud folders.
  • Safety: delete_after_sync = false by default — Reel copies off the recorder and never deletes from it.
  • Coming later: built-in playback, a podcast queue, smarter song-vs-voice detection. See ROADMAP.md.

REEL v1.0.0 — plug in, walk away.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reel_sync-1.0.1.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reel_sync-1.0.1-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file reel_sync-1.0.1.tar.gz.

File metadata

  • Download URL: reel_sync-1.0.1.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for reel_sync-1.0.1.tar.gz
Algorithm Hash digest
SHA256 082154ebafae18ac3856a45dd0d3b12e4515322501da1431cee1ffd2886225d3
MD5 b2fa894afe7cab472fdbdd6c3267f32e
BLAKE2b-256 1baa7d4b122a26a067a0138f09706d229f29f96a66c1c84c1b600aba7980f033

See more details on using hashes here.

File details

Details for the file reel_sync-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: reel_sync-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 24.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for reel_sync-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2c6d5a79d5a069cd689cc296ee4f9c583d6a7b6dba491e71194da7834ea4c58c
MD5 673d962c41c21ade325e52740fcd8b96
BLAKE2b-256 e2e911d259856088c376119cf8d64d7b444e9e39a8f7217da09bf415ff2f1e5d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page