Skip to content

Name note folders and audio after the note and save audio as M4A - #2

Merged
Zer0codestuff merged 1 commit into
mainfrom
note-named-compressed-audio
Oct 12, 2026
Merged

Zer0codestuff merged 1 commit into
mainfrom
note-named-compressed-audio

Conversation

@Zer0codestuff

Copy link
Copy Markdown
Owner

What changes

  • A note's folders in Audio and Transcripts, and its recording, carry the note's title instead of an identifier: Audio/Lesson 1/Lesson 1.m4a. A note with both sources gets Lesson 1 - You.m4a and Lesson 1 - Others.m4a. Renaming a note renames them. A second note with the same title gets Lesson 1 2.
  • Kept audio is AAC in an M4A file at 48 kbit/s, about 22 MB per hour instead of 115 MB of PCM in a CAF.
  • Recording still writes PCM to a CAF, so a crash keeps the audio. The CAF is converted when the note ends and removed only after the M4A reports the same number of frames.
  • On launch, notes from earlier versions are named, and their CAF recordings are converted in the background. Each original goes to the Trash after the same check.
  • Job URLs and the rename list are committed together in history.json before anything moves. Relaunch finishes an interrupted rename, and a failed rename is put back.
  • Scripts and CI pass --build-system native. The default build system in Xcode 27 compiles the mlx-swift Metal sources and fails without the Metal Toolchain component.

Checks

  • 154 standard tests pass in debug and release, ten optional skips.
  • Silent session replay of a 4-minute excerpt at recording speed: no dropped packets, PCM sample-identical to the input, M4A holds all 3,840,000 frames.
  • Dry run of the launch conversion on a copy of a real library: seven notes named, six recordings converted, 1,020.5 MB to 191.3 MB in 17.3 s on an M4, frame counts equal, transcripts unchanged.
  • The built app was launched on an isolated synthetic library in the old layout and named and converted it.
  • Bit rate: Parakeet v3 made the same 7 errors on a 347-word synthetic reference from PCM, 32 and 48 kbit/s. On the quiet version, 32 kbit/s made 9 errors and 48 made 7. Details and limits are in docs/audio-storage-and-cleanup.md.

Not done

  • Renaming a note through the UI of the built app was not tried. The store path is covered by tests.
  • No version bump and no release.

Note folders in Audio and Transcripts, and the recordings inside, now carry
the note's title instead of an identifier. Renaming a note renames them. The
job URLs and the rename list are committed together in history.json, and
relaunch finishes an interrupted rename.

Kept audio is AAC in an M4A file at 48 kbit/s, about 22 MB per hour instead
of 115 MB. Recording still writes PCM to a CAF so a crash keeps the audio;
the CAF is converted when the note ends and removed after a frame-count
check. On launch, notes from earlier versions are named and their CAF
recordings converted, with the originals moved to the Trash.

Scripts and CI pass --build-system native: the default build system in
Xcode 27 compiles the mlx-swift Metal sources and needs the Metal Toolchain.
@Zer0codestuff
Zer0codestuff merged commit 4f837da into main Oct 12, 2026
2 checks passed
@Zer0codestuff
Zer0codestuff deleted the note-named-compressed-audio branch October 12, 2026 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant