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.)

Look at your library, any time (works in either mode):

reel status            # what's in your library, per bucket
reel devices           # what's plugged in right now (kind + sync status)
reel open              # open the Reel library in Explorer
reel play              # play your latest recording (right in the terminal)
reel play songs        # play through a whole category (or: interviews, voice, …)

Lost your card? Put it all back — reel transfer

Reel works both ways. As it syncs, it quietly remembers each device's original layout — every folder, every original filename. So if you lose an SD card and buy a blank one, plug the new one in and run:

reel transfer

Reel rebuilds the card exactly as it was — original folders, original names — straight from your library. One command: it pauses the watcher itself, restores, and resumes. It won't overwrite anything already on the card. (Got more than one saved device? Name it: reel transfer "IC RECORDER".)

Manual / backup mode (only when auto is off)

Automatic is the way Reel is meant to run. The manual tools are backup controls — they're switched off while auto-pilot is on (run reel auto off to use them):

reel start             # watch & sync in this terminal until you unplug
reel sync              # sync once now, then exit
reel sync --dry-run    # preview exactly what would copy — copies nothing
reel sort <path>       # filter a folder/files you drop in (also takes --dry-run)
reel undo              # reverse the last sync (removes what it copied)

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 → a toast slides in ("Reel — synced 12 files from KINGSTON"), 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.7.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.7.0.tar.gz (48.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.7.0-py3-none-any.whl (52.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: reel_sync-2.7.0.tar.gz
  • Upload date:
  • Size: 48.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.7.0.tar.gz
Algorithm Hash digest
SHA256 fb206f77f17b9627012ff50e645c2fd905604c730f3bf0d41d9bcae3664306a4
MD5 cf31a89dd1486d60b5ccb1719de9795d
BLAKE2b-256 8188982e27867b39747f3a40a929ffd5978d7e6af3b2e9767f4db0b4f08754a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: reel_sync-2.7.0-py3-none-any.whl
  • Upload date:
  • Size: 52.3 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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 670b80475558ba4681a0e39f17d4b2aea19645eef7ea80ff8b99e107d37cba7c
MD5 548b6c7677089c8fb871597f2411ed59
BLAKE2b-256 cff1f30a7a6c327ed6ac5368395d852f277aea1a0ba68dcf850de148de0863b8

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