"These are the elements of life/"

Showing posts with label Commodore. Show all posts
Showing posts with label Commodore. Show all posts

Monday, August 17, 2020

My web-based Amiga Protracker MOD music player

Back in 2013 I took a web coding course, and for the class project, I wrote a PHP and JavaScript-based MOD player.  Back then, I didn't yet know the concepts of resampling well enough to get the DSP portion of the MOD player correct in time for the submission due date.  It would play the correct rhythms but the samples sounded like static.  It was also doomed from the start to not sound at all musical, because even though I was pulling samples with correct byte order from the MOD files, when calculating a value I was naively using ^ for power, which is of course Exclusive-OR.  Oops!  No wonder the samples sounded bad!

A year or so later, I implemented in the embedded software for a pathogen detection instrument some resampling routines, and I realized that was the knowledge I needed to make my MOD player work.  For many years the desire to finish my MOD player was on the back of my mind, until this year, when I finally decided to finish it.

When fixing my MOD player, I first tried just playing back the samples that it read from the MOD files, and I knew something was wrong simply by the way they sounded at a fixed and reasonable playback rate.  I thought maybe it had to do with how I was doing byte-swapping, but all that code looked okay.  Then I noticed I was using XOR instead of a power, changed it to some repeated multiplies, and BAM all of a sudden the samples sounded like they came from the song!  I was pretty ecstatic.

I then kept working from there, making it properly resample the data to get the right notes.  I incrementally added effects to get songs that required them to sound right.

As I had started it in 2013, I didn't want to deal with anything but getting it to work, so I begin development in 2020 on the same computer with an old version of Mozilla.  After I got it playing songs nicely, I then moved my development to a newer computer, and to my dismay, discovered that the Mozilla-specific moz audio functions had been deprecated.  At first I was annoyed, but after I got it to work using WebAudio, I realized that it was a great benefit, because most people use the spy browser anyway, so nobody would visit it if they had to use Mozilla Firefox, etc.  Also, it now works on phone, which is pretty fun.

Currently it needs the 0xA command implemented, and the related effects that also attenuate the volume of a sample over time.  At this point I think it sounds good enough to share, though.

I don't know JavaScript well enough to really write it in a thought out, object-oriented manner, like I would if I had written it in Java or C++.  It suffers as a result, that effects that need to bend pitch will be really hard to implement, so I probably just won't.  Also, adding support for 8 channel mods will be ugly, but possible, instead of just instantiating more channels, or something.

When I started the project, I didn't know of other JavaScript MOD players.  I then discovered the one made by Gasman.  I think his is still reliant on the old Mozilla moz audio functions.  This year, I have also discovered the JavaScript MOD player that is used by files.scene.org, and the one used by the MOD Archive (though that one is very resource heavy, and super choppy on my phone.)  There is also a pretty good one made by a Finnish guy, and another one on github too.

The value of mine is that it is super fun to use.  It is light weight and works on phones, and has a bunch of MODs uploaded and ready to be enjoyed.  I sporadically add new MODs to it as I hear ones that make me excited to put on my MOD player.  I usually hear them on Nectarine Demoscene Radio, and then download them from Modland or Amiga Music Preservation.

Here is the link to my MOD player: http://pwh.sdf.org/web_mod_player/

I hope you enjoy the great music!

Thursday, September 1, 2011

Year6581 is quite possibly the greatest band ever.

Edit to the header: Yes, the website for Year6581 is still in existence, and it offers both a player and the ability to download what sounds like the higher quality new mixes of their songs. End edit.

The following was written in 2008; unfortunately I don't think their website works anymore, but I believe the MySpace is still there, and on the positive side, there are now many more videos of them on YouTube. Maybe I'll add their mp3s to this post in the future so that they can still be available. Edit: no need to, as their website still exists. Plus, they finally have a real music video up on YouTube! For "Hyperspace". Check it out!

*****************************************************

So classic video game nostalgia is pretty common now, and 8-bit fashion is the ultimate trendy style, but back in the day, you were the ultimate lame nerd if you liked anything older than your friends Nintendo 64 or Sega Saturn. Then slowly, us like minded people started coming out of the cracks, and we attended conventions like the Classic Gaming Expo or Vintage Computer Festival, and we listened to radio shows like "6581 SID" on KDVS hosted by Justin Beck aka Hard Hat Mack. There were still the haters, with their Playstation 2s, who pretended they were Tony Hawk, and would post videos on the web of blowing up old Mac Pluses because it was "hilarious", but now us oldskoolers were large enough in number to not become dismayed, and we held tightly to our ethos that respected and praised history without becoming Luddite.

Now fast-forward ten years, and classic video games have been bastardized into a commercial empire. You can buy plug-and-play joysticks loaded with hundreds of classic Williams or Namco arcade, Atari 2600, or Commodore 64 games, making the actual consoles unnecessary. You can go to Hot Topic, and leave sporting a vintage looking Atari shirt. You can watch G4, and see a cartoon that takes place during the 80s rendered in blocky sprites, complete with health statii and score fields. You can tune into your favorite station and hear Nelly Furtado sing over a track that Timothy "Timbaland" Mosley ripped from Glen Rune Gallefoss' C64 version of Janne "Tempest/Damage" Sunni's Amiga MOD track, "Acid Jazzed Evening".

But like saints descending from that heavenly land of Norway, the duo known as Year6581 has redeemed us, saving us from the blatant commercialization and trendification of our sacred pastime. Year6581 consists of two Norwegians who sing over back up tracks programmed on their trusty Commodore 64. The MOS 6581 analog synth lines bubble euphorically underneath hyper-nerdy lyrics consisting of tractor beams, gravitons, and cylon detectors.

Admittedly, these melodies and chord changes on more conventional instruments would make me want to puke, as they are similar to those found in the pop-punk genre, but presented like this, it just makes me so happy! I pogo around to this!!!

www.myspace.com/year6581
year6581.com

The songs on their myspace are better mixed, sound a lot better, and must be newer versions, but on their website they are downloadable, plus about twice as many.

Also along the same lines, but much more intense and less happy, are 8-Bit Weapon. www.myspace.com/8bitweapon

Praises to Year6581!!!