Tuesday, March 30, 2010

How To: Make A Commodore 64 MIDI Interface

Here is how to construct a basic Commodore 64 MIDI interface. It gives the user real-time control over the SID chip via MIDI data in terms of basic synthesis. If you already have access to an Arduino, then this could be quite affordable. The setup (and the outcome) is relatively simple, but it works fine for me and what I need it for. You can use either a MIDI connection or a USB connection with a software-based serial to MIDI converter patch.

Obviously, this post assumes you are familiar with using an Arduino and putting C64 software onto a cartridge. Shoot me an email (seb dot tomczak at gmail dot com) or leave a comment if anything needs clarification for you.

Oh yeah - if you enjoy this sort of stuff, please consider donating a few bucks using the donate button on the right hand side.


Minimum Parts list:
- Arduino board or compatible device (eg. RBBB etc)
- Edge connector
- Wiring
- Breadboard (optional)
- Breadboard jumpers (optional)
- MIDI input circuit (4n28, 1n4148, 220Ω, 3.3kΩ, 100kΩ,) or USB cable

In terms of sourcing the edge connector; you don't need one that is the exact pin count of the C64 Userport - you just need one that is longer. Then simply cut the connector to size. Places that stock arcade parts should have edge connectors. Or just try eBay.


Connections:


Commodore 64 Userport Pinout (at computer)

For the MIDI input circuit:

For USB Use:
Simply attach a USB cable to your Arduino board. You will have to change the baud rate to 57600 in the Arduino code instead of the 31250 MIDI baud rate. You will need to have some form of midi to serial software layer running on your host computer, such as the midi2ser patch (primarily made for OS X).


Software
Download the Arduino code, and upload it to your board or chip.
Download the C64 program and put it onto an EPROM-based cart or other C64 memory device.
Download the midi2ser patch (if using the USB option under OS X)


MIDI Mapping


Demo Video:
Controlling Commodore 64 and SID chip using iPod Touch and DIY MIDI Interface.

midi2ser

When I use Arduino with chip-related or hardware related stuff, I often need to send MIDI data to the board. Sometimes I can't be bothered making a MIDI input circuit for the Arduino, or it may be beneficial to run a USB line for other reasons (5V, for instance).

In this case, I use this very basic patch. Simply load it up in the Max 5 environment, and then select your MIDI input device (usually a virtual path) by double-clicking on the midiin object. If you're in Windows, you may need to edit the patch. If you are on a Mac, and your Arduino is not serial port A, you will need to edit the patch.

Sunday, March 21, 2010

Pocket Music (GB) Sample Pack (ROM Extraction)

Pocket Music is a sequencer for Game Boy. This software, released commercially in 2002, allows the user to sequence material including pre-packaged samples (of which there are 100). I have extracted the samples directly from the ROM, and converted them to WAV files. They are available here.

Thursday, March 18, 2010

On The Musical Capabilities of the SEGA Master System and SEGA Mega Drive / Genesis

This is a follow up post to the SEGA Music Competition.



In regards to the limitations of the SMS or SMD / GEN:

SMS:

SN76489:
- 3 pulse channels
- 1 noise channel
- more information here: http://soundprogramming.net/electronics … asheet.pdf
- possibilities for use:
- sample pack here: http://little-scale.blogspot.com/2008/1 … ample.html

YM2413:
- 9 pitched FM channels
- 2 operators per channel
- drum mode: 6 pitched channels plus 5 drum sounds
- 15 presets
- 1 custom instrument
- more information here: http://www.smspower.org/maxim/Documents … tionManual
- sample pack here: http://little-scale.blogspot.com/2009/1 … mples.html



SMD / GEN:

YM2612:
- 6 FM channels
- 4 operators per channel
- DAC mode for channel 6
- LFO for tremolo and vibrato
- More information here: http://www.smspower.org/maxim/Documents/YM2612
- Sample pack here: http://little-scale.blogspot.com/2008/0 … -pack.html

SN76489 (as above).



Possibilities for using the above two consoles in terms of making music:


SN76489:
MOD2PSG: http://www.kontechs.de/product?name=mod2psg
Chipsounds: http://www.plogue.com/?page_id=43
SN-EMU: http://www.smspower.org/forums/viewtopic.php?p=56653
XPMCK: http://jiggawatt.org/muzak/xpmck/
SN76489 Samples: http://little-scale.blogspot.com/2008/1 … ample.html


