Jump to content

Chipamp in the browser?


Multimedia Mike
 Share

Recommended Posts

Hi! I've been lurking and leeching music from OCRemix for awhile now but I finally joined because I might have something to contribute.

Is there any interest in being able to run Chipamp in a web browser? I.e., the ability to play a chiptune directly in the browser rather than relying on an external program? Does something like this already exist or is someone working towards the goal?

The reason I ask is because I'm working on the goal. :-) In fact, it's almost ready to launch (for a handful of systems' chiptunes). I thought now would be a good time for due diligence to learn if I'm duplicating anyone else's effort.

Link to comment
Share on other sites

There's already been some headway in porting video game music format players to flash.

FlashNSF is pretty well known and widely used.

Someone's also ported the Game Music Emu library to flash. Interface is clunky and not really suited to use on a website as is, but it's open source and fairly easy to customize. Case in point: I (having ZERO experience with flash or actionscript) was able to throw together this modified version in an afternoon or two.

Link to comment
Share on other sites

There's already been some headway in porting video game music format players to flash.

FlashNSF is pretty well known and widely used.

Thanks, I hadn't heard of this one.

Someone's also ported the Game Music Emu library to flash. Interface is clunky and not really suited to use on a website as is, but it's open source and fairly easy to customize. Case in point: I (having ZERO experience with flash or actionscript) was able to throw together this modified version in an afternoon or two.

I am familiar with the GME port to Flash. Nice work cataloging all the SNES songs. It would be nice to see an easier way to transition between the various tracks in a song.

My project also leverages libGME, only by using the original C library in Google Chrome's Native Client interface.

Link to comment
Share on other sites

Is Flash really the way to go?

I think HTML5 would be preferable... JavaScript... and using Web Workers to pre-render & Web Storage to buffer? Or something like that?

Flash would be my second choice for this, right behind Chrome Native Client, which is what I'm using.

Going the pure JS/HTML5 route would entail: Getting the engines ported to JavaScript (the ActionScript ports might help with this, otherwise, huge chore); then there's audio output which would require separate backends for the experimental audio APIs that both Firefox and Chrome are deploying, plus there would probably need to be a Flash audio output "fallback" (which seems to be how many HTML5 apps current do audio). And that's not even getting into visualization (not necessary, but it is nice to have).

It probably can be done with pure 'HTML5' (or rather, a combination of tech that often contribute to the overall HTML5 buzzword), but it would be a lot more work, and likely not anywhere near as performant.

Link to comment
Share on other sites

  • 3 weeks later...
Somebody make this happen.

A quick update: I am still committed to making this happen. I was about to make it happen when I first posted a few weeks ago. djpretzel encouraged me to try to get some more feature support into the player to bring it closer in line with the real Chipamp. So I've been working on that.

Anyway, if anyone wants a peek at what I'm working on, drop me a PM or email. I hope to release something public soon that can support a wide enough set of formats (and a decent database to back it up) and then be able to add more formats and features as requested.

Link to comment
Share on other sites

Yeah this would be a really useful thing to have, especially if it could be integrated on the remix pages so you could have a link to the original source by the side of the youtube preview, if the chiptune is available. Would also be handy for WIP threads to quickly compare source usage. Nice work, Mike :)

Link to comment
Share on other sites

  • 2 weeks later...

Awhile back, I posted that I was working on a way to allow people to play chiptunes directly in their browsers.

I'm pleased to show off the fruits of those efforts thus far:

http://gamemusic.multimedia.cx/

This is a website that includes a player extension that a user can (hopefully) easily install and a database of several thousand chiptunes. Thus far, the site catalogs tunes from NES, SNES, Genesis, Game Boy, Nintendo DS, Saturn, and Dreamcast.

I plan to add a lot more system support (bringing it in line with Chipamp eventually) and the chiptunes to match. But I would like to solicit feedback on the work so far.

Thanks.

Link to comment
Share on other sites

this is fantastic! is this functional outside of your website, like if I click on a .gbs file will it automatically play? if not, that feature would be divine

thanks to your "random game" button I've already discovered an awesome soundtrack I've never heard before, and it's super convenient not having to download or install anything but an automatic app

everything seems to work fine so far, love it

Link to comment
Share on other sites

this is fantastic! is this functional outside of your website, like if I click on a .gbs file will it automatically play? if not, that feature would be divine

As it stands, it should be possible to play songs on arbitrary sites as long as the extension is installed. However, it takes some cooperation between the extension and the JavaScript on a page. I still need to document it all (and probably refine/simplify/debug it all). Plus, I need to dump all the player source code into Github so anyone can do with it as they wish.

thanks to your "random game" button I've already discovered an awesome soundtrack I've never heard before, and it's super convenient not having to download or install anything but an automatic app

everything seems to work fine so far, love it

Thanks so much! (Aside: Big fan of your remixes.) I'm glad that this has been a seamless experience for at least one user. Frictionless-ness was a huge goal.

I know what you mean about discovering new soundtracks. In the 3 months I have been working on this project, that random button has introduced me to possibly more awesome soundtracks than when I was an avid gamer in the 8-/16-bit era.

