hn-classics/_stories/2010/11049113.md

59 KiB
Raw Blame History

created_at title url author points story_text comment_text num_comments story_id story_title story_url parent_id created_at_i _tags objectID year
2016-02-06T18:50:56.000Z The Chipophone A homemade 8-bit synthesizer (2010) http://www.linusakesson.net/chipophone/index.php jamescgrant 89 12 1454784656
story
author_jamescgrant
story_11049113
11049113 2010

Source

The Chipophone

linusakesson.net

(show navigation)

(hide navigation)

  • Swedish content

| ----- | | Navigation | | Home & news | | Random page | | All pages |

| ----- | | Databases | | Fortune cookies | | SID themes |

| ----- | | Page collections | | Blag | | Chip music | | Chipophone | | Games | | Hardware projects | | Music downloads | | Obfuscated programming | | Piano music | | Sane programming | | Scene productions | | SID related pages | | Software downloads | | Underhanded code | | Video clips |

| ----- | | Featured pages | | A Mind Is Born | | A Prehistoric Tale | | Autosokoban | | Blackbird | | Chipophone | | Craft | | Cryptic Crossword #3 | | Dishwasher Groove | | Elements of Chip Music | | Faking Fissile Material | | Field Sort | | Fratres | | GCR decoding on the fly | | Glyptodont | | Hanlon Fugue | | Hardsync | | IFComp 2017 reviews #1 | | IFComp 2017 reviews #2 | | Kernighan's lever | | Klämrisk Hero | | Live at Datastorm | | Lunatico | | Marble Machine 8-bit jam | | MISC | | Parallelogram | | PO-2x | | Poems for bugs | | Reverberations | | Sidreloc | | Spindle v2 | | Stein's Nocturne | | Stranded for the C64 | | To Die For | | Toy Rocket | | TTY demystified | | Variation 18 | | We learn the nibbles | | Wings I've lost in dreams | | Zeugma |

| ----- | | Don't miss | | Page thumbnail
Variation 18 |

| ----- | | Forum | | Register | | Log in | | Latest comments |

| ----- | | Syndication | | RSS feed |

| ----- | | Feedback | | |

Video downloads

Chip music

Chipophone

Hardware projects

The chipophone

The Chipophone is a homemade 8-bit synthesizer, especially suited for live chiptune playing. It has been built inside an old electronic organ.

All the original tone-generating parts have been disconnected, and the keys, pedals, knobs and switches rerouted to a microcontroller which transforms them into MIDI signals. Those are then parsed by a second microcontroller, which acts as a synthesizer.

You can find more information about how the organ was modified on the making of page.

Presentation video

The synthesizer

The synthesizer is implemented on an ATmega88, an 8-bit microcontroller with 1 kB of RAM and 8.5 kB of ROM. It receives MIDI data at a jumper-configurable baud rate and produces a 12-bit mono line out signal. What follows is a brief architectural overview.

| ----- | | | | | | |

Waveform generators

Interrupts are generated at 38 kHz. For each interrupt, a sample is generated. It is the sum of the outputs of eight waveform generators (oscillators). Each waveform generator can be configured to generate a pulse wave (with some given duty cycle), a 4-bit triangle wave or white noise. The output can then be ring modulated with a global modulation oscillator (currently not used). Finally, the output is multiplied with a volume factor.

The waveform generation uses approximately 85% of the available CPU time. The remaining time is used by the rest of the software, which is responsible for modifying the parameters (waveform, frequency, duty cycle, volume) of the waveform generators in realtime.

Channels

For each of the eight waveform generators, there is a matching high-level structure, called a channel. Each channel keeps the state necessary for executing an instrument macro, such as instruction pointer, instrument volume, glissando rate, current glissando offset and vibrato phase. It does not keep track of the current pitch, though, but instead holds a reference to the part that has allocated it, known as the owner, and the index to the current key in that part. From this information, the pitch can be deduced.

The channels are updated at 100 Hz.

Parts

There are three parts in the synthesizer: Upper manual, lower manual and pedal. Each part keeps track of a large array with one entry for each physical key. This array contains status about the keys, such as whether they are held, whether they are heard (and at what volume), and to which channel they have been routed.

When a part learns that one of its keys has been pressed, it allocates a channel, becoming its owner, and sets up the channel to reference the matching array slot. The array slot also gets a reference back to the channel.

In arpeggio mode, the part also starts a timer. If a new key is pressed before this timer expires, it will join the previous one in an arpeggio. In this case, no new channel is allocated. Instead, the array slot for the second key is set up to reference the same channel that was used before. Meanwhile, every channel has an arpeggio timer, telling it when to switch notes. Everytime this timer expires, the channel will follow its owner reference, scan through the array of the part (starting at the current index and going towards lower pitches), and look for the next slot that references the same channel.

In other words, arpeggios are not stored as lists in RAM, but in a distributed fashion where each key is tagged with the channel number corresponding to the arpeggio in which it occurs.

Stealing channels

It is sometimes not possible to allocate a channel, as all eight of them are already in use. On a traditional synthesizer, this is where the least recently used channel, or perhaps the one with the lowest volume, is cut (silenced) and "stolen". The chipophone has the benefit of arpeggios, so it'll use some heuristics to determine which two channels are the least important, and simply join their arpeggios (or single notes) into one big arpeggio. This way, no notes are ever dropped, but the downside is that arpeggios may occasionally be introduced even when no part is in arpeggio mode.

Sequencer

There is also a step sequencer with eight steps, and up to eight note events (pressed or released) and one drum event per step. The implementation is straight-forward. The lower manual and the drum kit can be used to record the loop, and it can be replayed either at the part of the lower manual or at the part of the pedals. If it is replayed at the part of the lower manual, actual events on the lower manual will temporarily mute the loop, apart from the drums.

Controls

The knobs and switches have been assigned MIDI continuous controller numbers. Parameters will be routed to the corresponding part according to the MIDI channel number. When the channel update routine is executed, it will in turn configure e.g. the waveform and duty cycle of the corresponding waveform generator according to the settings stored in the part which owns it.

Posted Wednesday 21-Jul-2010 23:42

Discuss this page

Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.

Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.

Primis
Nick Sargente
Thu 22-Jul-2010 07:23

The effect on a standard organ known as a Leslie created by a spinning motor creates a Doppler effect, the effect can be heard in acid rock songs such as the Pink Floyd song "On the Run". does your organ have one of these? It's a real neat feature, on a second note, would you ever be willing to release the schematics/Rom of that midi board? I'm thinking of making a chipophone myself.
-Primis

lft
Linus Åkesson
Thu 22-Jul-2010 08:48

Primis wrote:

