Browser based YM jukebox

All about chiptunes

Moderators: Mug UK, lotek_style, Moderator Team

User avatar
LynXX
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 109
Joined: Wed Jul 19, 2017 3:15 am
Location: Bern, Switzerland
Contact:

Browser based YM jukebox

Post by LynXX »

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
User avatar
dma
Atari God
Atari God
Posts: 1217
Joined: Wed Nov 20, 2002 11:22 pm
Location: France
Contact:

Re: Browser based YM jukebox

Post by dma »

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 ;) )
User avatar
Cyprian
10 GOTO 10
10 GOTO 10
Posts: 3177
Joined: Fri Oct 04, 2002 11:23 am
Location: Warsaw, Poland

Re: Browser based YM jukebox

Post by Cyprian »

great links
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
mlynn1974
Atari Super Hero
Atari Super Hero
Posts: 719
Joined: Mon Mar 03, 2008 10:33 pm
Contact:

Re: Browser based YM jukebox

Post by mlynn1974 »

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
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).
User avatar
LynXX
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 109
Joined: Wed Jul 19, 2017 3:15 am
Location: Bern, Switzerland
Contact:

Re: Browser based YM jukebox

Post by LynXX »

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
User avatar
AdamK
Captain Atari
Captain Atari
Posts: 451
Joined: Wed Aug 21, 2013 8:44 am

Re: Browser based YM jukebox

Post by AdamK »

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]
User avatar
LaurentS
Captain Atari
Captain Atari
Posts: 310
Joined: Mon Jan 05, 2009 5:41 pm

Re: Browser based YM jukebox

Post by LaurentS »

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 ? :lol:

Thanks also to DMA and Lynxx for the online players. :cheers:

Regards
Thadoss
User avatar
ST Graveyard
Obsessed with homicide
Obsessed with homicide
Posts: 2227
Joined: Fri Apr 26, 2002 11:53 pm
Location: Belgium
Contact:

Re: Browser based YM jukebox

Post by ST Graveyard »

Awesome work Nico. This is do much fun to use on my phone. Thanks for this!
We are Atari Legend.

Visit us at : http://www.atarilegend.com

Youtube
Facebook
Twitter
User avatar
LaurentS
Captain Atari
Captain Atari
Posts: 310
Joined: Mon Jan 05, 2009 5:41 pm

Re: Browser based YM jukebox

Post by LaurentS »

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
User avatar
LynXX
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 109
Joined: Wed Jul 19, 2017 3:15 am
Location: Bern, Switzerland
Contact:

Re: Browser based YM jukebox

Post by LynXX »

Great idea! I'll look into it, shouldn't be too hard...
User avatar
npomarede
Atari God
Atari God
Posts: 1540
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: Browser based YM jukebox

Post by npomarede »

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
User avatar
LynXX
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 109
Joined: Wed Jul 19, 2017 3:15 am
Location: Bern, Switzerland
Contact:

Re: Browser based YM jukebox

Post by LynXX »

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...
User avatar
X3peri_MENTaL
Captain Atari
Captain Atari
Posts: 366
Joined: Fri Nov 07, 2003 6:58 pm
Location: The Broom Cupboard
Contact:

Re: Browser based YM jukebox

Post by X3peri_MENTaL »

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. :D
User avatar
Sturm
Captain Atari
Captain Atari
Posts: 224
Joined: Wed Aug 24, 2016 1:51 pm
Location: France

Re: Browser based YM jukebox

Post by Sturm »

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 !
User avatar
LynXX
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 109
Joined: Wed Jul 19, 2017 3:15 am
Location: Bern, Switzerland
Contact:

Re: Browser based YM jukebox

Post by LynXX »

Coming back to this 4 years later :D 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!
User avatar
Shazz
Atari Super Hero
Atari Super Hero
Posts: 641
Joined: Wed Aug 27, 2003 9:27 am
Location: Montréal, Canada

Re: Browser based YM jukebox

Post by Shazz »

Nice :) (icons are broken but now it works !)
...8bits are enough...
SToS
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 109
Joined: Sun Mar 28, 2021 12:16 pm

Re: Browser based YM jukebox

Post by SToS »

Icons broke for me too, Firefox 130.0.1 (Linux 64-bit)
LynXX wrote: Wed Sep 18, 2024 5:49 pm 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'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.
User avatar
LynXX
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 109
Joined: Wed Jul 19, 2017 3:15 am
Location: Bern, Switzerland
Contact:

Re: Browser based YM jukebox

Post by LynXX »

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...
User avatar
LynXX
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 109
Joined: Wed Jul 19, 2017 3:15 am
Location: Bern, Switzerland
Contact:

Re: Browser based YM jukebox

Post by LynXX »

Layout issue should be fixed now as well.
User avatar
LynXX
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 109
Joined: Wed Jul 19, 2017 3:15 am
Location: Bern, Switzerland
Contact:

Re: Browser based YM jukebox

Post by LynXX »

Pitch issue is now fixed as well! :cheers: 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 8)
Last edited by LynXX on Sat Sep 21, 2024 1:19 pm, edited 1 time in total.
CiH
Atari God
Atari God
Posts: 1245
Joined: Wed Feb 11, 2004 4:34 pm
Location: Middle Earth (Npton) UK
Contact:

Re: Browser based YM jukebox

Post by CiH »

Correct full sid-sound on Middle Earth tune by Jess.

Good!
"Where teh feck is teh Hash key on this Mac?!"
User avatar
unseenmenace
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2038
Joined: Tue Sep 21, 2004 9:33 pm
Location: Margate, Kent, UK
Contact:

Re: Browser based YM jukebox

Post by unseenmenace »

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
JeanMars
Captain Atari
Captain Atari
Posts: 493
Joined: Fri Apr 09, 2010 5:15 pm
Location: France
Contact:

Re: Browser based YM jukebox

Post by JeanMars »

That's so cool :-)
Only 2 things missing IMHO:
- Volume control
- Random song play

Cheers,
Jean
User avatar
LynXX
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 109
Joined: Wed Jul 19, 2017 3:15 am
Location: Bern, Switzerland
Contact:

Re: Browser based YM jukebox

Post by LynXX »

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.
JeanMars
Captain Atari
Captain Atari
Posts: 493
Joined: Fri Apr 09, 2010 5:15 pm
Location: France
Contact:

Re: Browser based YM jukebox

Post by JeanMars »

Thanks for your reply!
Post Reply

Return to “Ym rockin'”