YM2413:
XPMCK: http://jiggawatt.org/muzak/xpmck/
YM2413 Samples: http://little-scale.blogspot.com/2009/1 … mples.html


YM2612:
TFM: http://shiru.untergrund.net/software.shtml
XPMCK: http://jiggawatt.org/muzak/xpmck/
YM2612 Samples: http://little-scale.blogspot.com/2008/0 … -pack.html

Wednesday, March 17, 2010

SEGA Music Competition: Win A SEGA Master System MIDI Interface!

It's time to get your chipmusic on! This is your chance to win a SEGA Master System MIDI Interface. Be the coolest musician in your town with this brand new tool that lets you control the sound chip in your SEGA Master System with MIDI data.



The Prize
The prize includes the following:
• brand-new, hand made little-scale-brand SEGA Master System MIDI Interface (SMSM)
• instruction manual
• required cable

Since this product will not be available on the market by the time the competition ends, the winner will be the only member of the public to own this cool piece of retro boutique music hardware!



Competition Details
Submit a SEGA-related music track. This may be:
• chipmusic written for the SEGA Master System / SEGA Mega Drive
• music written within the constraints of the SEGA Master System / SEGA Mega Drive
• music that is covering / remixing a specific SEGA Master System / SEGA Mega Drive tune
• any of the above may include additional instrumentation (whether electronic or more traditional) - however, the focus should be on the SEGA aspects of the work

Music that does not fit into the above categories will be disqualified. If your entry is a cover or a remix of a SEGA Master System / SEGA Mega Drive tune, please be sure to include what it is that you are covering.

Please note that there will only be one winner. The judge(s) decision is final.

Find out more about the musical capabilities of the SEGA Master System / SEGA Mega Drive here.





Submission Guidelines
• the deadline for this competition is the 17th April, 2010
• limit of one entry per person / group
• the length of your SEGA track should be between 1:30 and 5:00
• submission format is strictly as 192 kbps stereo MP3
• send your submissions to: sega@little-scale.com with the subject line 'SEGA Music Competition'
• the best 10 tracks will be released as a digital archive



Note that this competition is in no way affiliated with SEGA.

Tuesday, March 16, 2010

My Set From The Silreq Show

Someone asked me to upload just my music set from The Silreq Show (which was released ages ago). Get it here.

Public Chipmusic Lecture - 25th March 2010 @ Adelaide University

On Thursday, 25th of March, music technologist and composer Sebastian Tomczak will present a public lecture / presentation on chipmusic. Topics covered include the Blip Festival in New York and a brief overview and history of chipmusic as well as the technology that has been developed by Tomczak and its relevance to modern electronic music. There will also be an opportunity for questions. All are invited to attend.

This presentation is supported by the Helpmann Academy.


Date: 25th March, 2010 @ 2.00PM - 2.30PM
Venue: EMU Space, Level 5, Schulz Building, Adelaide University
Cost: Free!

Monday, March 15, 2010

Save 2! 4! On My Format Festival Performance

Adam Monkhouse, who writes the Adelaide music oriented blog Save Two! Four! has written a brief post on my performance at the Format Festival last Thursday. Includes some photos. Read it here. Make sure to check out the rest of his blog with local happenings and reviews.

Sunday, March 14, 2010

How To Replace Samples in "Pounder"

Overview
The Gameboy program Pounder by 8cylinder lets the user trigger drum samples using the buttons and the directional pad. By hacking and replacing certain sections of the Gameboy ROM file, it is easy to replace the samples that are triggered. The aim of this post is to get you started - there are few different ways of going about replacing the sample data inside of the ROM.



What You Will Need
• Max/MSP or Max/MSP runtime (free) from Cyclin74.com
• The audio2fourbits_cr.maxpat Max/MSP patch
• Spreadsheet editor such as Microsoft Office or Open Office (free) from OpenOffice.org
• The dec2hex.xls MS Excel spreadsheet
• A hex editor such as HexFiend for OS X (free) from RidiculousFish.com
• The pounder2_001.gb Gameboy ROM file from 8cylinder