The effect on a standard organ known as a Leslie created by a spinning motor creates a Doppler effect, the effect can be heard in acid rock songs such as the Pink Floyd song "On the Run". does your organ have one of these?

No, there was no Leslie speaker in it. Everything was solid state except the reverb.

Primis wrote:

on a second note, would you ever be willing to release the schematics/Rom of that midi board? I'm thinking of making a chipophone myself.
-Primis

I'll think about it. The code might need a little cleaning up first. =)

Anonymous
Thu 22-Jul-2010 15:18

This would rock in a classic NES color-scheme.

Anonymous
Thu 22-Jul-2010 16:15

Good job! I hope you're doing something cool with the drum unit of the organ as well :)

regards
linde/HT

Anonymous
Thu 22-Jul-2010 17:10

Delightful, absolutely delightful!

I would love to build one of those some day. I second the request for schematics if you ever feel you have the time to get around to it :)

Anonymous
Thu 22-Jul-2010 19:03

Ubernice... hope where will be some nice chiptune songs out soon...

maybe clint mansell - requiem for a dream or rob dougan - clubbed to death

to start with?

Anonymous
Thu 22-Jul-2010 19:34

amazing work! i really liked listening to those classics you played in the video. all the best.

(seconding the request for schematics+code, the nerdcore community needs as many open hardware geek instruments as we can get :)

Anonymous
Thu 22-Jul-2010 20:27

Amazing work, and very good tunes you played! It was a present for my hears.

phil
phil durham
Thu 22-Jul-2010 20:50

how long did this project take to complete? regardless, it was worth it. fantastic job.

Anonymous
Thu 22-Jul-2010 21:27

Impressive and my congratulations from one low level sw/hw nerd to (apparently) another :)

Anonymous
Thu 22-Jul-2010 21:34

This Is so awesome, keep up the good work !

I'm posting your presentation video on my blog, (http://ultrazapping.tumblr.com/post/845844888/linus-akessons-chipophone) if you don't want me to, shoot me a message on my "ask me" page and I'll remove it.

Cheers.

Anonymous
Thu 22-Jul-2010 23:09

Hope to see the chipophone in action in the next parties ! Come to the Main 2010 !

Linus, you're damn crazy but brillant !

shazz

Anonymous
Thu 22-Jul-2010 23:53

This would rock in a classic NES color-scheme.

I disagree, I like the stealthy look of a plain old electric organ, it adds to the mystique of the instrument. Like a sleeper car.
Also, chiptune isn't exclusive to NES... jeez.

Anonymous
Fri 23-Jul-2010 00:42

Sweet! Another epic chiptune invention from Linus :D
Looking forward to schematics, etc :)

--Shadyman

Anonymous
Fri 23-Jul-2010 01:41

Name your price. Don't wanna sell? Name your price to make another one.

Anonymous
Fri 23-Jul-2010 03:12

OUTSTANDING!!!! At first I thought it was dubbed because of the mic hiss was drowned out, up until he played MM2 , my personal absolute favorite, and had faltered a bit (a very hard piece) and then I knew it was real.

Anonymous
Fri 23-Jul-2010 05:47

This is one of the most wonderful things I've ever seen on the web. NICE WORK.

Anonymous
Fri 23-Jul-2010 06:00

What are the names of the other knobs and switches?

Anonymous
Fri 23-Jul-2010 06:34

You are a hero!

Anonymous
Fri 23-Jul-2010 07:49

That was incredible! Well done!

hatchinatore
Alex Hatch
Fri 23-Jul-2010 08:13

Primis wrote:

The effect on a standard organ known as a Leslie created by a spinning motor creates a Doppler effect, the effect can be heard in acid rock songs such as the Pink Floyd song "On the Run". does your organ have one of these? It's a real neat feature, on a second note, would you ever be willing to release the schematics/Rom of that midi board? I'm thinking of making a chipophone myself.
-Primis

yes i would love to recreate at least the MIDI synthesizer part :)

Anonymous
Fri 23-Jul-2010 09:52

Thank you very much for sharing this work of art. Enjoyed your demo with great interest. You will become a celebrity amongst 8-bit video game lovers. Thank you again, from Canada.

Anonymous
Fri 23-Jul-2010 11:09

The sheer beauty of this project knocked me off my feet. Kudos to you Linus for a project that shows what dedication (and a little bit of craziness ;-)) can achieve, even in the scene... Are you planning on going into production?
Greetings from Heidelberg Germany and thank you so much for the warm nostalgic feeling these sounds released in me

Anonymous
Fri 23-Jul-2010 13:11

The instrument is second to your amazing skills playing it.
My Childhood memories of these tunes came flooding back, truly amazing.
Thanks for making my day a lot brighter.

Anonymous
Fri 23-Jul-2010 13:33

You, Sir, are an artist and a gentleman. I salute you.

Anonymous
Fri 23-Jul-2010 13:44

I'm blown away, well done.

Anonymous
Fri 23-Jul-2010 13:56

Fantastic. Definitely (and please) release the schematics.

Anonymous
Fri 23-Jul-2010 14:21

Hej, det här var absolut det bästa jag sett & hört för en /lång/ tid. Det där med Megaman 2 fick mig att rentav fälla tårar. Så vackert. Tack. -Janne

Anonymous
Fri 23-Jul-2010 15:48

There are money to earn here, Linus... Well done. I want it. /Thomas Bjerring

Anonymous
Fri 23-Jul-2010 15:57

the sounds warm my heart, nicely done :)

Anonymous
Fri 23-Jul-2010 16:22

This would rock in a classic NES color-scheme.

I disagree, I like the stealthy look of a plain old electric organ, it adds to the mystique of the instrument. Like a sleeper car.
Also, chiptune isn't exclusive to NES... jeez.

Fully agree, I love the sleeper look.. people will just think it's an old hammond or such, then you sit down and (masterfully) rock out the chiptunes.. LOVE this project.. Hope to see many synth projects from you for sure.. I have a few of my own as well (a2sidedcoin on youtube). Congrats!!

Anonymous
Fri 23-Jul-2010 17:21

ups for schematics!.. this baby is amazing! Linus, you are talented as the day is long!

Anonymous
Fri 23-Jul-2010 18:11

Mycket bra! Kan du spelar på min lägenheter? I Kanada? lol.

ta det lugnt!

(ursäkta, min svenska är inte så bra) ;)

The Canadian

Anonymous
Fri 23-Jul-2010 18:31

Absolutely fantastic! Well done!

Anonymous
Fri 23-Jul-2010 18:35

You're a genius and an inspiration. Way to go!
Yarron Katz - Sonic Brilliance Studios

