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.4.0.tar.gz (41.6 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.4.0-py3-none-any.whl (44.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: reel_sync-2.4.0.tar.gz
  • Upload date:
  • Size: 41.6 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.4.0.tar.gz
Algorithm Hash digest
SHA256 33024d2367552c2b6f88fc2774213f9ff8714597ec48283d3c8b32926b123e01
MD5 2e3c6e589b76e08bae8a1eeb2daf6cd6
BLAKE2b-256 367a8d7ae8fa795b4131e7cfe348b03a372c194753d2fbce07e2543fade676f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: reel_sync-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 44.4 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bfdef4ca9584726c886cc30b161fe446f644d2db1c26775df30a434a14fdff05
MD5 2bb6d99d830d56445df0b8b764434c13
BLAKE2b-256 dc9a3c71833043cb9e413d80a0c7f2e05ce6660bcf32d242cc35dcae70733106

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