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.3.0.tar.gz (40.8 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.3.0-py3-none-any.whl (43.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: reel_sync-2.3.0.tar.gz
  • Upload date:
  • Size: 40.8 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.3.0.tar.gz
Algorithm Hash digest
SHA256 5ad03b27b85318bf218897446f72b0ad8b7057e8d0eb7c6df2ce5261a5d53c90
MD5 549a81786c56accd7408853d7edf74f5
BLAKE2b-256 13844c65b5ef246e43b7a045395b5f9f05b646510ad42f5713fea943cd026ef9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: reel_sync-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 43.5 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e1b3dee338ff89e81420126ce54543e6cd514940d60911e789406f41125afae0
MD5 bee1288803335a892a4475ae5848e7c1
BLAKE2b-256 7f223f8e722bf05dfc93b5776c2a711c08d167af618a398f7cdf94f3b4edc8b5

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