Chiptune.app
chiptune.app
chiptune.app
https://rusticnes.reploid.cafe/wasm/?tab=jam&cartridge=Shove...
But I don't have a slick interface or a way to browse chiptunes, so...
chiptune.app: 1
zeta: 0
Clearly I need to get to work :) (At the very least, you can load up most NSF files and even NES games, and the visualizer will still run. If you want to know what notes the "coin" sound in SMB makes, now you can.)
I saw there was a MIDI file for at least one of the songs (Choppastyle [1][2]), so maybe there's a chance to get the rest of them from somewhere? I'd love to hear a version with modern synth instruments to compare and contrast (although my dream is for a cover of the whole album by www.paulgilbert.com and friends hahah).
NOTE: the redirect from links like [2] is a bit jarring, it would feel more natural if the URL remained (instead of the redirect to [3]). It would also make it easier to share a specific song by just copying the URL.
--
0: https://virt.bandcamp.com/album/fx3-remastered
1: https://virt.bandcamp.com/track/choppastyle
2: https://chiptune.app/?play=Contemporary%2FVirt%2Fv-choppasty...
If it was me, I would change it to something like:
* https://chiptune.app/browse/Contemporary/Virt
... opens the browse folder, as it does now.
* https://chiptune.app/browse/Contemporary/Virt/v-choppastyle....
... opens the browse folder _AND_ focus/selects the given track.
Of course, neither one should play anything by default, but! I would put the play controls on the top of the page, and make the play button bigger and more prominent. It took me a while to find the tiny triangle in the bottom left of the page.
My 2 cents. Awesome project btw! :-)
(EDIT: also, it looks like chiptune.app does have a sort of piano-like visualizer available from the top-right corner, but it doesn't look quite as nice as yours.)
"Wait why is my website on the front page of HN? I thought I let the domain expire."
I don't mean to piggyback, but I want to show what I had hosted here before:
https://www.youtube.com/watch?v=7pEvu_nC2LQ
OPs project is obviously much more impressive, but it's cool to me that the aesthetics are similar and both come from similar places. A nice reminder that the internet is actually pretty small I guess.
Also, I'd like to introduce people who may not be familiar with Chiptunes and trackers to Tim Follin. Tim has a legendary status among NES composers. His music doesn't even sound like it could be coming from an NES sound chip:
I remember something was posted to HN a while ago about exporting your playlists from Spotify. That's my current hurdle to leaving the platform, if I can do that and whichever service allows me to import these playlists I'll be leaving.
I hate electron and the CTOs that use it almost as much as I had “cross-platform” mobile apps.
That sort of garbage is coding to the lowest common denominator of device rather than optimizing the app for the capabilities of the hardware.
The reason why some engineers need to be managed by Product and Project is that they don’t think hard about all the constraints, such as the cost of developing multiple native apps vs. the benefit that would provide.
This is often due to a failure of empathy: many engineers envision the common user being like them, when really the common user doesn’t know, notice, or care about whatever this “Electron” thing is.
I’ve seen, time and time again, developers having loud opinions about how choosing X over Y is because people are dumb, or cheap, or inexperienced. Those are all possible, but not nearly as common as they think. They’re easy explanations. But I rarely see developers do the engineering part where they quantify the issue and make a case for picking X over Y.
If developers hate Electron so much, the answer is to develop the skill set for making an informed argument that isn’t limited to just things like RAM and latency and file size. These often aren’t compelling business reasons. They’ll either learn more about why Electron gets picked, or they’ll have a solid case to make for why not to pick it.
I'm on a four-person team building a React Native app. RN is awful, I'll admit, but it would be impossible to work at the pace we do if we were maintaining fully parallel Android and iOS codebases.
Besides, it's the hardware's job to optimize for the capabilities of the SDK.
> Besides, it's the hardware's job to optimize for the capabilities of the SDK.
You can't possibly blame the hardware manufacturers for how poorly React Native runs. Even if the CPU engineers wanted to target React specifically and make it run better somehow (and you seem to think they should), where would they begin? React sits on top of 35 layers of software abstraction and runs in 2-3 virtual machines, how could they target RN?
Assuming they could add magical instructions that benefit React somehow, who's going to patch the 34 lower layers for React to benefit from it? The manufacturers? The React team? You?
[0] My main beef with React Native is the total lack of useful stack traces. Also, when running on a device, when you tap Debug before manually setting your dev machine's IP, the app is bricked and you have to delete and reinstall it.
This is why you need to become king. In many places, it is the only way to truly deal with this nonsense. Top-down.
If you want a big org to defenestrate electron, your #1 mission is to generate a very scary narrative that electron is a 'legacy' technology and that your competition is already 2 steps ahead. You could spin little lies like "I overheard a member of KPMG discussing our competition's use of SSR and native local apps to deliver leading-edge UX while at lunch last week".
The super shitty thing about electron is that it does, arguably, reduce the overall complexity of delivering an end solution (regardless of the UX). My traditional arguments that complexity is at the heart of all evil do seem to go hard against this idea that I can code an app one time and deploy it everywhere. Clearly, this is not how it works out in practice, but the savings are definitely somewhere in the middle and detectable.
What does HN think about the complexity argument for using electron?
When you click, you download packages between 30kb and 300kb (roughly speaking); the player is surely already in memory - that is your latency. For systems that run immediately on machines with a fraction of power.
• Amiga Music Collection (SOAMC=) <https://www.paula8364.com/>
• Authentic SID Collection (SOASC=) <https://www.6581-8580.com/>
Here's an example of the same MIDI file being played back on several different devices: https://youtu.be/eiMP-PlL6VM?t=954 It's clearly the same song on all of them, but it sounds slightly different.
Modern browsers do not support MIDI playback on their own, so chiptune.app is presumably doing it on its own with its own (likely intentionally retro) sound font providing the instruments.
Additionally even if macOS had its own system-level MIDI synthesis (not sure if it does), GarageBand would actually probably still be different since it's main purpose isn't MIDI playback -- it's to be a DAW.
This website uses a different instrument set. You can actually select which one it uses in the Settings panel, but by default it uses Kenneth Rundt's GMGSx.sf2 (which does sound quite a bit Roland-y to me), as shipped by SynthFont.
I don't know what instrument collection GarageBand uses.
yes, but also the VIC timers and the PLA. So basically you need all of the c64 chips emulated, at least in part :)
I wrote a simple SID player for fun and I feel like it's 20% shy of being a full c64 emulator, all it needs is video output and keyboard/joystick input.
I wrote a simple program that transformed basic (60hz, no PCM-style hacks) SID programs to like sequence of byte instructions for the SID chip so that I could replay without emulating and the file sizes are massive compared to the original!
Here is an awesome single file SID player written in C,
I wrote mine in C too and it's basically a 1k line switch statement for every 6510 instruction :) I went the extra mile and made it cycle-accurate though.
libsidplayfp is probably the best emulator out there. It actually emulates voltage levels at one stage. The wiki has a bunch of info on SID reverse engineered from die shots https://github.com/libsidplayfp/SID_schematics/wiki
The term chip music was coined on amigas and newer computers to differentiate it from regular sample based music.
Of course these are indeed modules, arrangements by someone else than the original composer, and not SID tunes per se.
MIDI files: a table of notes and variations for playing default samples for instruments.
Chip synthesis programs: code that generates sequences of sounds, requiring some specific synth engine.
The former two have a radically different (lack of) complexity compared to the latter...
I don't know much about the MIDI format, but there was one song [1] that I used to love listening to on Windows 9x. I guess the file took advantage of some 9x quirk, because the orchestration is completely busted in modern Windows and macOS. I'm so happy because this site plays it just the way I remember it!
[1]: https://chiptune.app/?play=vgmusic.com%20MIDI%2Fconsole%2Fse...
Here's a video I found of one of my favorite games sounding completely different from how I remember it: https://www.youtube.com/watch?v=inn7IE6-wgY
Is it playing it back with some internal samples and a playback feature, relaying it to the OS, or is this a Javascript player?
--
Oh wait, I just turned on the Visualizer, which makes me think that this is all done in Javascript, including the audio rendering?
This is wild. Anyone who’s more into this space than I am have any editorial comments on the various SoundFont options?
…listening to Space Quest III…
Or Masquerade 55, if you want higher fidelity but with SC-55 replacement in mind.
Space Quest III predates General MIDI altogether. I assume that the original soundtrack was composed for the Roland MT-32 and that the ones you are listening to have been remade into GM by fans, or maybe it was added in a later version. It would be nice if this player contained an MT-32 emulator since so many Sierra (and other) game soundtracks were composed for it specifically. Such a thing already exists: https://github.com/munt/munt
There's a huge variance in Soundfont quality, and the craft put in by Soundfont authors to program all the modulators properly makes a huge difference. GeneralUser is one of the best. https://schristiancollins.com/generaluser.php
Reminds me of a Chiptune player I made a wile ago (with Chiptune.js), but with only like 20 predefined Cracktros. If anyone is interested: kleemans.ch/static/chiptune
In the 1990s chiptunes meant *tracker (Protracker, etc.) tunes with short loops used as instruments.
https://en.wikipedia.org/wiki/Chiptune
"The term is commonly used to refer to tracker format music using extremely basic and small samples that an old computer or console could produce (this is the original meaning of the term)"
chiptunes on Amiga (mod, xm) where reproducing samples of the sounds created with HW synthesizers (CHIPs), like, for example, the C64 SID, one of the most popular ever.
For example the intro of "Cannon Fodder"[1] on the Amiga is not considered a chiptune, because it used samples from real instruments and a human singer
For some original true chiptune, see the amazing work of the amazing Rob Hubbard[2]
The 8bit electric guitar of Skate or die still gives me goosebumps almost 40 years later[3]
[1] https://www.youtube.com/watch?v=PiYuq6Ac3a0
Yes, old computers and consoles with sampling capabilities. Chiptune means to "emulate" older sound chips with sampling hardware.
In the nineties SID music was just SIDs.
"For example the intro of "Cannon Fodder"[1] on the Amiga is not considered a chiptune, because it used samples from real instruments and a human singer"
Agreed.
"For some original true chiptune, see the amazing work of the amazing Rob Hubbard[2]"
Rob's work is amazing, but I really don't think he'd refer them as chiptunes.
In the early nineties, as a demo (intro) coder you wanted a chiptune when you had space constraints. 40 kB total for code / gfx / music, which was a pretty common size limit for Amiga intros that time, so you had maybe 4-15 kB for the chiptune.
How do I know? I was there.
Not disagreeing with what you wrote, I was replying to "Absolutely no one referred to SID, YM etc. tunes as chiptunes in the *nineties*"
They absolutely did in the 90s.
I was organizing chiptunes nights in my city in Italy in the late 90s early 2000s and we were calling it either 8bit music, chip music or chiptunes.
I did not invent the format, I discovered it in Berlin at the times.
The guys in Berlin told me that they imported it from Tokyo ¯\_(ツ)_/¯
His Commando tune is pure gold, I still love it after about 40 years since the 1st listen. A real song that I plan to make a rock cover one day, hopefully before I die (did I say I'm quite lazy?:) Others already did metal covers, sometimes with good results [0]. My idea is to keep it funky like the original and use mostly real instruments.
"Redial" in this folder is one of the best and most underrated video game songs of all time.
Very nice.
(I spent entirely too much time on these conversions...)
Always had thought there only were chiptune sounds
So what you're hearing is just the playback code shipped in the game, plus all the samples it came with.
https://chipmusic-f6069.web.app
It's supposed to display a random pixel art GIF from Giphy but they probably changed the API in the last two years.
I originally had chipmusic.fm but $99/year for a domain is hard during hard years.
My only complain is that track selection is inconsistent among systems, for example on Sega Master System the game tracks is spread among individual .vgm files but on Nintendo all the tracks is contained on a single .nsf file, which I find disavantadgeous compared to the former one because you have to go through all the tracks to find what you want.
I would rather if track selection would be uniform on all systems by spreading them to individual files like Sega Master System does.
For the nostalgia, here it is: https://www.youtube.com/watch?v=i_0G6WPuss4
Additional feature idea (for remixing)
- Play several tracks at once
- Keyboard shortcut to toggle each voice channel (soundboard)
:')
by david wise. what a gem. and here is the obligatory, very well done mini-doc about this track, and the incredible technical achievement it took to make it:
That composition is equivalent to painting the Sistine Chapel with only crayons and making it look 95% the same.
Nobuo Uematsu is an impressive man.
Many hours wasted on this 2P game with a neighbor: https://chiptune.app/browse/Nintendo/Jackal
Martian Lovesong
Point of Departure
Paranoid Android
Also very polished, the UI really looks like Norton Commander or something similar and is still perfectly usable on a phone.
Also, it’s so unexpected to see this text-style UI scroll smoothly or update the progress bar smoothly.
ZTreeWin https://ztree.com/html/ztreewin.htm Free 30 day trial period (USD $29.95)
Eg. Sonic 3 ice cap zone https://chiptune.app/?play=Sega%20Genesis%2FSonic%20the%20He...
- Unreal 1
- Megaman (1-7, X, ...)
- Super Metroid
- Chrono Trigger
- Zelda
Preferring actual chiptunes over MIDI.
GB
- Pokemon crystal
SNES - Tales of Phantasia (It's probably top 5 in best OST for SNES)
- Donkey Kong series
- FF Series
- Terranigma Some good tracks, like:
- Evergreen
- Sanctuary
- Earthbound (not recommended but I do enjoy some tracks)
- In winters there is a genius
- Heartless Hotel
- Megaton Walk
Some notes, Many of the tracks here are actually pop music, (Even the Beatles!), but its been mashed so much its indistinguishable. theres a nice youtube video about it.
- Super Mario RPG (And my name bookie is fantastic)
- Street Fighter 2
- Kirby
- Sim City (City is just 5/5)
- Anything Mario really (Kart, Bros)
- Spider man Maximum Carnage
- Tetris Attack ("Forest stage" is super chill)
- Uchuu Race Astro Go Go
- Tetris & Dr mario (I've listened to this so much, I'm
unsure if its good)
- Tiny Toon Adventures: Buster Busts loose (A little zany
but I like a few)
- Zombies Ate My Neighbors
Last but not least is ZAMN, which has one of the best tracks for the SNES, Mars needs cheerleaders (and also Pyramid of fear). It is genuinely good
I could make a bigger list, but I think after PS1 and N64 costs too much CPU and you're better off getting nonchiptune.Some Mentions
- Layton (DS)
- Saga Frontier 2 (PS1)
- dot hack (PS2)
- Megaman Battle Network Series (GBA)
Its strange, you have to dredge through so much chiptune to find some tracks so recommendations list are always nice.Sonic 3 - Ice Cap Zone https://chiptune.app/?play=Sega%20Genesis%2FSonic%20the%20He...
Note that these are links to individual songs, not just folders, but you have to click once anywhere on the page before the linked song will play.
I tried to find some other classics like the moon theme from Ducktales or Flower Garden from Yoshi's Island or the Bust-A-Move/Puzzle Bobble music but they're not present in their original forms.
Also interesting is that they have CANYON.MID and PASSPORT.MID in a folder with a ton of other songs from some software I've never heard of called MidiSoft Recording Session. I wonder if the others are any good? https://chiptune.app/browse/Demo%20MIDI/MidiSoft%20Recording...
https://chiptune.app/browse/Sega%20Genesis/Thunder%20Force%2...
Also on the same console I like a lot of soundtracks from games that were ported from Amiga: Lemmings, Lotus, James Pond II, they all have some kind of cert different character to traditionnal consoles music.
From the Super NES:
- Super Castlevania IV
- ActRaiser
- Axelay
- StarFox
- Gradius III
- Teenage Mutant Ninja Turtles IV: Turtles In Time
- U.N. Squadron
- Final Fantasy VI (III in the US)
From the Genesis: - Sonic 2
- Sonic 3 & Knuckles
- Ranger-X
From the Unreal Tournament Soundtrack: 08 - Botmca
11 - Enigma
17 - Skyward Fire
28 - Foregone Destruction
Note: I think there's something up with chipplayer.js' tracker playback because some of these Unreal Tournament tracks were definitely playing slower than they should.my poor pixel 3 can't play back almost anything on the site without constant popping ( resembling artifacts, I think? ), which is sad
Give these a try -
https://chiptune.app/?play=Contemporary%2FCatskull%20Records...
https://chiptune.app/?play=Sega%20Genesis%2FRolling%20Thunde...
https://chiptune.app/?play=Sega%20Genesis%2FTime%20Trax%2F01...
\https://chiptune.app/?play=Sega%20Genesis%2FShining%20Force%...
Can't tell you how glad I am to hear that at least one other person has used Chip Player JS this way.
I have been chasing a really cool remix for this track for ages. It's like an amped up techno/psytrance remix...all I remember is it was done by something team or team someone?
Does anyone know what I am after at all?
1. The on-site Feedback link sends you to Twitter where you must become a paid, "verified user" to message the author. I am not signing up for Twitter, much less PAYING for Twitter, to provide feedback.
2. Would be good if you could link directly to a track on the website.
3. You should be able to click anywhere on the current row to start playing a track. Currently you have to click the track's actual filename. Clickin the empty space after the filename does nothing.
4. There could be a top list / chart or at least a handful of tracks on the home page which users can start playing right away instead of having to manually search for something.
5. No Bach in the classical folder?!
6. Open source?
1. The verified thing is a recent change https://twitter.com/halomancer1/status/1680039297637040129
6. It is, it'd definitely be nice if it was easier to find https://github.com/mmontag/chip-player-js