1. Load and Create New Sample
Load your new sample into the Max/MSP patch audio2fourbits_cr.maxpat. Hit the READ button. Set the length of samples (in the SAMPLES field) to two times that of the length as listed in the sample position in the ROM file (see Sample Position section, below). This is because we are using 4bit samples, and we can fit two 4bit samples into each byte. Hence, we are fitting twice the number of audio samples into the sample area as there are bytes. For example, sample #0 takes up 468 bytes, so we must set the SAMPLES filed to 468 x 2 samples = 936 samples.

The OVERSAMPLE field lets you adjust the sample rate of the sample output data. For example, if your original sample has a sample rate of 44.1KHz, an OVERSAMPLE rate of 2.0 will divide your sample rate by 2 and so on. Once you have adjusted the SAMPLE RATE field, hit the STOP then the CLEAR button. Finally, hit the GO button. The sample is converted into 4 bit audio data.

Open the text object by double-clicking on the "text" object to the left of the READ button. Copy the entire contents of the text object into your copy clipboard.



2. Sample Position
The following list shows where each sample is in the ROM file. The following parameters are shown: sample number, sample length in bytes (not audio samples), sample offset in ROM file. As a reference point, sample #0 is equivalent to the sample that is triggered from bank A when the A button is pressed.

0 - 468 @ 16400
1 - 468 @ 32784
2 - 468 @ 49168
3 - 468 @ 65552
4 - 468 @ 81936
5 - 468 @ 98320
6 - 468 @ 114704
7 - (blank?)
8 - 469 @ 147472
9 - 471 @ 163856
10 - 469 @ 180240
11 - 468 @ 196624
12 - 540 @ 213008
13 - 470 @ 229392
14 - 468 @ 245776
15 - 540 @ 262160
16 - 1124 @ 278544
17 - 569 @ 294928
18 - (blank?)
19 - 89 @ 327696
20 - 49 @ 344080
21 - 534 @ 360464
22 - 900 @ 376848
23 - 613 @ 393232



3. Generate HEX Numbers in Spreadsheet


Open the dec2hex.xls spreadsheet. Delete all of the data contents of the column marked Data. Paste the contents of the clipboard to the column marked Data. The two columns marked High Nibble and Low Nibble will automatically re-calculate.

Copy the entire data contents of the two columns marked High Nibble and Low Nibble into your copy clipboard.



4. Edit the Game Boy ROM File
Find the offset location (as seen in the section Sample Position, above) for the sample that you are wishing to replace. Your hex editor will have a menu item to allow you to jump to a specific point in the ROM file. For example, sample #0 is located at an offset of 16,400 bytes. Set your hex editor to "overwrite mode" and paste the data from the spreadsheet.

Repeat these four steps to replace all samples in the ROM.

Phillips SAA-1099 Sample Pack (Copyright-free and License-free)


I have made a copyright-free and license-free sample pack of the Phillips SAA-1099 sound generator chip. It is a very straightforward sample pack, consisting of 96 pitched samples and 16 noise samples, across a range of frequencies. These samples have been recorded from hardware. The audio output stage of the sound chip has not been filtered.

Download the compressed sample pack here (1.9MB).
Download the uncompressed sample pack here (11.9MB).

You may also be interested in my other sample packs, all of which are now deemed copyright-free and license-free:

Ukulele
Commodore 64 SID 8580
Yamaha YM2413 pitched and drums
Yamaha YM2413 drums
SEGA Master System II SN76489
SEGA Mega Drive YM2612
Khene
General Instruments SP0256-AL2
Atari POKEY Noise
Atari 2600 TIA

Adelaide Zine Fair @ Format Festival

Today I went to my first zine fair as part of the Format Festival on Peel Street. I don't know anything about zines or zine culture, but I really like anything that is DIY, and there were many interesting, humorous and thought-provoking publications on display. I had a great time, and I will make sure to visit the next zine fair I come across. If you're in Adelaide, be sure to be check out Format Collective's Zine Shop in the CBD.

Dealing With Post-Human Abilities (Department of Post-Human Affairs Pamphlet)

Saturday, March 13, 2010

VecM Vectrex MIDI Interface Update: Noise Source Added

I have added a software-based noise source that can be enabled on the Vectrex channel 1 to the VecM Vectrex MIDI Interface. This is a relatively low-frequency noise source, but it is still useable for kick drums and the like, and it has a different character to the noise as found on the AY-3-8912.

