HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
sandreas
tone
C#2022–2025
sandreas / tone

tone

tone is a cross platform audio tagger and metadata editor to dump and modify metadata for a wide variety of formats, including mp3, m4b, flac and more. It has no dependencies and can be downloaded as single binary for Windows, macOS, Linux and other common platforms.

4Distinct people
29Mentions
1Explicit recommenders
525GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

tone is a cross platform audio tagger and metadata editor to dump and modify metadata for a wide variety of formats, including mp3, m4b, flac and more. It has no dependencies and can be downloaded as single binary for Windows, macOS, Linux and other common platforms.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

I love ExifTool. Inspired me to create tone[1] - just because I did not find out how to edit/dump audio chapters as I wanted :-) Great piece of software! Keep up the good work.…

sandreas used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year29 dated mentions

Observed mentions: 2022-05-22 12:26:44 UTC to 2025-02-11 11:33:40 UTC.

0510152022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 16 mentions; 6 submissions, 10 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC16610
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC716
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC413
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202

What Hacker News says

29 sources
> I'm pretty sure it won't work without tinkering out of the box This worked OOTB: curl -L -O https://github.com/sandreas/tone/releases/download/v0.2.4/tone-0.2.4-linux-arm64.t… tar xzf tone-0.2.4-linux-arm64.tar.gz nix run github:thiagokokada/nix-alien -- ./tone-0.2.4-linux-arm64/tone --help Which is nice because: a) I didn't know about tone b) I am in the process of sorting out some tagging of my personal music so tone looks like exactly what I need and will come in super handy So, thanks!
In NixOS and Portable Executables
Thanks. Try `tone`[1] my pet project. I'm pretty sure it won't work without tinkering out of the box. Since I need a dev machine, that supports my FOSS projects, NixOS is not for me :-) BTW it was not the ONLY reason, I ditched it, but the main reason. There were a lot of nice advantages to NixOS, but they did not outweight the issues I personally had. 1: https://github.com/sandreas/tone
In NixOS and Portable Executables
sandreas·Oct 24, 2024Submission

Show HN: Tone 0.1.8 – hackable cross platform audio tagger

