Audio Player Loader
The native-Mac way to bulk-load your USB audio devices and SD cards — no Windows, no emulation, nothing to install.
What this does: erases the USB audio players plugged into your Mac — and any SD / microSD cards in its built-in card slot — and loads your audio content onto all of them at once. You choose exactly which disks are erased, and you confirm before anything happens.
.DS_Store, ._*, Spotlight's
index). Each finished device keeps just two tiny hidden marker files that tell Macs not to
write junk to it — so it stays clean even when you re-plug it to check it. The script
cleans up after itself and leaves your Mac's settings and your content folder exactly
as it found them.
.dmg disk image). It's a tiny universal Mac tool — it runs on any modern Mac,
Apple Silicon or Intel, macOS 10.13 (2017) or later, with nothing to install. Your audio
content stays in its own folder (see the Player-Specific Setup tab); the loader asks you to point to it. Source code, issue reports, and updates live in the
GitHub repository.
Double-click the downloaded .dmg file. A window opens showing the loader — the
Load Audio Players.applescript launcher and the operator guide. (The one file
that does the actual work, load_content.sh, is kept in a hidden .loader
folder so there's nothing to click by mistake — the launcher finds it for you.) You can run it
straight from this window, or drag the launcher to a folder on your Mac first if you'd rather keep
it handy.
Your audio content stays in its own folder, wherever you like — the one that
holds your numbered sub-folders (001 …, 002 …). It does
not need to be beside the loader: when you press Run, the loader asks you to
point to it (step 4).
Plug in the USB hub with the devices to be loaded. (A powered hub — one with its own wall plug — is best; a hub running only off the Mac's power rarely keeps many devices going at once.)
Loading an SD or microSD card for a player that takes one? Cards work too — in your Mac's built-in card slot (with a microSD→SD adapter as needed) or in any USB card reader. Make sure the card's little lock slider is off — locked cards are skipped as write-protected.
Double-click Load Audio Players.applescript — the launcher
that came in the folder. It opens in Script Editor (a built-in Mac app). Click the
Run button — the ► play-triangle near the top-right — or press
Cmd + R.
A Terminal window opens and the loader starts asking its questions there — the first is which folder to load (next step). From here on you just follow the prompts. (You can close the Script Editor window.)
You can always start the loader straight from Terminal — the manual way, which never depends on anything:
terminal, press Return.bash followed by one space (don't press Return yet).load_content.sh from your content folder onto the Terminal window and
drop it — its location appears after bash.(If double-clicking the launcher opens it in a code editor like VS Code instead of Script Editor, right-click it → Open With → Script Editor — or just use the Terminal steps above.)
A Choose Folder window opens (starting at your Desktop).
Navigate to the folder that holds your numbered audio sub-folders (001 …,
002 …), select it, and click Choose. That folder — and only
what's inside it — is what gets loaded onto the devices.
001 …, 002 … folders, then Choose.A box asks for the volume label — the name the devices will have. Click OK for the default (PLAYER), or type your own (letters and numbers, up to 11).
💡 Tip: use a new, unused name each batch — it makes the after-the-run device check (see Verify every device, below) reliable.
A few more quick questions follow:
001, 002, …; files become 001.mp3, 002.mp3, …)
in play order, restarting inside each folder. Files keep their extension, and your source folder is
never touched. Choose Simple numbers if your player is picky about long names.
.m4a that many players cannot decode, empty folders, and folders
that mix numbered and un-numbered names. If it finds any, a caution box lists every offending
file by name. The write-order preview also opens automatically, with each flagged item marked
right where it sits in the tree — the reason written on the item, and every
folder above it opened for you. Read it — then Load anyway, or
Cancel and fix the folder first.
001, 002… prefixes to set the play order. You can also open this
preview yourself, any run, from the final confirmation's Preview order…
button (step 10 below).
A message tells you how many target disks were found (it counts your USB devices and SD cards), with buttons Cancel / Show in Finder / Choose disks…. "Show in Finder" opens the drives so you can peek at what's on them; the message then comes back. Click Choose disks… to continue.
A list appears. Each row is one DISK, shown with its size and the name(s) it shows up under in Finder. All disks start selected. If you see a disk you want to keep (for example a backup drive), hold Cmd and click that row to deselect it. Then click Continue….
A final message shows exactly which disks will be ERASED and which will be KEPT, and reminds you that files are written in filename order. Read it! Then click Erase & Load. Not ready yet? Preview order… opens the write-order preview in your browser first, and Back returns to the disk list with your choices kept. (Pressing Esc also goes back; the disk list's Cancel button stops the whole run.)
Preview order… shows a collapsible folder tree of exactly what will be written, top to bottom in play order — original names alongside the renamed device names when Simple numbers is on. Expand or collapse any folder, or use the Expand all / Collapse all buttons. (It is the same page that opens automatically when the content check finds problems — and the preview and the copy are built from one and the same file list, so what you preview is exactly what is written.)
A progress bar shows overall progress and time remaining. As each device finishes you'll see a line like:
OK disk5 loaded and ejected
Leave everything plugged in until the run finishes. Mid-run you can't
easily tell which physical device a line like disk5 is — so don't pull anything
yet. The output is colour-coded — green for loaded, red for failures — but you
don't need the colours: every line also starts with the word OK or
REDO, so the words alone tell you which is which. (Ejected means the
Mac has safely let go of a device — but leave it plugged in until the whole run finishes.)
At the end you get a RESULTS summary grouped into
GOOD CHECK
REDO (see below), and a dialog asks
Run again? Now the lights tell you which device is which:
solid = loaded, blinking = failed,
dark = dead battery. That's the moment to unplug and sort them.
Click Run again to do the next batch (or redo failures), or
Done to stop.
[Process completed] — nothing is running any more. Quit both apps
the easy way: press Cmd + Q in Terminal, and Cmd + Q
in Script Editor. You will not be asked to “terminate a running
process” — the loader has already finished cleanly.
This is normal with cheap USB devices. Bad cables, loose connectors, corrosion, or humidity make some devices fail — expect it. The RESULTS summary at the end sorts every device:
| Group | Meaning |
|---|---|
| GOOD | Loaded, ejected, and safe to pull. These have dropped off the Mac, so they will not appear if you run again. |
| CHECK | The content copied fine, but something needs a look (for example it could not eject — in the Finder sidebar, click the little ⏏ symbol next to its name; when it disappears from the list, unplug). |
| REDO | Not loaded — retry these. They are still connected and have been renamed to "REDO", so you can spot them. |
Easiest way to finish a batch: when the run ends, a dialog asks Run again? Unplug the finished devices and set them aside; leave the still-blinking failures plugged in (sorting details below). Add a fresh batch of devices too if you like, then click Run again. Because the finished devices have already ejected and detached, only the still-connected REDO failures — plus anything new you added — show up in the list, so it redoes just the failures. Repeat until nothing is left blinking. The same dialog appears after a successful run too — swap in the next batch and click Run again, or Done to stop.
When the run finishes with failures, the script helps you find them two ways, automatically:
1. The still-blinking lights are the failures — so leave those plugged in. Take out everything else and sort it by its light:
Then pick up at Easiest way to finish a batch, above — click Run again and repeat until nothing is left blinking.
2. It marks them in Finder — and macOS helps you avoid pulling the wrong one.
The failed devices stay connected and visible in Finder and are renamed REDO. Open a Finder
window and watch the list under your Mac's name (e.g. "Seth's MacBook Pro") as you unplug —
the only USB volumes still shown there are the failed REDO ones.
REDO device — one you meant to leave
connected. No harm done, but the warning tells you it belongs in the failures pile: put it back,
or set it aside to redo.REDO to disappear from the Finder list.
This tool cannot catch every failure. A device that fully disconnected or lost power partway through can still be reported as loaded, and a blank or half-written device is not always obvious. So test the devices — even when the run reports no failures:
| Message | What it means / what to do |
|---|---|
Skipping diskN — WRITE-PROTECTED |
That device (or card) has a hardware write-protect lock. Unlock it and run again. |
SKIPPED diskN — device changed |
A drive was plugged/unplugged after the list was shown. Nothing was erased on it. Run again for a fresh list. |
REDO diskN: stalled … |
That device stopped accepting data and was given up on. Try it again alone; if it stalls again, throw it away. |
REDO diskN: copy failed … |
The device may be faulty. Try a different hub port, or discard it. |
| A device is dark (no light) | Its battery died or it switched off mid-copy, so it failed — but it can't blink. Charge it fully first (in the sun or with a proper charging cable — the data cable/hub may not charge it), then reconnect and redo it. (A steady/solid light means it finished; still verify its content.) |
| Stopped with Ctrl+C? | The script lists which devices are INCOMPLETE. Do not hand those out — run again to redo them. |
| A whole folder is silent on the player | Usually structure or format, not the copy: the audio may sit directly in a top-level
folder (players like KULUMI only play files inside an album sub-folder — add one, e.g.
001 Misc), or the files may be a type the player cannot decode
(.m4a → convert to MP3). The content-check box at the start of a run lists
exactly these problems. |
| No disks listed | Make sure the hub is connected and powered, and the devices are fully inserted. |
| A red-icon alert pops up | The script raises an on-screen alert for the show-stoppers — no external devices found, or none could be prepared. It tells you what to check; fix it and run again. |
Skipping diskN — it holds the source content — and it only ever reads from the
master, never formatting, writing to, or renaming it.Fastest of all is keeping your content on the Mac's own internal drive. The internal SSD reads at gigabytes per second on its own bus, so it never competes with the USB writes. A plain USB source device — even on a separate port or bus — reads far slower and can bottleneck the whole batch, because its own read speed is the limit. Use a device as the source only when you have no copy of the content on the Mac.
The loader tool itself works the same for every brand of player. It wipes each device you select, gives it a fresh standard format (FAT32 — the format nearly every simple player reads), and copies your numbered folders onto it in play order. This tab is about matching your source folder and your hardware to your specific player — the folder layout, the filenames, the audio format, and the cable or card reader that particular family expects.
The author is actively expanding the list of tested players. Where a family below is marked not yet tested, that is an invitation to try it, not a verdict against it: it will very likely work as long as you set up the source folder structure, filenames, and audio format the way that player expects. As a rule of thumb, the author expects this tool to load essentially any device that GRN/MegaVoice's SaberCopy can load, given the right folder structure and format.
The loader itself uses this research: at the start of each run it asks which player you are loading and checks your content folder against that player's documented rules before anything is erased.
Run your player through these four questions. If it clears all four, this tool can load it.
Low-cost solar audio players — the family this tool's workflow is modeled on (Hope Tech Global's own HTGv4.CMD loader). Loading a KULUMI is a plain file copy in the right order onto a FAT32 volume.
| KULUMI Mini | KULUMI X | KULUMI Sheep | |
|---|---|---|---|
| What it is | Solar lamp + audio player + FM + phone charger | Pocket solar player (IP65) | Audio player in a plush sheep (for children) |
| Loads via | Removable microSD in a USB card reader (open-slot version) or the cable | USB drive mode over the cable (no removable card) | USB drive mode over the cable (no removable card) |
| Cable / hardware | Standard USB microSD reader (easiest), or Hope Tech Global's proprietary data cable | Hope Tech Global's proprietary data cable | Hope Tech Global's special programming cable (a normal cable shows nothing) |
| Filesystem | FAT32 | FAT32 | FAT32 |
| Folder structure | 3 levels: category → title/album → MP3 | 3 levels: category → title/album → MP3 | 2 levels: title/album → MP3 (shallower) |
| Filenames | Numbered with leading zeros (001, 002…) so they sort in play order; plain ASCII | Numbered with leading zeros; plain ASCII | Numbered with leading zeros; plain ASCII |
| Audio format | MP3 | MP3 | MP3 |
| Verdict | Tested & verified | Not yet tested — expected to work | Not yet tested — expected to work |
001 Misc).
(2) MP3 only — .m4a/AAC files are ignored even when placed correctly; convert them
to MP3 first (the Music app's “Create MP3 Version” works). The loader's content check
warns about both patterns before anything is erased.Loading / programming documentation: kulumi.org/program (official loading guide, folder structure, FAT32 formatting), plus per-model pages Mini, X, Sheep.
Solar/rechargeable audio-Bible players used widely in missions. Not yet tested with this tool, but expected to work. Connect MegaVoice's SLS data cable and — on the current-generation models (Envoy 2, Companion/Shield, Herald) — the player's storage (its internal memory, plus the microSD card too if one is inserted) mounts on the Mac as an ordinary writable USB drive; the per-model table below flags the legacy models that are documented only for SaberCopy loading. From there the mechanism is the same one SaberCopy uses: wipe the volume and write the files in the right order (which this tool does). SaberCopy is smarter, more customizable and friendlier, but the underlying principle is identical — so as long as you match MegaVoice's folder structure, filenames, and supported formats, this tool should load it. (The microSD is not the main path — the cable is — and where a card is used it follows the same strict structure rules as the internal memory.)
MegaVoice does not use one universal folder layout — the required structure differs by model, and every model plays files in name-sort order, so zero-padded numeric prefixes (001, 002…) are what guarantee correct playback for a copy-in-sorted-order tool. The table below summarizes each family; see the Loading docs links for the authoritative manufacturer PDF.
$ME token to each filename, e.g. name$ME.mp4). Plain, unencrypted files on a FAT32 card are skipped/ignored — Envision is not loadable with a plain FAT copy.SaberCopy app plus a proprietary SLS cable. Where these have a microSD slot, SaberCopy can prepare the card. Envoy 2 S/E series, Companion/Shield, and Herald can be loaded by writing a correctly-built tree directly to their FAT32 storage/microSD.| Model | Folder structure (levels) | Filename rule | Audio format | Loadable with a plain FAT copy? |
|---|---|---|---|---|
| Envoy 2 S Series (S / S Dual / ST) | 4 levels: Channel > Section > Book > audio files (chapters) | Channel/Section/Book folders must be bare 3-digit numbers starting at 001, sequential. Audio files free-text but must sort into play order (zero-pad prefixes). S Dual: channel 002 must be populated (placeholder if single-language). |
MP3 / WAV / WMA (no bitrate mandated) | Yes — FAT32 (alloc 8K); write tree to onboard storage or microSD |
| Envoy 2 E Series | 4 selectable: Channel > Section > Book > Chapter (or 3/2/1). Chapters = audio files inside Book folders only | Channel/Section/Book folders carry a 3-digit consecutive prefix; descriptive suffix allowed (e.g. 001-Language-English). Only the numeric prefix must be correct/consecutive. Audio files must sort into play order. |
MP3 only | Yes — FAT32 (FAT32 is MegaVoice's line-wide standard; not printed in this model's PDF — medium-high confidence) |
| Companion & Shield (functionally identical) | Choose one: 4-level (Channel>Section>Book>Chapter), 3-level (Section>Book>Chapter), 2-level (Book>Chapter), or 1-level (Chapters only) | Channel/Section folders need a 3-digit prefix (000–999, need not be consecutive) + optional free text. Book folders and audio files may be free-text but must sort into play order (3-digit prefix strongly recommended). Names up to 63 chars. Firmware skips empty folders. | Many: AAC-LC, ACELP, APE, FLAC, MP3, OGG, WAV, WMA (MP3 default). No Apple-recorded M4A/AAC; no DRM/Audible. | Yes — FAT32 (alloc 8K); onboard max 2 channels, microSD up to 8 |
| Herald | Flexible: any of 3 levels — 3-level (Section>Book>Chapter), 2-level (Book>Chapter), or 1-level (flat Chapters). ≤199 Sections, ≤999 Books/Section, ≤999 files/Book; no empty folders | Free text for folders and files; only rule is names must sort into play order. 3-digit numeric prefix recommended (e.g. 001 Book of Matthew). Audio-holding folders may contain only MP3/WAV/WMA. |
MP3 / WAV / WMA (others ignored) | Yes, in practice — mounts as USB mass storage. PDF does not print "FAT32"; it defers filesystem to factory default. Reformatting to FAT32 is a reasonable assumption, not a documented spec. |
| Envision | 2-level: one Project folder > fixed subfolders Audio / Video / Image / Document > content files. (Video/audio/image player, not the audio-only tree.) | No numeric-prefix scheme documented. Load-critical rule is encryption: external microSD/OTG files must be run through MegaVoice's Windows encryptor, which inserts $ME before the extension (e.g. Sample video-1$ME.mp4). Unencrypted files are ignored. |
Audio: AAC, M4A, MP3, OGG, WAV. Video: AVI, FLV, M4V, MKV, MOV, MPG, MP4. | No — encrypted. Supports NTFS/FAT32/exFAT, but plain files on external media are skipped; internal memory writable only via proprietary SLS-v2 cable |
| Envoy 3 (Equip Plus / Equip) | Standard Section > Book > Chapter numbered tree; has a microSD slot | Channel/Section/Book folders renamed with 3-digit consecutive numbers (001, 002…); MP3/WAV in deepest Book folders only. |
MP3 / WAV | Partial (unverified — see PDF) — onboard via SLS cable + SaberCopy; SaberCopy can prep the microSD. Exact tree medium confidence. |
| LifeLight | Standard Section > Book > Chapter numbered tree; newer units add a microSD reader | 3-digit consecutive folder numbers; MP3/WAV in deepest Book folders. | MP3 / WAV | No (plain copy) — onboard is SLS cable + SaberCopy only; microSD specifics (unverified — see PDF) |
| Pathway | Internal microSD memory + micro-USB; loaded via SaberCopy | 3-digit consecutive folder numbers (standard MegaVoice scheme). | MP3 / WAV | No (plain copy) — (unverified — see PDF); exact folder tree not text-verified |
| PocketVoice | Standard MegaVoice audio tree (recent SaberCopy addition) | 3-digit consecutive folder numbers (standard scheme). | MP3 / WAV | No (plain copy) — (unverified — see PDF); SLS cable + SaberCopy; tree not text-verified |
| Ambassador & Messenger | Legacy audio-only players; standard Section > Book > Chapter numbered tree (same SLS/SaberCopy family) | 3-digit consecutive folder numbers (standard scheme, by family analogy). | MP3 / WAV | No (plain copy) — (unverified — see PDF); no per-model manufacturer PDF located, low confidence |
Loading / programming documentation (per model):
A solar audio-Bible player with flashlight, lantern, FM radio, and a phone-charging port. 8 GB internal flash only — no card slot. (Do not confuse it with Renew's Papyrus, a different Renew player that does have a microSD option.)
Loading / programming documentation: renewoutreach.org — Torch Audio Bible (detailed loading tutorials are behind a login; confirm the current procedure with Renew at info@renewoutreach.com). For Renew's microSD-based players, see renewoutreach.org — microSD — those load via the removable card in a reader (unlock the card's write-lock switch first).
If a player isn't confirmed as FAT32, check its current format before you load it — this tool reformats to FAT32, and you don't want to turn a player into a format it can't read. No Terminal needed:
(Or open Disk Utility — Applications ▸ Utilities ▸ Disk Utility — and click the volume; its format shows just under the name.)
What the Mac's names actually mean — the Mac labels don't match the Windows terms people expect:
| What the Mac shows | What it really is | Safe to load with this tool? |
|---|---|---|
MS-DOS (FAT32) | FAT32 | ✅ Yes — exactly what this tool writes. It matches; go ahead. |
MS-DOS (FAT16) or MS-DOS (FAT) | older FAT (FAT16) | ⚠ Usually — this tool writes FAT32, which most players also read. But a few tiny/old players need FAT16 specifically; if yours does, don't load it until you've confirmed. |
ExFAT | exFAT | ⚠ Check first — exFAT is not the same as FAT32. This tool will reformat it to FAT32. Most players accept FAT32, but if this player requires exFAT it will stop reading — confirm before loading. |
Mac OS Extended or APFS | Apple-only formats (HFS+ / APFS) | ❗ Stop — a player would never ship in these, and most can't read them at all. You may be looking at the wrong disk (e.g. your Mac's own drive) — double-check before erasing anything. |
In short: if it already says MS-DOS (FAT32), you're matched — proceed. If it says ExFAT or an old FAT16 and you're not sure the player accepts FAT32, hold off and confirm with the maker. Either way, load one device and test it in the actual player before a whole batch.
FCBH's Proclaimer family (S100 / S50 / S25 / E10), the BibleStick, and the Micro Proclaimer are factory-loaded by FCBH before shipment. Per FCBH and the independent SIL review, "you cannot change the content on the Proclaimer. It will only read memory cards that have been pre-loaded with audio Scriptures by FCBH."
Loading / programming documentation: No user loading guide exists — these are provisioned by Faith Comes By Hearing. See the FCBH partner resources to obtain pre-loaded devices, and confirm any specifics with FCBH directly.
A hand-wind MP3 player with 1 GB internal memory plus an SD-card slot (SD up to 2 GB). GRN describes loading it as "simply connecting a USB cable to your computer and copying across MP3 files" — no proprietary cable indicated.
Loading / programming documentation: globalrecordings.net — Saber how to use and SaberCopy.
Not supported by this tool. The Audibible plays a single encrypted bundle of MP3s and other content on its SD card, built by the manufacturer's software; its firmware will not play plain, individually-copied MP3 files. Because this tool writes ordinary files, the player won't read what it produces — load these with the maker's own tooling. (Listed here so it's clear why it's an exception, not an oversight.)
Cheap, locally-available players that read directly from a microSD card or a USB thumb drive you insert. This is the tool's sweet spot: any card or stick that mounts as a writable FAT32 volume loads cleanly.
Loading / programming documentation: No single official guide exists across generic players — consult the leaflet for your specific device, and see the SIL/Scripture-Engagement review "Which Audio Player?" (Margetts, 2024) for a broad comparison.
Whatever the family, the same source-folder discipline makes a player behave. When in doubt, follow these and test one device.
001 Genesis, 002 Exodus, 003 Leviticus… so 010 does not sort before 002.01, 02, … 10, 11.