Anonymous
Fri 23-Jul-2010 18:58

if you ever want to sell this one, or build a new one for cash. Let me know beleg_1998@yahoo.com

lft
Linus Åkesson
Fri 23-Jul-2010 20:02

phil wrote:

how long did this project take to complete? regardless, it was worth it. fantastic job.

Hard to say how many effective hours I spent on it, because it was done sporadically over the course of a year.

Anonymous
Fri 23-Jul-2010 20:48

Schematics would be awesome. I have a very similar old school Hammond that's been sitting in my basement for years and it'd give me something to do with my spare time.

Nice work. This is truly amazing.

Anonymous
Fri 23-Jul-2010 22:31

Whoa! Amazing work!

Have you noticed any differences between the sound of your synth and the typical SID chips?

Anonymous
Fri 23-Jul-2010 22:31

Whoa! Amazing work!

Have you noticed any differences between the sound of your synth and the typical SID chips?

Anonymous
Sat 24-Jul-2010 00:02

Det här instrumentet är det mest imponerande jag sett sedan SID-station, rent ljudmässigt. Men att du sedan konstruerat det hela själv från scratch är bara för mycket, så otroligt imponerande.

Jag skulle absolut betala pengar för att få tillgång till scheman och förprogrammerade chip. Det här är bara så otroligt häftigt - hoppas på mer galna projekt i framtiden :)

Mvh
Christoffer Aronsson, Umeå
christoffer.aronsson 'vid' gmail.com

Anonymous
Sat 24-Jul-2010 02:28

Hardware is important, but will be just a piece of crap without knowledge how to use it.
It is awesome! Fantastic! Great!
I can build similar thing but would never play so easy like you. Your performance reminds me to live performance of Rob Hubbard on one 8-bit event...
Good job, Linus!

Anonymous
Sat 24-Jul-2010 02:59

There are money to earn here, Linus... Well done. I want it. /Thomas Bjerring

Indeed there is money to earn...as much as I'd like to see the schematics, don't!!! Look in to selling this stuff to some company or something...no idea how to do that, but don't give it out for free, that thing is amazing.

Anonymous
Sat 24-Jul-2010 04:07

This chipophone literally rules. I love chiptunes and listen to them every day - apart from the classic mario tune (which is good, but overplayed these days) the other four you played are 4 of my favourites - very nicely done too! How about playing some Atari St style tunes by Jochen Hippel (mad max) or Chris Huelsbeck? Turrican or wings of death tunes maybe?

Secondly, have you ever thought about selling one of these? Might be worth a test, I reckon theres a market for this thing. I for one would love to buy one at the right price! (im not rich, sorry...)

Anonymous
Sat 24-Jul-2010 06:23

People like you deserve to live forever. Thank you so much for sharing this video of your amazing creation with everyone.
You give the people of Sweden a good name!

Anonymous
Sat 24-Jul-2010 06:27

Wow, great work and performance. Kudos to you.

Anonymous
Sat 24-Jul-2010 07:51

Wow! This is such an awesome instrument you've created! The attention to detail and polish you've put into it is pretty apparent! Plus you play it well too ;)

Anonymous
Sat 24-Jul-2010 08:20

you're are a genius and my new personal hero

Anonymous
Sat 24-Jul-2010 08:53

This got me very excited.

Please get ahold of the sheet music from all the NES classics and jam them out!

shirotsune
Tan T Curtis
Sat 24-Jul-2010 10:17

This Chipophone is a tour de force, both in its actualization and its utilization. Bravo, sir.

I would love to see downloads of your performances of the pieces included in the presentation (and of the others to which I suspect you are equally capable of doing justice). Your "Commando (Highscore)" in particular is both moving and beautiful--I would listen to that often, if it were available to me.

Anonymous
Sat 24-Jul-2010 11:02

You're my hero... (needless to say am beyond words where did you take this time!)

Anonymous
Sat 24-Jul-2010 12:37

Impressive work! I'm building a Atmega88 based MIDI Controller and am planing to add a 8-bit synthesizer. Ordered the Parts yesterday :-) Would be great to take a look at your code… Please drop me a note when its ready: stepmuel ät ee.ethz.ch

Anonymous
Sat 24-Jul-2010 16:20

Truly amazing. Not only that it works but that it works so well and seems very feature complete and able to mimic the sound of all the different old chips. Also you play very nicely. As for requests of music I would like to hear some non-chiptunes played on this thing. Or perhaps some chiptunes remade to sound like from another system. Anyways. Awesome project indeed!
//vanti

Anonymous
Sat 24-Jul-2010 19:36

lft wrote:

Primis wrote:

The effect on a standard organ known as a Leslie created by a spinning motor creates a Doppler effect, the effect can be heard in acid rock songs such as the Pink Floyd song "On the Run". does your organ have one of these?

No, there was no Leslie speaker in it. Everything was solid state except the reverb.

Primis wrote:

on a second note, would you ever be willing to release the schematics/Rom of that midi board? I'm thinking of making a chipophone myself.
-Primis

just release the code and let open source community clean it up as they want.

I'll think about it. The code might need a little cleaning up first. =)

Anonymous
Sat 24-Jul-2010 20:39

applause Amazing job!

breun

Anonymous
Sat 24-Jul-2010 20:48

I definetly want one !

Anonymous
Sat 24-Jul-2010 20:52

Hey Linus, are you from sweden?

Anonymous
Sat 24-Jul-2010 21:35

Wonderful work, Linus!

Anonymous
Sat 24-Jul-2010 21:46

Freaking awesome.

Anonymous
Sat 24-Jul-2010 22:37

Holy crap, that's just too bloody awesome!

Anonymous
Sun 25-Jul-2010 00:07

Freaking awesome.

Anonymous
Sun 25-Jul-2010 00:19

Eres un hombre brillante, sigue tu excelente trabajo, con tu creatividad y dedicadez digna de admirarse, estas sorprendiendo y deleitando al mundo.

You're a brilliant man, continue with your excellent work, with your creativity and dedication worthy of admiration, you're surprising and delighting the world.

- Andres, from Puerto Rico
Thoughtware.TV

Anonymous
Sun 25-Jul-2010 03:01

This is so sweet! I am in love with chip music since the early 80s and seeing someone play those tunes live on that incredibly great invention your chipophone is feels like finally coming back home after a long, hard journey ;-) You rocked my world.. Keep up the good work! BSC / Symbiosis

animalstyle
joey mariano
Sun 25-Jul-2010 04:26

hey - amazing instrument! i myself have been trying to get a decent chip sound from a guitar... here is my recent attempt... http://filefreakout.com/animalstyle/?p=927 too bad we're too far - i want to jam with you!