Additionally, this is my 1111th blog post.

Friday, March 12, 2010

"Bent But Not Broken" Workshop Wrap Up and Pictures

The "Bent But Not Broken" workshop was held last night as part of the Format Festival on Peel Street. The event was very successful, with an overcapacity crowd that was enthusiastic and seemed to enjoy the relaxed atmosphere.

The workshop was divided into two main parts. The first half focused on chipmusic - specifically, the Game Boy music sequencer Little Sound DJ (LSDJ) written by Johan Kotlinksi. I supplied a total of 8 Game Boy / Game Boy Advance / Nintendo DS units so that participants were able to experience the software when running on some form of hardware. A number of people also brought along laptops in order to emulate the Game Boy and run LSDJ.

Although it was clear that not everyone was from a musical background, people were able to get some interesting beats and phrases out of the obsolete video game consoles, and as such get a feel for composing Game Boy music.

The second half of the workshop centered around circuit bending. Participants were given a number of sound-making toys, and told to find bending spots that changed the sound. Although in almost all cases, the only bends available on the cheap, microblob toys in question were of the speed / pitch / sample rate / clock rate type, everyone had a go at seeing how far these toys could be pushed.

It was clear that people had a good time experiencing and experimenting with the practical side of circuit bending. The fact that the art can have such an immediate and direct outcomes makes it suitable for workshop situations. Various participants even started with cross-device loops and feedback modulations, which showed their interest in circuit bending.

I want to thank everyone that came along for making the night a resounding success. I would also like to thank Simon and the Format Collective crew for making the this workshop possible and able run as smoothly and as successfully as it did.

More pictures can be found here.






In Retrospekt.com.au On "Bent But Not Broken" Workshop

Straight after the workshop last night, David Kudrev wrote a review.

"For those who have missed out, YOU MISSED OUT! I hope there will be future sessions like this in a casual environment where we can drink, laugh, muck around."

Read the full thing here.

Wednesday, March 10, 2010

Rest In Peace, Mark Linkous


Mark Linkous, the amazing singer / songwriter / producer who fronted Sparklehorse recently died after taking his own life. He was a big influence on me, and I loved all of his music. 'It's A Wonderful Life', Sparklehorse's landmark third record, was the second present my wife ever gave to me, and remains one of my favourite albums to this day. Goodbye Mark, we will miss you.

Reminder: Workshop and Performance Tomorrow Night @ Format Festival@

Just a quick reminder about the workshop and performance tomorrow night as part of Format Festival. Supported by Helpmann Academy.


Sebastian Tomczak presents "Bent But Not Broken: Lo-fi Hacking for Everyday People" as part of the 2010 Format Festival in Adelaide, South Australia.

Car-boot treasures and back-of-the-cupboard discoveries finally put to use: exploring obsolete video games and circuit-bent toys for art-making. Participants will pull apart and repurpose noisy children's toys as manic music machines and discover the possibilities of chipmusic with an introductory course of composition for Game Boy.

This event is supported by the Helpmann Academy.

For more information regarding this workshop, please email seb.tomczak@gmail.com.

Date: 11 March, 2010 - 6pm to 8pm
Venue: The McKeague Space, 15 Peel Street, Adelaide
Ages: All ages
Cost: $10 (you get to keep any circuit bent toys!)
Experience Needed: None
What to bring: Nothing. Laptops would be helpful but not necessary.


==========================

little-scale Live as part of the 2010 Format Festival in Adelaide, South Australia.

Fresh from playing the internationally-renowned Blip Festival in New York City, Adelaide-based musician little-scale (Sebastian Tomczak) invites you sit back and enjoy a live DJ set, complete with obsolete video game consoles, from the SEGA Mega Drive to the Atari 2600. With home-brew hardware and chipmusic tunes, this is a night of experimental electronica and 8bit beats.

Date: 11 March, 2010 - 9pm
Venue: The McKeague Space, 15 Peel Street, Adelaide
Cost: Free!







Monday, March 08, 2010

little-scale: Translation And Narrative (Guitar, Drums and Uke Droning)


This is a big departure from my previous releases. For starters, it is not related to chipmusic in the slightest. Half of this release is remixing and rearranging very short snippets of jamming in a rock band situation (guitar, guitar, drums). The other half is reworking very short phrases as played on acoustic and electric guitar and ukulele. This is an organic droning album. Come and immerse yourself in sound.

