Music Player Songs

With the new update (0.58.1) you can make songs for the music player.
I did Alan Walker’s Faded. It’s not perfect, but I think it sounds good.

Faded.zip (534 Bytes)

3 Likes

Is there a way to “auto” convert a song (mp3) to this format? Or it has to be manually?

1 Like

No, that’s an entirely different audio format that doesn’t work in this way.

The flipper music format is more like sheet music, and mp3 is a full waveform recording.

1 Like

I did a simple loop of the beginning of “Bloody Tears” from Castlevania 2 just to try it out
Bloody Tears.zip (286 Bytes)

5 Likes

I know that, it has to be a txt file ok, i get that. What i was trying to ask is that, if there any way to translate a music mp3 file to a txt with the format flipper requires. not just adding the mp3 or waf file

1 Like

As I said, mp3 is a waveform. Flipper uses “sheet music”. Those are completely different and you can only record flipper’s output to mp3, not the other way around. You can Google “midi vs mp3” to find more (midi is a format somewhat similar to the FMF)

2 Likes


Automatically converting sounds files to their underlying sheet music is a lot more complicated than you may realize. It is still very much a manual process.

12 Likes

Thanks, this was the response i was looking for.

2 Likes

There are some Midi → Sheet and Midi->text apps out there. Lots of Midi-> text scripts that could probably be modified to output into this format, probably give it a few months and someone will put in the work. It reminds me of the Midi → Lute music plugin for the game Mordhau.

3 Likes

there are AI apps for separating rhythm from melody from percussion (algoriddim djay pro ai, for example). you can take the melody track and using plugins in a DAW (digital audio workstation) like Logic or Ableton Live or FL Studio, you can convert notes in a waveform track to the corresponding midi notes. then… I don’t know how to get the midi exported properly to convert directly to .fmf file, but since it’s just comma separated notes, I’d just do this part manually probably. would be pretty easy.

I’ve made some poor quality midi files following this method - looking forward to trying it for .fmf

1 Like

Just tried to look at this. I have 0.58.1 and I do not see how to go about making songs. The music player and marble machine.fmf are present but no option for adding new?

It should be a matter of just opening the text file and writing a list of notes in. It is pretty self explanatory, it is like writing ringtones on an old 2001 era motorola phone

1 Like

I created two song files, one for Hedwig’s Theme (from Harry Potter), and one for the Airwolf theme. I made a GitHub repo in case anyone wants them, plus basic instructions in the README for anyone that wants to create their own.

4 Likes

I transcribed the Still Alive Song from Portal. Fits with the FlipperZero theme perfectly. :rofl:

@Stardrifter, you need to use either the flipper app from your phone or the QFlipper installed app to move the file onto the Flipper into the Music Player App folder on your SD Card.

7 Likes

When you open the music player, it should list the files in the /music_player folder.

It should if they are proper flipper music files.

So here is a fun fact, txt files used to code ringtones in old phones like the Nokia 3310 work seamlessly with Flipper Zero. If you are after a bit of old school nostalgia, you can use this link to download txt files which require no re-formatting.

http://onj3.andrelouis.com/phonetones/unzipped/Nokia/3310/

The only issue is that some tones might need to be shifted up an octave but other than that they work really well.

9 Likes

there might be a way to convert the wave to bits. you would probably want to use a DSP, or MCU with a DSP, to convert the wave to bit patterns. im not sure if you would set the bpm, or octave. you know music isnt my strong suit. I think I saw a program like this in ACRON’s RISC OS. it might have been called maestro.

There is loads of stuff to convert midi to arrays like what the flipper is using. aseqdump for example. oh snap i just got an idea. you play your mp3, redirect the output to aseqdump -port and scrape the notes.

RTTL is what they were called for protocol.