Anonymous
Sun 25-Jul-2010 05:03

I believe in our planet again after I saw this page, Linus.

Anonymous
Sun 25-Jul-2010 06:36

Congratulations from Chile. You invention is awesome!!! Ariel Elgueta

Anonymous
Sun 25-Jul-2010 06:42

You are a genius.
Thank you!

Anonymous
Sun 25-Jul-2010 08:16

Absolutely brilliant! If the Scene had a currency, I'd give you all my savings! :)

animalstyle
joey mariano
Sun 25-Jul-2010 08:26

also, i would like to build one of these for my house - are you going to release the source code ever? this is all a bunch of atmel chips right?

Anonymous
Sun 25-Jul-2010 08:48

Congratulations on the concept! Being an ex-chiptuner myself, I could see me having a lot of fun with such an instrument.

Anonymous
Sun 25-Jul-2010 08:57

My first job out of high school was fixing these games at a big arcade in Los Angeles back in 1987. Brought back a lot of memories. Thanks & great work!

MsJaye
Jaye Gallagher
Sun 25-Jul-2010 10:10

Absolutely marvellous, I'm in awe of your dedication and massive geekiness! I don't suppose there's any chance that you could be persuaded to perform the main theme and high score music to the game "Parallax" by Martin Galway?

Anonymous
Sun 25-Jul-2010 10:41

That was awesome! I would love to get a copy of that playing the Megaman 2 intro as it was amazing. Keep up the good work!

- TJ

Anonymous
Sun 25-Jul-2010 11:59

You, sir, are a god.

Anonymous
Sun 25-Jul-2010 12:40

this is so impressive. awesome playin', man!

Anonymous
Sun 25-Jul-2010 13:58

What a gift to us all! This is great and I loved hearing all my old favorite music. I would love to hear the score from Castlevania.

Anonymous
Sun 25-Jul-2010 14:47

bra jobbat

Anonymous
Sun 25-Jul-2010 14:48

bra jobbat

Anonymous
Sun 25-Jul-2010 14:52

Very well done. Terrific work on the MIDI and the electronics. Your playing of your specific type of music is very good and incredably precise.
I have added MIDI to an old electronic organ, but I have headed in a different direction using a software synthesiser in a PC to generate the sounds I wish it to create. My instrument and era of choice the the Theatre Organ.

Anonymous
Sun 25-Jul-2010 15:49

Hey guy, you really ROCK!!!!!!

Anonymous
Sun 25-Jul-2010 19:24

This is truly brilliant and inspiring. Many thanks for sharing your innovation!

Anonymous
Sun 25-Jul-2010 20:29

Wow Linus, I am deeply impressed - by the technical skills as well as how well you can play an organ!

Best regards,
DKL (ex. Legend, Illusion, Success, etc...)

Anonymous
Sun 25-Jul-2010 21:09

Fully agree, I love the sleeper look.. people will just think it's an old hammond or such, then you sit down and (masterfully) rock out the chiptunes..

It's cool, but being able to use a modern MIDI keyboard as a controller has it's benefits as well. Not everyone has space for an old organ, and it'd sure be a pain for a chip musician to carry to a live performance.

Also, I second that more chiptune performance videos would be aweome. :)

Anonymous
Sun 25-Jul-2010 21:12

Grymt bra jobbat mannen!
Som andra påpekat vore det guld om du gav ut kod och kretsschema, skulle verkligen uppskattas!!!

Anonymous
Mon 26-Jul-2010 02:25

Amazing. My too loves combined... if you were in the UK I would be asking you to join my band Tin Man

Tin

Anonymous
Mon 26-Jul-2010 08:30

hihihiihhihi

Anonymous
Mon 26-Jul-2010 08:32

ODINO le casamoto

Anonymous
Mon 26-Jul-2010 08:34

HELLO very cool

Anonymous
Mon 26-Jul-2010 12:42

Excellent! The lost art of "live chiptune performance" :-)

Bloody brilliant, too.

Anonymous
Mon 26-Jul-2010 16:48

Congratulations on a brilliant project!

Are you available for gigs in the UK? I help run a chip-tune themed night, and having a live soundtrack (we already have live Gameboy performances) would be incredible!

Please get in touch if you'd be interested:
http://www.facebook.com/?ref=logo#!/group.php?gid=79720747061&ref=ts

Ole Rudd / Brother Wetlands

Anonymous
Mon 26-Jul-2010 17:38

I think it is incredible. I love it.

Anonymous
Mon 26-Jul-2010 20:48

You are awesome!
In the late 80th I had a 8-bit soviet computer with Yamaha music chip extension. And now it is so sweet to see and hear you playing. Thank you. Thank you very much!

Best wishes from Russia!
Roman.

Anonymous
Tue 27-Jul-2010 00:14

at the video i thought, it's a SID from the C64 - but its an atmel µP...

Anonymous
Tue 27-Jul-2010 01:18

This would rock in a classic NES color-scheme.

Actually would be cooler in Famicom Colors!!!

Anonymous
Tue 27-Jul-2010 03:28

If you are interested in making more, some of us in Hollywood are interested in it.
-RWP86@aol.com

Anonymous
Tue 27-Jul-2010 13:12

This i by far the most amazing thing someone has made in the XXI century about music, please make concerts with your invention i think you are gonna have a brigth future ahead

Anonymous
Tue 27-Jul-2010 15:11

You are a genious and have my admiration. I love smart people that enjoy creating and constructing.

Anonymous
Tue 27-Jul-2010 16:24

Grymt imponerande! Sett videon 3ggr nu... Blir inspirerad att sätta igång med mina egna galna projekt :)

Anonymous
Tue 27-Jul-2010 19:56

Så jäkla grymt, säg till när du skall ha en Nintendo 8-bit konsert!!!!

Anonymous
Tue 27-Jul-2010 21:38

I want one!!!!!!

Anonymous
Tue 27-Jul-2010 22:37

Bravo! You are a genius!

Anonymous
Tue 27-Jul-2010 23:14

Awesome! Den där är bara FÖR fet!

Charmaine
Charmainelim
Wed 28-Jul-2010 14:52

You are a genius. Normally, engineers would enhanced/ redefined the analogue organ. But you transformed an analogue organ to a synthesizer (dual synthesizer)and it is a backward design. It is incredible.

charmaine_lim
www.charmainelimblog.com
Wed 28-Jul-2010 15:12

This is amazing. Technically, it is not easy to transform an analogue dual combo organ to a backward designed "dual synthesizer".

Anonymous
Wed 28-Jul-2010 23:36

