Browser based YM jukebox
Moderators: Mug UK, lotek_style, Moderator Team
- LynXX
- Obsessive compulsive Atari behavior
- Posts: 109
- Joined: Wed Jul 19, 2017 3:15 am
- Location: Bern, Switzerland
- Contact:
Browser based YM jukebox
Hi all,
I've been working on a web-browser based YM jukebox and I finally have a first version available. You can find it here:
https://nguillaumin.github.io/ym-jukebox/
It's pretty basic for now and lacking important features (search for example), but it's a start. At least now you can easily listen to YM tunes on your computer or mobile device!
I realize the YM format is kind of obsolete and has been superseded by SNDH, but there's still a huge library of tunes out there, and it was easier to port it to Javascript than a SNDH player, so I went for it.
I put everything on GitHub if you want to contribute, either on the app itself or helping organizing the YM library: https://github.com/nguillaumin/ym-jukebox
To help with library organization I also wrote a little tool to edit YM metadata and various other things: https://github.com/nguillaumin/ymtool It's still in its infancy and only supports the YM5 file format for now. It also doesn't unpack LHA-packed YM files because I couldnt' find a LHA depacker that worked in Go (the language the tool is written in) and I also couldn't find information about the LHA file format to write one myself (if anyone has any technical information about the LHA/LZH format, I'd be interested!).
Feedback is welcome, on this forum or via GitHub issues. I hope you enjoy it!
Thanks!
Nico
I've been working on a web-browser based YM jukebox and I finally have a first version available. You can find it here:
https://nguillaumin.github.io/ym-jukebox/
It's pretty basic for now and lacking important features (search for example), but it's a start. At least now you can easily listen to YM tunes on your computer or mobile device!
I realize the YM format is kind of obsolete and has been superseded by SNDH, but there's still a huge library of tunes out there, and it was easier to port it to Javascript than a SNDH player, so I went for it.
I put everything on GitHub if you want to contribute, either on the app itself or helping organizing the YM library: https://github.com/nguillaumin/ym-jukebox
To help with library organization I also wrote a little tool to edit YM metadata and various other things: https://github.com/nguillaumin/ymtool It's still in its infancy and only supports the YM5 file format for now. It also doesn't unpack LHA-packed YM files because I couldnt' find a LHA depacker that worked in Go (the language the tool is written in) and I also couldn't find information about the LHA file format to write one myself (if anyone has any technical information about the LHA/LZH format, I'd be interested!).
Feedback is welcome, on this forum or via GitHub issues. I hope you enjoy it!
Thanks!
Nico
Re: Browser based YM jukebox
Hey there,
I think some people did this before, but nice to see another go at it!
Other browser based YM players :
- https://github.com/photonstorm/Flod/tree/master/Flym (AS)
- https://github.com/photonstorm/phaser-p ... r/YM/YM.js (CODEF based it seems)
Also some did a SNDH player :
- https://github.com/bobuss/sndh-player
- https://github.com/photonstorm/sc68-2.2.1
(those two are emscripten based, so not "true" JS code one may say )
I think some people did this before, but nice to see another go at it!
Other browser based YM players :
- https://github.com/photonstorm/Flod/tree/master/Flym (AS)
- https://github.com/photonstorm/phaser-p ... r/YM/YM.js (CODEF based it seems)
Also some did a SNDH player :
- https://github.com/bobuss/sndh-player
- https://github.com/photonstorm/sc68-2.2.1
(those two are emscripten based, so not "true" JS code one may say )
-= Personal pages hub = YM-Rockerz =-
Re: Browser based YM jukebox
great links
thanks both of you
there is something wrong with that player: https://tornil.me/sndh-player/#musics/T ... Intro.sndh
thanks both of you
there is something wrong with that player: https://tornil.me/sndh-player/#musics/T ... Intro.sndh
Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
Hatari / Steem SSE / Aranym / Saint
http://260ste.atari.org
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
Hatari / Steem SSE / Aranym / Saint
http://260ste.atari.org
Re: Browser based YM jukebox
Nice Player LynXX.
It's a good way to quickly go through lots of YMs which is very useful on a mobile phone. It's fine on Chrome and Firefox but it doesn't seem to work on IE11. It simply displays Loading...
JS error is:
abort(No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.) at Error: 0 at O
libym.js line 1586
It's a good way to quickly go through lots of YMs which is very useful on a mobile phone. It's fine on Chrome and Firefox but it doesn't seem to work on IE11. It simply displays Loading...
JS error is:
abort(No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.) at Error: 0 at O
libym.js line 1586
Still got, still working: Atari 4Mb STe, 520STFM (x2), 2.5Mb STF, Atari 2600JR, Flashback 8 Gold.
Hardware: Cumana CSA 354, Ultimate Ripper, Blitz Turbo, Synchro Express II (US and UK Versions).
Hardware: Cumana CSA 354, Ultimate Ripper, Blitz Turbo, Synchro Express II (US and UK Versions).
- LynXX
- Obsessive compulsive Atari behavior
- Posts: 109
- Joined: Wed Jul 19, 2017 3:15 am
- Location: Bern, Switzerland
- Contact:
Re: Browser based YM jukebox
Thanks!
I knew about the Emscripten port of sc68 actually, but I didn't know about the other links, I'll check them out. Mine is also an Emscripten port of the Leonard YM library.
For IE11 I'm not surprised, it's just too old, it would be too much effort to support it. Event Microsoft doesn't want you to use it But I will try to at least handle the error more gracefully.
Nico
I knew about the Emscripten port of sc68 actually, but I didn't know about the other links, I'll check them out. Mine is also an Emscripten port of the Leonard YM library.
For IE11 I'm not surprised, it's just too old, it would be too much effort to support it. Event Microsoft doesn't want you to use it But I will try to at least handle the error more gracefully.
Nico
Re: Browser based YM jukebox
You could use my recordings at http://sndhrecord.atari.org/ (all recorded from real STE)
Atari: FireBee, Falcon030 + CT60e + SuperVidel + SvEthlana, TT, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x Portfolio (HPC-006)
Adam Klobukowski [adamklobukowski@gmail.com]
Adam Klobukowski [adamklobukowski@gmail.com]
Re: Browser based YM jukebox
Hi Adam,
I've searched a site like yours for ages without success.
That's exactly what I was looking for.
Thanks a lot.
Couldn't you let me know before ?
Thanks also to DMA and Lynxx for the online players.
Regards
Thadoss
I've searched a site like yours for ages without success.
That's exactly what I was looking for.
Thanks a lot.
Couldn't you let me know before ?
Thanks also to DMA and Lynxx for the online players.
Regards
Thadoss
- ST Graveyard
- Obsessed with homicide
- Posts: 2227
- Joined: Fri Apr 26, 2002 11:53 pm
- Location: Belgium
- Contact:
Re: Browser based YM jukebox
Awesome work Nico. This is do much fun to use on my phone. Thanks for this!
Re: Browser based YM jukebox
I really enjoy the tool. That's so nice.
Would it be possible to add a random play option, so that I could listen to music for hours without having to click to the next one ?
Regards
Thadoss
Would it be possible to add a random play option, so that I could listen to music for hours without having to click to the next one ?
Regards
Thadoss
- LynXX
- Obsessive compulsive Atari behavior
- Posts: 109
- Joined: Wed Jul 19, 2017 3:15 am
- Location: Bern, Switzerland
- Contact:
Re: Browser based YM jukebox
Great idea! I'll look into it, shouldn't be too hard...
Re: Browser based YM jukebox
Hi
Nice interface for music ; but while listening to some of them, I noticed that the speed is not correct, it plays too fast, as if played at 60 Hz instead of 50 Hz.
For example, listen to "Beatnick" by Mad Max : it really plays too fast and the digidrums are really wrong.
"Wings Of Death 0 - loading" is also too fast, but "WingsLoading" (which should be the same) plays insanely too fast
Maybe it's a bug in your player or maybe it depends on the browser, I'm using linux + firefox, but it should be possible to get a correct 1/50 sec between each YM frames (most of he songs should be played at 50 Hz, songs that were composed to be played at 60 Hz are rare)
Nicolas
Nice interface for music ; but while listening to some of them, I noticed that the speed is not correct, it plays too fast, as if played at 60 Hz instead of 50 Hz.
For example, listen to "Beatnick" by Mad Max : it really plays too fast and the digidrums are really wrong.
"Wings Of Death 0 - loading" is also too fast, but "WingsLoading" (which should be the same) plays insanely too fast
Maybe it's a bug in your player or maybe it depends on the browser, I'm using linux + firefox, but it should be possible to get a correct 1/50 sec between each YM frames (most of he songs should be played at 50 Hz, songs that were composed to be played at 60 Hz are rare)
Nicolas
- LynXX
- Obsessive compulsive Atari behavior
- Posts: 109
- Joined: Wed Jul 19, 2017 3:15 am
- Location: Bern, Switzerland
- Contact:
Re: Browser based YM jukebox
I added a button in the playlist screen to enqueue 100 random songs (can be clicked multiple times). The random selection is pretty naive and may yield duplicates for now.
And yeah there's something wrong with the playback. I don't think it's faster, but the pitch is different and there's something wrong with the digidrums indeed. Thanks for providing that example. At a glance I couldn't find the reason but I'll investigate...
And yeah there's something wrong with the playback. I don't think it's faster, but the pitch is different and there's something wrong with the digidrums indeed. Thanks for providing that example. At a glance I couldn't find the reason but I'll investigate...
- X3peri_MENTaL
- Captain Atari
- Posts: 366
- Joined: Fri Nov 07, 2003 6:58 pm
- Location: The Broom Cupboard
- Contact:
Re: Browser based YM jukebox
Just found this and I'm currently burning through a random 100 playlist.
Don't know if the reported problem with playback is still there or not... but irrespective it's totally awesome.
Don't know if the reported problem with playback is still there or not... but irrespective it's totally awesome.
Re: Browser based YM jukebox
LynXX wrote:I added a button in the playlist screen to enqueue 100 random songs (can be clicked multiple times). The random selection is pretty naive and may yield duplicates for now.
And yeah there's something wrong with the playback. I don't think it's faster, but the pitch is different and there's something wrong with the digidrums indeed. Thanks for providing that example. At a glance I couldn't find the reason but I'll investigate...
Nice ! As npomarede mentioned, i noticed some tunes are not played correctly, "Skateball" for example.
But thanks a lot, it's a really great browser !
- LynXX
- Obsessive compulsive Atari behavior
- Posts: 109
- Joined: Wed Jul 19, 2017 3:15 am
- Location: Bern, Switzerland
- Contact:
Re: Browser based YM jukebox
Coming back to this 4 years later I finally figured out the speed issue. The code was assuming a playback rate of 44100 Hz but most computers these days seem to use 48000 Hz... I have published a new version with a fix: https://nguillaumin.github.io/ym-jukebox/ (you may need to clear your browser cache).
I think there's still some issue with the pitch, it seems sharper than when I play the songs with other tools, and this one I can't figure out. Maybe I need another 4 years!
I think there's still some issue with the pitch, it seems sharper than when I play the songs with other tools, and this one I can't figure out. Maybe I need another 4 years!
Re: Browser based YM jukebox
Icons broke for me too, Firefox 130.0.1 (Linux 64-bit)
I do hope you can sort it all out, it would be a great asset to have this site for us Atarians.
I appreciate all your effort in getting this working LynXX.
I'm no audiophile, but definitely doesn't quite sound right at 48Khz in my opinion.
I do hope you can sort it all out, it would be a great asset to have this site for us Atarians.
I appreciate all your effort in getting this working LynXX.
- LynXX
- Obsessive compulsive Atari behavior
- Posts: 109
- Joined: Wed Jul 19, 2017 3:15 am
- Location: Bern, Switzerland
- Contact:
Re: Browser based YM jukebox
Thanks, icons are fixed now, but there's still some issue on mobile with the player controls at the bottom being partially hidden. I will have a look in the coming days...
- LynXX
- Obsessive compulsive Atari behavior
- Posts: 109
- Joined: Wed Jul 19, 2017 3:15 am
- Location: Bern, Switzerland
- Contact:
Re: Browser based YM jukebox
Layout issue should be fixed now as well.
- LynXX
- Obsessive compulsive Atari behavior
- Posts: 109
- Joined: Wed Jul 19, 2017 3:15 am
- Location: Bern, Switzerland
- Contact:
Re: Browser based YM jukebox
Pitch issue is now fixed as well! It was an underlying issue with the StSound library that got fixed in a more recent version.
So I guess finally declare this project completed
So I guess finally declare this project completed
Last edited by LynXX on Sat Sep 21, 2024 1:19 pm, edited 1 time in total.
-
- Atari God
- Posts: 1245
- Joined: Wed Feb 11, 2004 4:34 pm
- Location: Middle Earth (Npton) UK
- Contact:
Re: Browser based YM jukebox
Correct full sid-sound on Middle Earth tune by Jess.
Good!
Good!
"Where teh feck is teh Hash key on this Mac?!"
- unseenmenace
- Fuji Shaped Bastard
- Posts: 2038
- Joined: Tue Sep 21, 2004 9:33 pm
- Location: Margate, Kent, UK
- Contact:
Re: Browser based YM jukebox
Great job! If I wanted to make use of this on my website, is there an easy way to make it loop tunes?
UNSEEN MENACE
2 original ST's, several STFM's, 2 STE's, a TT and a 14MB Falcon,
a Lynx 2 and Jaguar with JagCD
2 original ST's, several STFM's, 2 STE's, a TT and a 14MB Falcon,
a Lynx 2 and Jaguar with JagCD
Re: Browser based YM jukebox
That's so cool
Only 2 things missing IMHO:
- Volume control
- Random song play
Cheers,
Jean
Only 2 things missing IMHO:
- Volume control
- Random song play
Cheers,
Jean
- LynXX
- Obsessive compulsive Atari behavior
- Posts: 109
- Joined: Wed Jul 19, 2017 3:15 am
- Location: Bern, Switzerland
- Contact:
Re: Browser based YM jukebox
Thanks!
For volume control, I prefer to rely on the device controls. This is more intended for mobile usage where the volume can be easily adjusted with the hardware button.
For random play, it already somewhat exists: Go to the playlist, and click "Enqueue 100 random songs" at the top.
For volume control, I prefer to rely on the device controls. This is more intended for mobile usage where the volume can be easily adjusted with the hardware button.
For random play, it already somewhat exists: Go to the playlist, and click "Enqueue 100 random songs" at the top.