floEditor banner

floEditor

10 devlogs
6h 16m 52s

So I recently created something rather crazy if I don’t say so myself:
A proper full-on audio format called flo™.
It’s really cool, check it out on GitHub: https://github.com/flo-audio/flo

This uses the reflo and libflo libraries from that to create a all encompassing and powerful metadata editor.

The UI is taken from another project (ID3Editor (same idea (powerful metadata editor) but for mp3’s).

Demo Repository

Loading README...

NellowTCS

Two more things finished (yesterday)!

  • remix_chain (Remixes of remixes of remixes of remixes of the original track?)
  • artist_signature(Image of the artist’s signature or watermark)

I also reorganized the Artwork section to reduce the time it takes to scroll the page.

Attachment
Attachment
Attachment
0
NellowTCS

Well 3 more things done!
user_urls (custom URLs)
musician_credits (extra musicians)
involved_people (other involved people)

And I improved the lyrics stuff!!!!

Now you can add multiple SYLT/USLT pairs to your flo files, and choose between them in the players that support them (HTMLPlayer apparently doesn’t support it yet (but only the UI) 😭)!

This was also added to ID3Editor haha

Attachment
Attachment
Attachment
Attachment
0
NellowTCS

Well I added a TODO.md and almost completely finished it within an hour and a half.

Productive, much?

The list of tags supported is quite large, so it will be in a comment, but in short, almost every tag that flo supports is editable/viewable/set.

I added two new components:

  • AdvancedTags.tsx: for the slightly excessive/extra tags that are useful, but unneeded for most people. This is collapsed by default, and can expand with a click.
  • ViewInfo.tsx: tags that encoders such as reflo set and aren’t editable

Looking at the UI, it’s getting a bit long.
I may split it into tabs, but that’d require a rather large UI revamp… 🤦

But first I want to get all tags supported!

What’s left?
(this is copy-pasted straight from the TODO lol):


## Unimplemented/Missing metadata fields in floEditor

### INVOLVED PEOPLE / CREDITS

- [ ] `involved_people` (array of [role, name])
- [ ] `musician_credits` (array of [instrument, name])

### URLS (not surfaced in UI, though TS has them and some are )

- [ ] `user_urls`

### COMPLEX/ADVANCED (might complete after v0.1.0)

- [ ] `spectrum_fingerprint`
- [ ] `integrated_loudness_lufs`
- [ ] `loudness_range_lu`
- [ ] `true_peak_dbtp`
- [ ] `remix_chain`
- [ ] `artist_signature`

### COVERAGE

- [ ] Some `PictureType` and `SectionType` options exist in Rust but are not accessible in the UI
  - [ ] “bright_coloured_fish”, ”video_screen_capture”,
  - [ ] Section markers like “breakdown”, “drop”, “instrumental”, “silence”, “other”
Attachment
Attachment
Attachment
1

Comments

NellowTCS
NellowTCS about 1 month ago

What I finished:

Read-only by user:

  • encoding_time
  • tagging_time
  • encoder_settings
  • flo_encoder_version
  • source_format
  • original_filename
  • Encoded By

IDENTIFICATION / BASIC INFO

  • subtitle
  • content_group
  • original_album
  • set_subtitle
  • original_artist
  • original_lyricist
  • playlist_delay

DATES / TIMES

  • recording_time (string)
  • release_time
  • original_release_time

RIGHTS / LEGAL / SORTING

  • produced_notice
  • file_owner
  • radio_station
  • radio_station_owner
  • album_sort
  • artist_sort
  • title_sort

INVOLVED PEOPLE / CREDITS

  • remixer

URLS

  • url_copyright
  • url_audio_file
  • url_artist
  • url_audio_source
  • url_radio_station
  • url_payment
  • url_publisher
NellowTCS

WE HAVE A LOGO

Also finished 3 more of flo’s features!

BUT WE HAVE A LOGO

Attachment
Attachment
Attachment
Attachment
Attachment
3

Comments

NellowTCS
NellowTCS about 1 month ago

oh no the banner borked

NellowTCS
NellowTCS about 1 month ago

Stuff left that flo supports:
Loudness profile (LUFS points)
Remix chain (track history)
Spectrum fingerprint (audio fingerprint)
Flo-specific: encoder version, source format, custom fields

NellowTCS
NellowTCS about 1 month ago

It seems I am missing a lot more stuff than I realized
A LOT more.

NellowTCS

Some more tiny improvements.

I added the Popularimeter tag for rating and play counts
Also KeyChanges for “[tracking] musical key changes over time” (basically BpmMap but for the key, as both bpm and key are usually not constant throughout the entire song)

(i’m not sure if markdown links work in flavortown lol, i hope they do)

Attachment
Attachment
2

Comments

NellowTCS
NellowTCS about 1 month ago

they do!

NellowTCS
NellowTCS about 1 month ago

Stuff left that flo supports:
Loudness profile (LUFS points)
Creator notes (timestamped notes)
Collaboration credits (roles and names)
Remix chain (track history)
User text (custom key-value pairs)
Spectrum fingerprint (audio fingerprint)
Flo-specific: encoder version, source format, custom fields

NellowTCS

This is something cool that flo supports: pre-generated waveform peaks.

Basically it stores the peaks in the audio data to help make visualizers (such as the ones in HTMLPlayer) easier to generate/play. Instead of generating the data on demand, it generates it while encoding, directly into the file.

floEditor now does this automatically!

If you’re worried about the file size increase, I calculated it, and there’s only a 5-6 KB increase for a 2 minute song, so, no need to worry ;D

Attachment
1

Comments

NellowTCS
NellowTCS about 1 month ago

Stuff left that flo supports:
Key changes (key shifts)
Loudness profile (LUFS points)
Creator notes (timestamped notes)
Collaboration credits (roles and names)
Remix chain (track history)
User text (custom key-value pairs)
Popularimeter (rating/play count)
Spectrum fingerprint (audio fingerprint)
Flo-specific: encoder version, source format, custom fields

NellowTCS

A retheme.
It looks so good :O

This better follows flo’s colors and looks more unique from the original base.

Also a tiny bugfix for the Process and Download icon.

(just noticed that it says FloEditor but should be floEditor, will fix that)

Attachment
Attachment
0
NellowTCS

I got so much done :D

Stuff left that flo supports:
Key changes (key shifts)
Loudness profile (LUFS points)
Creator notes (timestamped notes)
Collaboration credits (roles and names)
Remix chain (track history)
User text (custom key-value pairs)
Popularimeter (rating/play count)
Waveform data (peaks for visualization)
Spectrum fingerprint (audio fingerprint)
Flo-specific: encoder version, source format, custom fields

Attachment
1

Comments

NellowTCS
NellowTCS about 2 months ago

WHAT
MY TIME SPENT
It should not be that little :O

NellowTCS

Well a bunch of debugging why my library wasn’t initializing later (Vite being picky about WASM):

IT WORKS

mostly

Attachment
2

Comments

mannlohchab
mannlohchab about 2 months ago

great work . are u using wasm in this ?

NellowTCS
NellowTCS about 2 months ago

great work . are u using wasm in this ?

Thank you!
The main flo libraries are Rust-based, so I am using those compiled to wasm, yep