Wow!
Please record yourself playing all kinds of old gaming music as well as other music you like. It has such a great variety of sounds, I would love to hear other songs (gaming and non-gaming). I would really like to hear you just jamming on this. Please consider recording yourself :)

bdaglish
Ben Daglish
Thu 29-Jul-2010 00:21

Excellent Work. I may even pay you a visit someday and have a jam...

Anonymous
Thu 29-Jul-2010 00:50

lft wrote:

Primis wrote:

I'll think about it. The code might need a little cleaning up first. =)

Please do! As a freshmen electronic engineer, I find this very interesting!

Anonymous
Thu 29-Jul-2010 19:59

This is fantastic. Work out a show and get booked at the big conventions. You'd be huge at dragon con or comic con or better yet, E3!!! Do it. You'd be famous to all the gamers everywhere!!!! People would line up to hear you talk about chipophone and then rip out all the great old game music!

Brilliant. Simply Brilliant.

Anonymous
Fri 30-Jul-2010 18:31

Dude this is awesome!!!! Dammnnn i'm inspired!

Anonymous
Sat 31-Jul-2010 15:36

Just amazing!

Anonymous
Sat 31-Jul-2010 22:09

Amazing!

Anonymous
Wed 4-Aug-2010 14:17

Good sir, this is a fantistic piece of work. Well done!

Anonymous
Wed 4-Aug-2010 17:52

Congratulations for the fine work!
I also made some like this. Now I´m working
on a Hammond emulator based on a FPGA chip.
Regards
Sergio Bordini
Porto Alegre - Brazil

Anonymous
Wed 4-Aug-2010 18:57

I don't understand half of the technical jargon you're using (I'm new to programming) but seeing all the cool projects you've completed makes me want to learn more than ever. Amazing stuff.

Anonymous
Wed 4-Aug-2010 21:08

I agree with some of the other comments earlier, you could definitely take this act to conventions for sure! (shameless video request coming...) Please can you play the moon stage from duck tails NES!!!

Anonymous
Thu 5-Aug-2010 15:28

Hi, amazing work -amazing result. The chipophone really recreates the NES sounds perfectly (pulse,p50%,p25%,p12%, tri, noise..) however, as a former amigatracker-nerd, I remember the voices for the music where made up of short digital waveforms (often handdrawn), Is there a way to get these sounds into the chipophone aswell? Deeply impressed / Joel

Anonymous
Mon 16-Aug-2010 11:56

While this does not look easy, I think that you could go into a business of actually selling this, once you perfect the code, I for one would buy it as many other people would as well.

Anonymous
Fri 20-Aug-2010 05:04

Hey mate.. I want you to make one for me!!! Message me and let's try to work something out :) jimipolar@gmail.com

Anonymous
Fri 20-Aug-2010 15:36

You seem to respond only to those that either

1 -- Speak hardcore nerd

2 -- tell you off.

So here goes. E = mc*mc. Pi = 3.14159265. There are four stages of matter. Yo momma. Gotcha yet? Good. There are basically 3 levels of nerd that come to this site. lvl 1 -- soft nerds, can only understand that this instrument makes cool sounds and are here to congratulate you/ask you to build one for them. 2 -- the middle class nerd, understands the things this machine does, but doesn't understand a single thing about how it's made. We need this midi file, or w/e it is that's missing and keeping us from making it. We've seen this thing, and we need this thing. This thing is the son of epic and uberleet, and yet, we can't reach it. The softies don't care enough, and lvl 3s know how you made it and are probably off making a prototype of their own. I don't care if you charge and make an instruction book or anything, that's on you. All i know is, I need this chipophone.

lft
Linus Åkesson
Tue 24-Aug-2010 19:43

Hi, amazing work -amazing result. The chipophone really recreates the NES sounds perfectly (pulse,p50%,p25%,p12%, tri, noise..) however, as a former amigatracker-nerd, I remember the voices for the music where made up of short digital waveforms (often handdrawn), Is there a way to get these sounds into the chipophone aswell? Deeply impressed / Joel

Hi! No, presently there's no way to use custom waveforms. For one thing, there's no intuitive way of mapping waveform design onto the physical controls available on the organ.

Anonymous
Tue 24-Aug-2010 23:06

Love your work, you're a genius ;o)
Greetings !

Anonymous
Wed 25-Aug-2010 00:07

I'm astonished you managed to make such an amazing synth using an ATmega88. I've found other instructions and code online for making similar synths using similar microcontrollers, but they all seem to be monophonic and don't include as many features.

You mentioned that the synth takes MIDI input, could you actually just hook up any MIDI controller and control the synth with that? Or are there some other special instructions that you've created which are Chipophone specific?

I love the sound of the synth, you're simply amazing as a programmer and composer.

I know many people have asked, and you seem reluctant, but everyone would greatly appreciate it if you released the source for the synth, even if you didn't clean it up. If you don't want to release it, I know that I would even love the opprotunity to buy a preprogrammed ATmega88 from you and I'm sure others would, too.

Well, for now I guess I'll have to look into trying to duplicate your programming achievement on my own ATmega88. Thanks for the inspiration!

lft
Linus Åkesson
Wed 25-Aug-2010 17:54

You seem to respond only to those that either

1 -- Speak hardcore nerd

2 -- tell you off.

So here goes. E = mc*mc. Pi = 3.14159265. There are four stages of matter. Yo momma. Gotcha yet? Good.

Yes, well, I read all comments and appreciate all the feedback (here and through other channels). A part of me wants each and everyone of my fans to get an individual reply. But if I were to spend all my time on internet forums, I wouldn't have enough time to create new, interesting stuff for your enjoyment.

... and lvl 3s know how you made it and are probably off making a prototype of their own. I don't care if you charge and make an instruction book or anything, that's on you. All i know is, I need this chipophone.

In that case, all you have to do is to level up. =)

Anonymous
Thu 26-Aug-2010 18:42

I think you should start doing practical things like changing your wallpaper/borders on your walls in that room. Stop tinkering with your toys and become a man! ;)

Anonymous
Fri 27-Aug-2010 00:26

Become a man? That dude is like the second coming of Jesus (for µControllers). I'd hire him anyday. Micocontrollers FTW

Anonymous
Sat 28-Aug-2010 18:34

Utrolig kult! Lovin the 8-bit sound!

Andreas Pedersen ( www.dpadhero.com )

Anonymous
Sun 29-Aug-2010 05:54

Fantastisk apparat och verkligen kul att du berättar så mycket om hur den fungerar :-)

Anonymous
Fri 3-Sep-2010 19:39

CHIPOPHONE CHIPOROCKS the CHIPOHOUSE!