Sebastian Tomczak - guitar, ukulele and laptop
David Gustafsson - guitar
Brent Easson - drums

The hauntingly beautiful cover print is by Lauren Tomczak. Download this release here.

If you want a taste of this before downloading, I would recommend checking out tracks 5, 7 and 8.

Saturday, March 06, 2010

I Have Completed More Than 20% Of Lazerscale

I have now finished more than 73 tracks for the Lazerscale project which represents the 20% mark. It has been a tiring journey, but I still have some creative energy left. You can check out my 76 tracks here.

As a reminder, here is what Lazerscale is all about:

"In November 2009 Lazerbeat and little-scale took part in a challenge to write 30 songs in 30 days . They found a shared interest in the experimentation encouraged by creating music under a strict schedule and decided to push the idea a little further. The aim of this project is that between January 1st and December 31st 2010, a number of artists will each produce 365 songs. There are a small number of rules governing the exercise but it is mainly for fun and hopefully making some good music."

Rules

The objective of the exercise is for each party to write 365 songs in 365 days.

1 - All songs must be written between January 1st and December 31st 2010.
2 - If a party goes 21 days without uploading a song, the challenge is over for them.
3 - All songs must be a minimum of 60 seconds.
4 - Songs may be produced using any equipment.
5 - Songs don't need to be produced exclusively for 365s365d.
6 - Collaborations with other artists are acceptable and encouraged.

Thursday, March 04, 2010

"Commiseration" (Vectrex Track)

http://chipmusic.org/little-scale/music/commiseration-vectrex-ay-3-8912

Brief Vectrex MIDI Interface Demo Video

Wednesday, March 03, 2010

VecM Vectrex MIDI Interface Update

The VecM Vectrex MIDI Interface has been updated. Support has been added for:

• A better tuning algorithm
• Improved noise and envelope access
• Improved pitch bends

I simply love the way that the Vectrex sounds like in a given space.

Monday, March 01, 2010

"MKE OR BRK" by 10k - Amazing Gameboy Chipmusic Punk EP

Everyone needs to grab this amazing EP right now. I've been getting into it ever since it came out this morning. I highly recommend purchasing this one as a physical copy, as doing so would support Australian chipmusic. And you wouldn't want to NOT support Australian chipmusic, would you?


"Sydney, Australia's Ten Thousand Free Men & Their Families (aka 10k aka 10kfreemen) has just released his debut physical EP. MKE OR BRK (pronounced "Make or Break") is a collection of low-bit, low-brow, low-cost chipunk songs that are both fast paced and full of fury. MKE OR BRK is a huge departure for the one man, 8bit band. He leaves behind the various instrumental demos, netlabel EPs and collaborations that have floated around the World Wide Web and pushes himself further into a niche of a niche by capturing the raw energy that erupts from his vocally driven shows. For those who have not yet had the pleasure of witnessing a 10k performance, it is nothing more than one man, one mic, one Nintendo Game Boy and the time of your life. With solid production and mastering assisted by Chris Mylrea - also known as cTrix in the chipmusic world - MKE OR BRK is as close as you will get without being on the floor with 10k at a show."

Nanoloop for iPhone

Nanoloop for iPhone was released recently, and although I think it could use a few small updates in terms of certain functionality it is a really nice piece of software, and seems to have held my attention for longer than other pieces of standalone music software for the iPod / iPhone.

Find out more about NL4i here: http://nanoloop.com/iphone

Listen to two tracks I've written using the software here and here.

Music from the Audio of Brian W Green's Video 'Sounds At Shipping / Receiving Dock'



I have made two Lazerscale tracks from the audio found in Brian W Green's video Sounds At Shipping / Receiving Dock'. Both tracks use only the audio from the video as source material.

I wanted to show two ways in which I could take the noise and the environment sounds in terms of a musical context. The first track, Shipping, demonstrates noise as cold, harsh, angry. The second track, Receiving, demonstrates the noise as warm, soft and gentle.

You can view Brian's original post here, which includes an embedded version of the video. The audio has been used with kind permission.

You can listen to the two Lazerscale tracks below:
http://www.lazerscale2010.com/track.php?id=368
http://www.lazerscale2010.com/track.php?id=369