nyan cat:d=4,o=4,b=120:17d#6,384p,17e6,384p,8f#6,384p,8b6,384p,17d#6,384p,17e6,384p,17f#6,384p,17b6,384p,17c#7,384p,17d#7,384p,17c#7,384p,17a#6,384p,8b6,384p,8f#6,384p,17d#6,384p,17e6,384p,8f#6,384p,8b6,384p,17c#7,384p,17a#6,384p,17b6,384p,17c#7,384p,17e7,384p,17d#7,384p,17e7,384p,17c#7,384p,8f#6,384p,8g#6,384p,17d#6,384p,17d#6,15p,17b,384p,17d6,384p,17c#6,384p,17b,15p,8b,384p,8c#6,384p,8d6,384p,17d6,384p,17c#6,384p,17b,384p,17c#6,384p,17d#6,384p,17f#6,384p,17g#6,384p,17d#6,384p,17f#6,384p,17c#6,384p,17d#6,384p,17b,384p,17c#6,384p,17b,384p,8d#6,384p,8f#6,384p,17g#6,384p,17d#6,384p,17f#6,384p,17c#6,384p,17d#6,384p,17b,384p,17d6,384p,17d#6,384p,17d6,384p,17c#6,384p,17b,384p,17c#6,384p,8d6,384p,17b,384p,17c#6,384p,17d#6,384p,17f#6,384p,17c#6,384p,17d#6,384p,17c#6,384p,17b,384p,8c#6,384p,8b,384p,8c#6,384p,8f#6,384p,8g#6,384p,17d#6,384p,17d#6,15p,17b,384p,17d6,384p,17c#6,384p,17b,15p,8b,384p,8c#6,384p,8d6,384p,17d6,384p,17c#6,384p,17b,384p,17c#6,384p,17d#6,384p,17f#6,384p,17g#6,384p,17d#6,384p,17f#6,384p,17c#6,384p,17d#6,384p,17b,384p,17c#6,384p,17b,384p,8d#6,384p,8f#6,384p,17g#6,384p,17d#6,384p,17f#6,384p,17c#6,384p,17d#6,384p,17b,384p,17d6,384p,17d#6,384p,17d6,384p,17c#6,384p,17b,384p,17c#6,384p,8d6,384p,17b,384p,17c#6,384p,17d#6,384p,17f#6,384p,17c#6,384p,17d#6,384p,17c#6,384p,17b,384p,8c#6,384p,8b,384p,8c#6,384p,8b,384p,17f#,384p,17g#,384p,8b,384p,17f#,384p,17g#,384p,17 b,384p,17c#6,384p,17d#6,384p,17b,384p,17e6,384p,17d#6,384p,17e6,384p,17f#6,384p,8b,384p,8b,384p,17f#,384p,17g#,384p,17b,384p,17f#,384p,17e6,384p,17d#6,384p,17c#6,384p,17b,384p,17f#,384p,17d#,384p,17e,384p,17f#,384p,8b,384p,17f#,384p,17g#,384p,8b,384p,17f#,384p,17g#,384p,17b,384p,17b,384p,17c#6,384p,17d#6,384p,17b,384p,17f#,384p,17g#,384p,17f#,384p,8b,384p,17b,384p,17a#,384p,17b,384p,17f#,384p,17g#,384p,17b,384p,17e6,384p,17d#6,384p,17e6,384p,17f#6,384p,8b,384p,8a#,384p,8b,384p,17f#,384p,17g#,384p,8b,384p,17f#,384p,17g#,384p,17b,384p,17c#6,384p,17d#6,384p,17b,384p,17e6,384p,17d#6,384p,17e6,384p,17f#6,384p,8b,384p,8b,384p,17f#,384p,17g#,384p,17b,384p,17f#,384p,17e6,384p,17d#6,384p,17c#6,384p,17b,384p,17f#,384p,17d#,384p,17e,384p,17f#,384p,8b,384p,17f#,384p,17g#,384p,8b,384p,17f#,384p,17g#,384p,17b,384p,17b,384p,17c#6,384p,17d#6,384p,17b,384p,17f#,384p,17g#,384p,17f#,384p,8b,384p,17b,384p,17a#,384p,17b,384p,17f#,384p,17g#,384p,17b,384p,17e6,384p,17d#6,384p,17e6,384p,17f#6,384p,8b,384p,8c#6