Anonymous
Thu 9-Sep-2010 10:57

You gotta put three things in here man, one - a lowpass filter. Two - a Leslie. Three, a spring reverb tank so you can go all Keith Emerson on it by lifting it up, flipping the reverb on, and dropping it.

other than that, flippin amazing. i want one.

Anonymous
Tue 21-Sep-2010 03:06

lft wrote:

Hi! No, presently there's no way to use custom waveforms. For one thing, there's no intuitive way of mapping waveform design onto the physical controls available on the organ.

I think a little LCD screen with a stylus for hand drawn waveforms would be sweet, but I don't think I would change anything about the Chipophone. It is perfect as it is (in my opinion at least). Maybe on another device ... ?

Anonymous
Thu 30-Sep-2010 01:17

Seriously, i am so amazed by your work here. i still watch your clip where you play over and over and over again :)

really, good work!

Anonymous
Sun 24-Oct-2010 02:53

Wonderful instrument!

Making this project open source or into an Instructable would be even more fantastic! I know there are others out there, like me, that really wish we could make one too, but if they ARE like me then they have enough know-how to follow instructions but not enough to build it from scratch without guidance.

If you ever feel like sharing your genius, Please do not hesitate!

jimqode
Jim Qode
Tue 26-Oct-2010 08:51

Hi there Linus,

I was extremely amazed by your hardware chiptune project and now, as if it is possible, I am even more amazed with the Chipophone project. I have absolutely no idea how you fit all that operations on a 38khz interrupt along with the high-level controllers. I would really love to see the code.

Please enlighten me on these chipophone related questions:

1. I guess your output is a ladder DAC. How many bits?
2. Are your oscillators lookup table based? If not, how did you implement the noise?
3. Are there any filters in the Chipophone? If so are they implemented in software or are they analog filters?
4. At the begging of the Delta video I see you programming a sequence. Is that functionality implemented in the synth uC or MIDI controller chip?

Keep up the good work!

Anonymous
Tue 26-Oct-2010 21:51

Wow.

Anonymous
Thu 28-Oct-2010 04:41

naaaaaaaaaaa¡ loco sos de la nasa¡im pre cio nante¡

Anonymous
Mon 1-Nov-2010 21:29

Amazing job. I'd love to hear Arcade Intro by Tim Kleinert (2'00" onwards) or a Turrican tune!

lft
Linus Åkesson
Tue 2-Nov-2010 21:50

jimqode wrote:

Hi there Linus,

I was extremely amazed by your hardware chiptune project and now, as if it is possible, I am even more amazed with the Chipophone project. I have absolutely no idea how you fit all that operations on a 38khz interrupt along with the high-level controllers. I would really love to see the code.

Thanks!

jimqode wrote:

Please enlighten me on these chipophone related questions:

1. I guess your output is a ladder DAC. How many bits?
2. Are your oscillators lookup table based? If not, how did you implement the noise?
3. Are there any filters in the Chipophone? If so are they implemented in software or are they analog filters?
4. At the begging of the Delta video I see you programming a sequence. Is that functionality implemented in the synth uC or MIDI controller chip?

Keep up the good work!

1. The Chipophone uses an 11-bit DAC. That might be overkill, though.

2. No, the waveforms are calculated from the high bits of a counter which is incremented by a frequency value at every sample. For noise, the carry bit from that addition triggers a new noise sample to be generated. Noise is generated by a 15-bit LFSR, which is implemented like this:

ldi r20, 2
lsl r8
rol r9
brvc skip
eor r8, r20
skip:

The shift register is global, so I never use r8 or r9 for anything else. This makes the code very efficient. I could probably make it even faster, but right now the triangle wave is the bottleneck.

3. Nope, no filters in the Chipophone. There's a simple non-resonant lowpass filter in my Phasor demo, if you're curious about how to implement it efficiently in AVR assembly language.

4. In the synth microcontroller, although it could have been implemented either way. But the synth has a convenient 100 Hz loop for handling vibrato and other stuff, so it was easy to put the sequencer functionality there as well.

Anonymous
Fri 10-Dec-2010 13:55

I wish you would add the Comic Bakery to your down load music. I liked what I heard in your youtube video

Anonymous
Thu 16-Dec-2010 19:25

If you'll release source code, I'll become your slave

Anonymous
Fri 7-Jan-2011 18:58

I want one. :D
Sincerely,
Ignacio/honorabili

Anonymous
Sat 8-Jan-2011 06:20

I think I'm in love .... With YOU!

Anonymous
Sat 8-Jan-2011 09:35

Thanks. Please make this open source, it has great potential.

Anonymous
Fri 14-Jan-2011 01:46

Fy faen så bra!
Særlig rockman <3

Anonymous
Sun 23-Jan-2011 22:39

Enhorabuena amigo, por tu trabajo. Es impresionante y me ha gustado.
Yo tengo un pequeño trabajo sobre cómo hice mi sintetizador, lo he descrito en este enlace:

http://www.hispavila.com/3ds/tutores/musica01.html

Sigue así, en tu propósito y gracias.
[Congratulations friend, for your work. It's awesome and I liked it.
I have a little work on how I made my synthesizer, I have described in this link:

http://www.hispavila.com/3ds/tutores/musica01.html

Keep it up, and thanks for your purpose.]

Anonymous
Fri 28-Jan-2011 13:20

How much?

Anonymous
Sat 29-Jan-2011 16:17

Ingenious! Geni! Etc! Om du vill sälja den någon gång så finns kontaktuppgifter på http://www.adventurekid.se

Anonymous
Thu 3-Feb-2011 12:44

Thanks. Please make this open source, it has great potential.

I agree - and if you don't as some kind of consellation can you cover Commando please! <3

Anonymous
Fri 18-Feb-2011 13:55

Linus oh Linus
You are so Clean-us

Anonymous
Fri 25-Mar-2011 14:47

Very Impressive!! I used to hear Chiptunes back in the late 90´s while playing Amiga! You are brilliant!!

Wolfin
Brad Hall
Thu 31-Mar-2011 05:15

Linus! Sell me the code please! <3

Anonymous
Sat 2-Apr-2011 02:04

I need this thing. I need it in my house. Please make more and sell them, I'll gladly pay for the cost of the organ as well as labor to modify it.

Anonymous
Sat 16-Apr-2011 08:10

i whant to make one but in a old keybourd like this one i have,
Casio casiotone mt-100

Anonymous
Thu 21-Apr-2011 02:09

Just wanted to say I really love your instrument, and please keep on releasing new tunes :-) Have been listening for hours now..
However I have a question to the following reply from you:

lft wrote:

The shift register is global, so I never use r8 or r9 for anything else. This makes the code very efficient. I could probably make it even faster, but right now the triangle wave is the bottleneck.

Why is the triangle generator your bottleneck? It seems simple enough; just left shift the current waveform counter value by one, and in case of a carry bit, xor the result.

BTW: I would really love to see the code for the synth module :-)

- Johnny

Anonymous
Thu 21-Apr-2011 02:11

Sorry, I meant invert the result (xor by 1's). - Johnny

Anonymous
Tue 3-May-2011 04:46

lft wrote:

Primis wrote:

The effect on a standard organ known as a Leslie created by a spinning motor creates a Doppler effect, the effect can be heard in acid rock songs such as the Pink Floyd song "On the Run". does your organ have one of these?

No, there was no Leslie speaker in it. Everything was solid state except the reverb.

Primis wrote:

on a second note, would you ever be willing to release the schematics/Rom of that midi board? I'm thinking of making a chipophone myself.
-Primis

I'll think about it. The code might need a little cleaning up first. =)

My father has built pipe organs for 30 years now and has also lectured on solid state electronics at the university for 25 years. I found a free electric organ in my neighborhood and we are seriously considering taking on a project like this. Would you release the schematics/Rom of that midi board?

Anonymous
Mon 27-Jun-2011 14:06

Great ! I love the resulting sound, it really sounds exactly like the NES (requesting Kirby's Dreamland, the music is great).
I wrote a little article about the chipophone on a french retro gaming community : http://www.gamopat.com/article-le-chipophone-77868345.html
Ducktales, Zelda and Metroid (part 2) are awesome !

Thanks a lot.

Onels4.

lft
Linus Åkesson
Fri 1-Jul-2011 14:21

Why is the triangle generator your bottleneck? It seems simple enough; just left shift the current waveform counter value by one, and in case of a carry bit, xor the result.

This is basically correct, but you also have to mask the result to reduce it to 4-bit resolution for that characteristic NES sound, and level shift it so it's centered around zero, since it will be subject to signed multiplication volume scaling later. Also, my triangle generator supports ring modulation with a global carrier wave, which adds another couple of instructions.

Anonymous
Sat 2-Jul-2011 03:14

you, sir, are a ridiculous and inspiring genius.
can I buy anything from you??

tim lauer
nashville

Anonymous
Sat 2-Jul-2011 08:48

you, sir, are a ridiculous and inspiring genius.
can I buy anything from you??

tim lauer
nashville

I <3 tim!
DB

Anonymous
Wed 13-Jul-2011 10:22

how does one go about learning the kind of technology used in this and how to work with it?

Anonymous
Thu 28-Jul-2011 18:27

Hello.
I heard the music of Comic Bakery in your video. Сan you put this part of the soundtrack to a file for download? Or maybe you can make a new longer Comic Bakery soundtrack performed by chipophone?

With respect, from russia.

Anonymous
Wed 3-Aug-2011 08:08

how does one go about learning the kind of technology used in this and how to work with it?

Linus appears to have done this from the ground up (for which he seems to be getting the respect he deserves), but there are open-source tools and guides to create equivalent stuff at http://midibox.org/forums and http://ucapps.de, including keyboard MIDIfication and building MIDI synthesizers based on SID (C64), OPL3 (PC), and AY-3-8910 (Intellivision/Vectrex) chips.

After seeing this, I hope Linus takes a moment to peruse our community (if he hasn't already), to see some of the fun we're having!

Anonymous
Sat 6-Aug-2011 01:13

When I watched your video.. it was like the first time I ever saw a video game or a computer.. that crazy excitement that you get, kinda like falling in love! This is seriously wonderful! I hope I can have the privilege of owning one of these some day. Thank you so much for sharing this with us!

-- Kattywampus

Anonymous
Tue 6-Sep-2011 17:56

It's fantastic ! Congratulations for your work and the amazing sounds you remembered me :)

Anonymous
Thu 27-Oct-2011 06:37

Having a broken organ, seems alright now. Great work

Anonymous
Sun 6-Nov-2011 13:51

Very, very cool - Ah, brings back fond memories
Good Luck

Anonymous
Mon 2-Jan-2012 19:55

man you're incredible ;)
great job

Anonymous
Sat 14-Jan-2012 06:09

lft wrote:

Primis wrote:

The effect on a standard organ known as a Leslie created by a spinning motor creates a Doppler effect, the effect can be heard in acid rock songs such as the Pink Floyd song "On the Run". does your organ have one of these?

No, there was no Leslie speaker in it. Everything was solid state except the reverb.

Primis wrote:

on a second note, would you ever be willing to release the schematics/Rom of that midi board? I'm thinking of making a chipophone myself.
-Primis

I'll think about it. The code might need a little cleaning up first. =)

I would like to make one myself, if you release the schematics, because i have a lots of components, and i don't know what to do with them, i made the phasor, but i still need a programmer and a good software.
Stefan from Brasov, Romania

Anonymous
Sat 21-Jan-2012 21:34

I don't know if this was in the explanation or not, but what do the +8 and +16 switches do? And why is there no +16 switch for the upper manual?

Anonymous
Tue 24-Jan-2012 07:24

code always needs cleaning up haha
great job, sir!

v/r
K

Anonymous
Mon 30-Jan-2012 20:06

I would love build one of these, do you have any plans of releasing the code and making schematics?

Anonymous
Wed 1-Feb-2012 15:52

Wunderbar! :)

Anonymous
Fri 10-Feb-2012 22:24

Hi, your work is amazing plus you know how to play some great themes :)
You killed me when you played the High Scores of Commando haha

Just to know, if I want to make you play in a concert in Paris, what would be the difficulty of moving the Chipophone...looks pretty big, right?
Will you be willing to move it from it's place?

Thanks again for everything, keep up the good work!!
H

Anonymous
Mon 5-Mar-2012 09:48

this is so cool!
you really need to play the intro tune to ninja turtles on nes, that song was bad ass. Also the last ninja on c64, level 1 on ln1, and the intro on ln2

Anonymous
Sat 14-Apr-2012 14:30

Still no schematics&code ? Can we at least get the PCB layout and hex-file then ? :)

btw, awesome work ! (not just the Chipophone, all of it!)

Anonymous
Sun 1-Jul-2012 18:42

Recently getting into Hardware engineering and programming the arduino uno µController. Now I'm really interested this is awesome! I strive to one day make my own projects such as yours your an inspiration man!

Anonymous
Fri 3-Aug-2012 19:12

You're a star: *. And not a single negative carping remark from the viewers? Excellent. That's a very cool device.

Anonymous
Sun 5-Aug-2012 18:13

