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 — and any USB drive. Plug something in and Reel pulls everything new onto your PC, names it cleanly, and files it where it belongs. Re-plug the same stick and nothing copies twice. A clean terminal, a progress bar, done.

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


What it does

  • Detects what you plug in. The recorder (by label or its REC_FILE folder), and any removable USB drive — sticks, camera cards, anything that mounts.
  • Knows what it's looking at. A REC_FILE folder → voice recorder; DCIM or mostly photos → camera; mostly audio → music stick; anything else → a generic drive.
  • Copies only what's new. Every file is fingerprinted; already-synced files are skipped. Each device keeps its own dedup index, so re-plugging never duplicates.
  • One library, sorted right. Everything lands in the same Reel/ folder:
    • The recorder's audio → smart categories (Interviews / Songs / Memes / Podcasts / Voice Notes), by source folder, filename keyword, or length.
    • Everything else → by file kind: Photos, Videos, Audio, Documents, Archives, Other.
  • Names it right. Recordings and camera files get a date-first, sorts-forever name (2026-06-08_1432_IMG_0421.jpg); files that already have a real name — documents, music — keep it.
  • Fully automatic — no questions. Plug a drive in and it syncs. One shared index means the same file never copies twice, even off two different cards. (Recorder-only? Set enabled = false under [devices].)
  • Mirrors to any extra drives you list, so sync doubles as backup.
  • Runs automatically in watch mode — leave it running and every plug-in just syncs, then it bows out the moment you unplug.

Files land here — one folder, organised:

Reel/
├── Interviews/2026/2026-06-08_1432_reel-7F3A.mp3   ← recorder audio, smart-categorised
├── Songs/2026/2026-05-30_2011_reel-A1C9.mp3
├── Photos/2026/2026-05-14_0941_IMG_0421.jpg        ← anything else, filed by kind
├── Videos/2026/2026-05-14_0941_MVI_0423.mp4
├── Documents/2026/Tax Return 2025.pdf              ← real names kept
└── .reel/manifest.json                             ← one dedup index (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 :)".)

The hands-off way (recommended) — set it once and forget it:

reel auto

Reel now starts with Windows and syncs the moment you plug anything in — no terminal, nothing to remember. (See Make it truly hands-off below. reel auto off turns it back off.)

Or run it in a terminal when you want to watch it work:

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 play              # play your latest recording (right in the terminal)
reel play songs        # play through a whole category (or: interviews, voice, …)
reel play <file|word>  # play one recording, a folder, or anything matching a name
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

Listen back (reel play)

A little terminal player, same vibe as the rest: a live progress bar, a queue, and one-key controls — space pause, n / b skip, ◂ ▸ seek, ± volume, q quit. reel play alone grabs your latest recording; reel play songs (or interviews, voice, podcasts, memes) plays through that whole shelf, newest first.

Playback is an optional add-on so the core sync never depends on an audio library. Turn it on once:

pip install reel-sync[play]      # or:  pip install just_playback

Without it, reel play simply opens the file in your system's default audio app.

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

Make it truly hands-off — reel auto

One command and you never think about it again:

reel auto         # run at login + start watching now (no terminal to keep open)
reel auto off     # turn it back off
reel auto status  # is it on / running right now?

reel auto installs a tiny hidden launcher so Reel starts with Windows and watches quietly in the background. Here's what you actually see:

Plug a drive in → a window pops up showing the logo and live progress bars as it syncs. When it's done → the window tucks itself down to the taskbar (like clicking the button) and sits there as a calm "all synced" spinner. Unplug → the window vanishes. The background watcher keeps waiting for the next drive.

That's the whole thing: plug in, watch it sort, walk away. Because reel auto already runs continuously, reel start isn't needed — run it and Reel just reminds you it's already on autopilot.


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 only ever copies off your devices, never deletes from them.
  • No duplicates: one content-hash index (.reel/manifest.json) covers the whole library, so the same file off two different drives only lands once.
  • Coming later: smarter sorting, a few quality-of-life touches. See ROADMAP.md. (Any-USB-device auto-sync and built-in playback have both landed.)

REEL v2.2.0 — plug it in, sorted.

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-2.2.0.tar.gz (38.3 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-2.2.0-py3-none-any.whl (40.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for reel_sync-2.2.0.tar.gz
Algorithm Hash digest
SHA256 33dbd1962cd8995b24f32fc4e60f60d4a8179a7d8da1d03c1633e326ccf5ec3f
MD5 4c020f8d4e749c3cd26794233a0f7b36
BLAKE2b-256 755b3389928caf87162d76f7370b4bca633e03491cee152a2bad8f5dd78a8dd1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: reel_sync-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 40.7 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-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8fd76d7e281ee21160c412d2b9751badf95c3e18c6f8fd630ec10ad1ffca6fb8
MD5 64473b233392dfbb1f1e7e2100c5d311
BLAKE2b-256 8b7531ac87d3b350661472c87b3019dc3e9619a2c2e9988cf43d7711407f34b1

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