Link to comment
Share on other sites

Pretty nice. :grin: I just discovered the music from Maken X. 8-O Too bad I don't have a Dreamcast. :/ It seems clean enough and not hard to use at all. :-) I'll be referring to this if I need to listen to game chiptunes, although it looks like you can't separate out the DS tracks. :| I guess I'll have to work on another way to hear the separate parts.

All in all, it works well.

Link to comment
Share on other sites

I'll be referring to this if I need to listen to game chiptunes, although it looks like you can't separate out the DS tracks. :| I guess I'll have to work on another way to hear the separate parts.

All in all, it works well.

Thanks! Are you referring to the ability to mute individual channels of the chiptune? Unfortunately, it's a limitation of whatever player library I happen to be leveraging. The one for playing Nintendo DS chiptunes (Vio2sf) doesn't expose any switches for toggling voices. One day, I may dig into the engine and change that.

Then again, for some of the more advanced consoles, the voices column of the player could get unwieldy. I seem to recall that the Dreamcast's audio coprocessor was capable of processing 64 digital channels! :grin:

Link to comment
Share on other sites

Thanks! Are you referring to the ability to mute individual channels of the chiptune? Unfortunately, it's a limitation of whatever player library I happen to be leveraging. The one for playing Nintendo DS chiptunes (Vio2sf) doesn't expose any switches for toggling voices. One day, I may dig into the engine and change that.

Then again, for some of the more advanced consoles, the voices column of the player could get unwieldy. I seem to recall that the Dreamcast's audio coprocessor was capable of processing 64 digital channels! :grin:

I see. Thanks for the info. :-)

Link to comment
Share on other sites

Thank you so much! I'm still in the process of getting into the remixing scene, but this really got me motivated. Listening to midi files is okay, but there's nothing like hearing the actual sounds!

If my little game music website project facilitates the creation of more awesome game remixes for ocremix.org, all the work I put into the website will be worth it. :grin: Good luck!

Link to comment
Share on other sites

Is there any chance of this being developed for FireFox, too? I'm not really sure if I'm going to download chrome just for this site. (Though I might if this ends up being as cool as I think it is)

I promise it's as cool as you think it is. :grin: Doing the equivalent plugin for Firefox would be quite a bit of work that I'm not prepared to do.

Try out Chrome; you won't be disappointed. Both the browser and this player extension are extremely simple to install, whether you're on Windows, Mac, or Linux.

Link to comment
Share on other sites

I love this. First thing I went for was the Final Fantasy Adventure soundtrack, because Ito could really do great things with only four channels. I really dig that you have some of Sega's unloved systems in there, and a lot of japan-only games I've never heard of. There's a lot of great music there.

Can we suggest games/systems for the list? Or are you limited to what's available right now?

Link to comment
Share on other sites

Pretty nice. :grin: I just discovered the music from Maken X. 8-O Too bad I don't have a Dreamcast. :/ It seems clean enough and not hard to use at all. :-) I'll be referring to this if I need to listen to game chiptunes, although it looks like you can't separate out the DS tracks. :| I guess I'll have to work on another way to hear the separate parts.

Good news: I looked into the software library that handles the DS music. It should be pretty straightforward to get channel toggling working there and I will try to include that in a future player version.

It looks like the DS supports 16 channels. I guess I should display the voices in 2 columns of 8.

Link to comment
Share on other sites

I love this. First thing I went for was the Final Fantasy Adventure soundtrack, because Ito could really do great things with only four channels. I really dig that you have some of Sega's unloved systems in there, and a lot of japan-only games I've never heard of. There's a lot of great music there.

Thanks for the kind words. I know the feeling of finding gold in this database-- I often play with the "Random" button and end up hearing great music I never would have encountered otherwise.

Can we suggest games/systems for the list? Or are you limited to what's available right now?

I'd love to know what people would like to see (hear?) next. In particular, if you know of a missing chiptune for an already supported system (e.g., you know of an SNES set that I missed), please point me to the download.

I would eventually like to bring the player in line, feature-wise, with OCRemix's Chipamp plugin. I know it's possible; it will just take time.

The next system catalogs likely to be added are: PlayStation 1 & 2, ZX Spectrum, Amstrad CPC, TurboGrafx-16 / PC Engine, MSX, and Atari SAP. These are next on the list because the player already supports them; adding the catalogs is a matter of wrangling the metadata and staging the chiptunes.

The following phase will be GBA, C64 SID, Atari ST / Amiga sc68, Atari ST YM, WonderSwan, and X68000. The system list gets pretty obscure. But I have both the player code and song collections available, so I might as well go for it.

Link to comment
Share on other sites

Game Boy Advance support should be added sooner rather than later, in my opinion

not a very "obscure" system :)

also,

Good news: I looked into the software library that handles the DS music. It should be pretty straightforward to get channel toggling working there and I will try to include that in a future player version.

It looks like the DS supports 16 channels. I guess I should display the voices in 2 columns of 8.

ooh my god yes oh my god yes oh my god yes oh my yes god my oh god yes god

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...