Today I released tone 0.1.8 [1] - the new version of my hackable cross platform command line audio tagger. Features: - dump and modify metadata for most common audio formats (mp3, m4a, flac, ape, etc.) - use JSONPath to query single metadata fields in dumps (--query='$.meta.album') - common AND custom metadata fields (album, artist, but also sort-title, movement-name, etc.) - Chapter support for mp3 and m4a - Embeddable pictures - Custom `tone.json` metadata format to export / import all metadata in one file (including covers as base64) - Hackable via custom JavaScript functions (write your own taggers with url fetching and custom parameters)[2] - dump range of raw audiodata bytes (e.g. to calculate hashes) Examples: # dump metadata for input.mp3 with json query tone dump "input.mp3" --format json --query "$.meta.a
Read the rest
lbum" # dump all files in audio-directory/, but only album and artist tone dump audio-directory/ --include-extension mp3 --format ffmetadata --include-property album --include-property artist # change title tag tone tag input.mp3 --meta-title "a title" # change tags of an audio book directory based on directory names tone tag --auto-import=covers --auto-import=chapters --path-pattern="audiobooks/%g/%a/%s/%p - %n.m4b" --path-pattern="audiobooks/%g/%a/%z/%n.m4b" audiobooks/ --dry-run I know not many people are tagging their audio files these days, but hey, it's a pet project, so feedback is very welcome. 1: https://github.com/sandreas/tone 2: https://github.com/sandreas/tone?tab=readme-ov-file#custom-scripted-taggers-experi…
2 points · Open discussion
It depends. If its something like my personal todo list pure-todo [1], I tend to write it down in less than a week without using any frameworks and hardly ever touch it again. If it's something like m4b-tool[2] or tone [3], that has to be maintained for a while, I tend to use battle proven libraries or frameworks (in this case Symfony, because it is an older project and Spectre.Console and atldotnet for tone). I prefer libraries over frameworks though, less background magic. However, I have the feeling that you also find something in this comment that you don't like - maybe the shameless advertisement of my FOSS projects ;-) 1: https://github.com/sandreas/pure-todo 2: https://github.com/sandreas/m4b-tool 3: https://github.com/sandreas/tone
In It's not just you, Next.js is getting harder to use
I'm desperately trying to publish a blog article about this topic for half a year now :-) Maybe I'll never get it done, there is so much to cover... from - what I know about iPods - why modern Android Phones still can't compete in my opinion - why the Apple Earpods can't change volume on Android devices and vice versa (https://tinymicros.com/wiki/Apple_iPod_Remote_Protocol) - how you can harvest Earpods remote to create a durable good sounding headset using the right pinout - that OneMore seems to have implemented the Apple Remote Protocol without anyone noticing - why I wrote my own command line cross platform audio tagger (https://github.com/sandreas/tone) - why I self-host my audio stuff - and why nobody seems to care about an audio everything solution (music, audio books, podcasts, etc.) So, let's hope I'll find the time :-)
In Mp3tag – Universal Tag Editor
I created a few audio tinkering utilities, e.g. - m4b-tool[1], an audio book utility - tone[2], an audio tagger mainly for myself because the existing tools did not fit my needs or weren't FOSS. I did never think so many people would be interested. By the end of the year I plan to make my first donation of my github sponsoring income to a charity project. Currently I'm working on `pure-todo`, a todo list with sqlite, REST API and JWT based user management. The first approach was to publish it with a single index.php file without ANY dependency, but this is something I have to think over again. Maintenance will be a nightmare :-) Next FOSS project I will work on is `Tone Audio Player`, a fully cross platform (Linux, Windows, macOS, Android, iOS, WASM) audio player app, that fully supports background playback without stuttering. But C# / A
Read the rest
valonia UI is just not there yet, I'm currently switching to flutter. [1]: https://github.com/sandreas/m4b-tool [2]: https://github.com/sandreas/tone
In Ask HN: What apps have you created for your own use?
It depends... .NET 6 was already capable of most things you are looking for, but there are some limitations. I personally think it is a really versatile language and if you know it, you can get the most things done somehow. I wrote a little cross platform C# command line tool called `tone`[1] for tagging audio files and it compiles via github actions for windows(x64), linux(x64,arm64,arm6,arm7), macOS (x64, arm64) as a single monolitic binary (similar to `golang`), which is pretty cool. With the right compiler flags it is not even too big (about 20MB, for comparison a `golang` binary with similar features would be about 5MB, `rust` more like 1MB or less). You can also go WASM (which is generally supported, but feels a bit experimental at times). In the GUI department there are three main competitors: - MAUI - Windows, macOS, Android, iO
Read the rest
S (Microsoft's pet, xamarin successor) - Avalonia UI - Windows, Linux, macOS, Android, iOS, WASM - Uno Platform - Windows, Linux, macOS, Android, iOS, WASM All these feel kind of unfinished, I like Avalonia UI the most, but it's lack of standard libraries for real world apps (Preferences, SecureStorage, Encryption Wrappers, Phone-Hardware-Access, Media-Players, WebView) and the outcoming App Size (>50MB) made me use Flutter for my personal projects (App size ~15MB for the same feature set). For some Apps it might be ok. .NET may also still be incompatible / unfinished on other OS and platforms (e.g. RISC hardware or BSD operating systems). So if you only target the mainstream systems like x64 and the raspberry pi, it might not be a real problem. [1]: https://github.com/sandreas/tone
In .NET 8
The iPod is such an underestimated device... I'm still searching for a comparable replacement of my iPod Nano 6G / 7G. The thing is: Even modern Android players throwing tons of features at it, can't really compete with the user experience. Most people only listen to music, so they will never miss the awesome audio book and podcast integration of the whole iPod line (besides the good music ability). The iPod Nano is many years old and still: - Is REALLY small - Already has bluetooth low energy - Supports cable headphone remote controls (EarPods have questionable audio quality, but the remote works absolutely flawless) - Can play a variety of formats for a really long time with a 220mah battery - Supports audio book single files with chapters (m4b format) I modded many iPod Classics with Rockbox and iFlash Quads, but the origina
Read the rest
l interface is hard to beat in terms of audio books. Unfortunately repairing iPod Nanos is really tough compared to the iPod classic 2009 (even this device already supports the cable headphone controls). Currenlty I'm trying to mod an iPod Nano 7G to have a 600mah battery by milling out the backplate, keeping the original BMS and placing an iPod Mini Battery (which fits perfectly in size, when the backplate is milled out). This way I hope I will have the only iPod Nano 7G with interchangeable batteries ;) The best alternative I found so far is the Unihertz Jelly 2(e) Phone with selfhosted Audiobookshelf and different player / sync apps, but the experience is nowhere near the iPod... It's bigger, way thicker and the headphone controls are "unstable". Not to talk about the app crashes, unsupported android background service playing and missing / non-working chapter controls. Disclaimer: I'm the developer of m4b-tool[1] and tone[2], so I know what I'm talking about :-) [1]: https://github.com/sandreas/m4b-tool [2]: https://github.com/sandreas/tone
In iPods now considered vintage tech– so of course sold out at Urban Outfitters
There is also https://www.vorleser.net/ for german users. In case you want to take it a step further, you could convert the `mp3`s to `m4b` format (one file per audio book), which internally uses an `mp4` container aac codec, chapters for separation and extended metadata. It's well supported on iTunes / iPods / iPhone as well as Jellyfin, Kodi, Plex, etc. and the files have lower bitrates than mp3 providing similar quality. (see https://github.com/seanap/Plex-Audiobook-Guide#optional-auto...) There is also https://www.thorsten-voice.de/en/motivation-vision-english/ (see my comment below), if you would like to generate your own german audio books via TTS and AI. A self hosted audio book server is audiobookshelf (https://www.audiobookshelf.org/) which comes with an app that is open souce and supports offline listening. Tools to convert `mp3
Read the rest
` to `m4b` and edit metadata: - AudioBookConverter - https://github.com/yermak/AudioBookConverter (GUI, cross platform) - Chapter and Verse - http://lodensoftware.com/chapter-and-verse/ - m4b-tool - https://github.com/sandreas/m4b-tool (command line, cross platform) - tone - https://github.com/sandreas/tone (command line, cross platform) Note: I'm the author of the last two tools.
In Free Public Domain Audiobooks
sandreas·Nov 6, 2022Submission

Show HN: Tone 0.1.2 – hackable cross platform audio tagger

Hey HN, I just wanted to show the next version on my little (maybe useless) side project called tone[1] to get some qualified feedback. tone is a cross plattform command line audio tagger deployed as a single static binary without dependencies, so a wget should be enough to install on any platform (seems not to work on M1 Macs atm... if someone can help here I would really appreciate it). It gained some major improvements since the last version. As soon as .NET 7 is out, I plan to integrate AOT (ahead of time compilation)... Features: - dump and modify metadata for supports most common audio formats (mp3, m4a, flac, ape, etc.) - use JSONPath to query single metadata fields in dumps (--query='$.meta.album') - most common AND custom metadata fields (album, artist, but also sort-title, movement-name, etc.) - Chapter support for mp3
Read the rest
and m4a - Embeddable pictures - Custom `tone.json` metadata format to export / import all metadata in one file (including covers as base64) - Hackable via custom JavaScript functions (write your own taggers with url fetching and custom parameters)[2] - dump range of raw audiodata bytes (e.g. to calculate hashes) Thanks and have fun. [1]: https://github.com/sandreas/tone [2]: https://github.com/sandreas/tone#custom-scripted-taggers-experimental
3 points · Open discussion
Hey, I'm the author of m4b-tool[1] and tone[2]. The most important thing I learned about software development, is that the best software has a meaning to yourself and that you should use it yourself on a regular basis. m4b-tool is a tool to merge multiple audio files into the m4b audio book format. I hacked it together in a weekend in the language I knew best (PHP) and that probably was the worst for the job. All because there were no tools, that fitted my needs. After the first improvements I said to my self: Why not open source it, even if it is in a pretty crappy state? And the feedback was surprisingly good for a hackish script. And I learned A LOT from the community (e.g. how to implement something like multithreading in PHP or the simple fact that `cd -` goes back one directory in history). Another important thing I learned is, that
Read the rest
early shipping is good, but automatic deployment and versioning is nearly as important. Thats why I decided to invest some time and simply release `tone` based on git tags with github actions... that was a very good decision so far. So to conclude: Build something, that you use (and want to improve) yourself Ship early Go for auto-deployment / CI as soon as possible Do some "marketing" for high quality feedback (e.g. on hackernews) Cover your ass with automatic tests as soon as possible [1]: https://github.com/sandreas/m4b-tool [2]: https://github.com/sandreas/tone
In Ask HN: HN people who write meaningful software, how did you learn to program?

Showing the 15 most recent of 29 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.