Dude you are awesome. Have you ever tried to play anything from Maniac Mansion? The opening theme song would sound rad on the Chipophone.

Anonymous
Fri 19-Oct-2012 02:29

Ill give you 1000$ for it

Anonymous
Wed 31-Oct-2012 03:47

Bravoooo! This machine is the most awesome thing I have seen! I am a developer myself and I have programmed some Microchips in the past, I think it would be awesome if you could open-source the code, on github (www.github.com) or a similar CVS, this way we can easily add additions / share new sounds or whatever. also, this would defenitely make people go wild if it were to be posted on (news.ycombinator.com), a mutch visited website in the hackers community. Man, this thing is so nice, please let us make it even nicer!

Anonymous
Wed 28-Nov-2012 23:30

Super Rad. Rad 50, even. Not only did you create this beast of a device, but you can play the shizzle out of some awesome classics.

You Rawk!
-Jonny

Anonymous
Fri 30-Nov-2012 11:10

You are absolutely brilliant! I really like the chiptune-specific features of your Chipophone (the chiptune-specific waveforms, the two-key portamento and the drum-kit mode), and right now I'm watching your Int'l Karate cover video - brilliant, just brilliant!

SID forever! C=

LaLa

Anonymous
Sat 22-Dec-2012 19:41

I Also would like to make one myself

Anonymous
Tue 19-Feb-2013 13:03

I would seriously like to see how to build one. I have limited knowledge on how to do stuff like this, so a step by step video of some sort would be good. Also, were I to make one, any ideas on a model? I know most people would go for whatever is cheap, but I like the layout yours has, it's easier to work with when playing and is also quite compact. I'm from America so I don't know if you'd know many models that would fit that are more accessible for me, I'm just interested to know (truth be told I'd probably find a way to get one from Sweden that matches yours if I had to XD)

Bluntstick
Jonathan Lusteau
Tue 2-Apr-2013 22:29

Hello! Jonathan and I'm like some people here wanna do was, I'd be able to enjoy such a insrument, I am a young collector of retro games and consoles and especially a musician, that's why when I see your work, I'm in love .

This must be the 100th time that you request, but could you have the great kindness to provide (at least for me: p) construction plans? I sincerely hope you do not take it wrong, you can say that many people are jealous of your talent and it's all your honor! Thank you in advance, hoping for an answer. :)

(if you want this ..) https://www.facebook.com/johnn.john.585

Anonymous
Sat 29-Jun-2013 12:37

this is so informative !

http://www.resoundsound.com

Anonymous
Wed 7-Aug-2013 19:37

Your chipophone is awesome. And you also know to play my favourites games songs!

You rock man!

Anonymous
Tue 20-Aug-2013 02:47

For my birthday, I wish that you play Monkey Island theme for me :)
Signed : a proud cousin from Martinica.

Anonymous
Sat 2-Nov-2013 19:52

I am crying in tears of joy! :D Its such a beautiful Instrument!!!!!

Anonymous
Sun 3-Nov-2013 00:58

Nice dude! :)

Anonymous
Tue 12-Nov-2013 16:21

Become a man? That dude is like the second coming of Jesus (for µControllers). I'd hire him anyday. Micocontrollers FTW

What he said! ^ =)

So Linus, saw your footage from Lund - awesome, and watched all the vids - You are one of a kind - seriously, amazingly talented guy, and we love the stuff you do! - loved the fantastic 'Craft' demo too - amazing!

So the big question is - Will there be a chance of you appearing at Retro Revival 2014 with your awesome playing of the equally awesome Chipophone? - That'd quite possibly make it THE BEST retro show I've ever attended! :)

Would you be inclined if enticed by the organisers with money/beer/etc? :)

All the best!

Japster

Anonymous
Fri 21-Feb-2014 20:51

cool man

Anonymous
Thu 27-Feb-2014 21:58

You can make a LOT of money with this chipophone. Heck, even I would buy one.

Anonymous
Fri 14-Nov-2014 22:15

Linus, please send me full documentation on my e-mail: alex.qrp.1997@gmail.com

Anonymous
Tue 30-Dec-2014 05:45

Hi Linus, as you've already heard many times - super impressive work.

I am curious as you stated the synthesizer is implemented on a single ATMega88. However in the pictures it appears there are at least to ATMega chips on separate boards connected via a ribbon. If it's not too much trouble, would you mind elaborating on what the second AVR micro is doing?

Anonymous
Mon 20-Jul-2015 05:30

THIS IS AWESOME
LOLOLOLOLOL
XDXDXD
SWAGAAA
YOLOO

Anonymous
Sat 25-Jul-2015 17:01

Hi Linus, as you've already heard many times - super impressive work.

I am curious as you stated the synthesizer is implemented on a single ATMega88. However in the pictures it appears there are at least to ATMega chips on separate boards connected via a ribbon. If it's not too much trouble, would you mind elaborating on what the second AVR micro is doing?

read up! one is the interface and act's as a midi controller, the other is the synth.

Anonymous
Fri 8-Jul-2016 23:21

Fan vad ballt! Du är cool.

Captcha: Vergency

Anonymous
Sat 24-Dec-2016 01:58

This is really fantastic

Anonymous
Tue 21-Mar-2017 21:50

I am delighted!

Anonymous
Mon 15-May-2017 02:18

I have tried to build a MIDI synth with similar capabilities on ATmega 32u4 but could not avoid annoying clicks in the audio as the midi signal was processed (takes way too long and halts DAC conversion for a short while). Hats off for putting it all into an ATmega 88... I have no idea how did you do that. What kind of data structure do you keep your "tones"/"pressed keys" ? Only thing that worked reasonably for me is an array of 127 elements, each for one MIDI tone. I tried using an "stack" of pointers but i sometimes needed to move an element from the middle (thats why the "") to the top which took way too long and made an audible click as well. This i tried by using a linked list but the overhead for that was just way too large.

lft
Linus Åkesson
Fri 19-May-2017 00:29

Thanks!

Generating the sound is done in an interrupt handler, and so is receiving the serial data. The latter interrupt handler just stashes the bytes into a circular buffer. Everything else is handled in main context.

What kind of data structure do you keep your "tones"/"pressed keys"?

Linked lists. I use one page of memory (256 bytes) as a heap of 3-byte list nodes. One of those bytes is a next-pointer; it can be a byte because the heap is just one page. So there are 85 nodes in the system, starting at offset 1 which makes 0 free to use as a null pointer.

At initialisation, all 85 nodes are chained together into a freelist. Heap allocation is then a simple matter of unlinking the first node in the freelist. Conversely, nodes are freed by unlinking them and putting them back at the head of the freelist.