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.
Anonymous Wed 6-Feb-2008 22:15 | You've got a lot of patience to do all of that. I'd say fuck it half through. Keep up the good work though. |
Anonymous Mon 7-Apr-2008 05:57 | Nice job you did. I will study the work you made and try to learn from it. Iĺl put a post on my blog about it as soon as possible. Jeronimo, from Brazil www.blogdoje.com.br |
Anonymous Mon 7-Apr-2008 10:32 | Great Job, impressive!
One small hint for prototyping boards. The vertical "bridges" are looking a bit messy (i know, its a prototype).
Before using silver wire: Unroll 1 Meter of wire, attach it to a fixed object, grab the other end (with a gripper) and pull it hardly. Now you have very straight silver wire which looks quite nice :)
Thx for the idea of gluing the layout onto the board, i will give it a try....
kiu |
Anonymous Fri 25-Apr-2008 12:18 | can i use this as a project for college?
i mean, could u tell me what i need to build it?
like the components? |
Anonymous Mon 28-Apr-2008 00:53 | You should compose some nice tunes for it and share them :) |
Anonymous Fri 2-May-2008 17:20 | AWESOME!
What diode did you use? I just started to order all the parts needed ;-) Can i use any standard diode at the 9V power source? |
Anonymous Tue 6-May-2008 21:06 | Is the AMplifier chip actually needed? My electronics shop do not have those. Can i use a LM386 instead? |
Anonymous Wed 7-May-2008 21:41 | Use external audio DAC, you got much better sound quality... This is my simple MOD player based on ATMEGA32 and TDA1543: http://youtube.com/watch?v=tuvwfJhWyik |
Anonymous Mon 19-May-2008 16:22 | This is cool, I have also begun building my own hardware player but I´m using a PIC18F452. And I do all the programming in C as I´m not that good in assembler, just have to run the core at 40Mhz instead =). I have got basic sound via the ressitor ladder to work but using a DAC sounds more interesting, what type do you use ? |
Anonymous Mon 16-Jun-2008 18:41 | Yeah ! Very good job ;) |
Anonymous Sun 3-Aug-2008 22:37 | Sounds like Jeroen Tel :D |
Anonymous Sat 20-Sep-2008 03:07 | Linus, I'm trying to compile the tracker under mingw32 envirotment... well.. it compiles allright (after getting rid off err() calls, replacing ncurses with pdcurses and adding some os specified libraries for SDL) but nothing happens - not even an error message (i replaced err with printf()) could you provide any help? i'm more assembly coder than c one :( |
Anonymous Sat 20-Sep-2008 05:22 | after another two hours i got this to work instead pdcurses for win32, there is pdcurses for SDL library which works as it should (win32 version needs LINES and COLUMS as system envirotment variables, and works only if run from command prompt) anyway... MakeFile: LDFLAGS=-lpdcurses -lmingw32 -lSDLmain -lSDL -mwindows
main.c: if(argc != 2) { fprintf(stderr, "usage: %s <filename>\n", argv[0]); } ... if(SDL_OpenAudio(&requested, &obtained) == -1) { fprintf(stderr, "SDL_OpenAudio"); }
and <err.h> (main.c, gui.c) is no longer needed
hope it will be of some use for someone... |
Anonymous Fri 7-Nov-2008 01:51 | You could have probably used a much more powerful chip, like the atmega324p or the atmega644p. |
Anonymous Wed 19-Nov-2008 16:37 | Nice work. Why you don't use one PWM output with one resistor and one capacitor instead of all that parts for D/A?? |
Anonymous Fri 19-Dec-2008 00:06 | For the fun of it, I've made a SID version of the tune: http://galway.c64.org/~sid/Kryo_Chiptune.sid
Thanks for the great inspiration! |
Anonymous Tue 27-Jan-2009 10:19 | You guys are awesome. And you just have saved my day. A cool tune which i can listen to during office hours and a nice idea that i can work on after that. This is the best Idea for what i can do with my Atmel's which are laying around. |
Anonymous Wed 11-Feb-2009 07:12 | it's amazing. good job! |
Anonymous Wed 11-Mar-2009 05:50 | Im gathering all the parts from different dealer. this is just awesome!! |
Anonymous Sun 5-Apr-2009 01:51 | Wonderful design and music ! I'm trying to reproduce it and to understand it, but for now I'm stuck on a few build problems.
Thierry C. |
Anonymous Wed 8-Apr-2009 19:53 | hah... thats amazinggg.(: youre wayy smart *___* |
Anonymous Fri 8-May-2009 14:03 | At last it worked ! (mysterious failure worked around). (project adapted on ATMega8, with a PWM with low-pass filter based "DAC").
Thierry C. |
Anonymous Fri 3-Jul-2009 03:54 | Really cool. This is also one of the first things I did in 2001 with my first AVR project. I did a rendition of Zoolook, but only with pulze waves. Some other variations: using 9 colors of c64 video to create sound (with loud buzzing from vsync!), using sp of CIA (8bit autoshift register) to create stereo pwm dac (I never saw anyone else do this, they were always hooking up parallel dac0808). One could make an exact sid replacement in microcontroller. I always wanted to make a portable music toy to capture/compose musical ideas on the go .. like coffeeshop. Inspriation hits at odd times, sometimes upon waking. |
Anonymous Mon 3-Aug-2009 06:32 | You've got a lot of patience to do all of that. I'd say fuck it half through. Keep up the good work though. |
Anonymous Sun 20-Sep-2009 22:34 | I would so love an .XM or .MOD of this. Or some clear samples of it, I think this sounds gorgeous.
Apart from your technical genius you're a magnificent composer. Good work. |
lft Linus Åkesson Sat 26-Sep-2009 19:05 | I would so love an .XM or .MOD of this. Or some clear samples of it, I think this sounds gorgeous.
Apart from your technical genius you're a magnificent composer. Good work. Thank you very much!
If somebody would like to make a .mod or .xm cover, feel free to! For details, have a look at the original song, which is available in the tracker source code archive (in a special format that can be loaded into the tracker). |
Israel ijruiz@hotmail.com Fri 9-Oct-2009 13:35 | Nice Job! Really impressive sound generated from the AVR. There was mention of a rapid prototyping method for the circuit. This is very useful information was wondering if the technique could be explained i.e. software used and methods for generating diagrams. For those who build circuits for oneself or others this is a fantastic way for assembly! much easier than referencing a schematic. |
Anonymous Wed 9-Dec-2009 02:17 | Hi Linus,
at first i have to say: Great project and awsome tune! I started to bulid one here at home but something is weird. The controller seemed to run much to slow, so i switched to 8 mhz via ckdiv8 - now the contoller seems to run much faster... too fast... the tune is done in about 2 seconds... Which fuse config did you use?
Greetz, Retrobot0r |
Anonymous Wed 9-Dec-2009 20:41 | Hi Linus,
at first i have to say: Great project and awsome tune! I started to bulid one here at home but something is weird. The controller seemed to run much to slow, so i switched to 8 mhz via ckdiv8 - now the contoller seems to run much faster... too fast... the tune is done in about 2 seconds... Which fuse config did you use?
Greetz, Retrobot0r Got it. my compiler had produced some crazy stuff... |
Anonymous Sat 19-Dec-2009 23:34 | Hi Linus,
at first i have to say: Great project and awsome tune! I started to bulid one here at home but something is weird. The controller seemed to run much to slow, so i switched to 8 mhz via ckdiv8 - now the contoller seems to run much faster... too fast... the tune is done in about 2 seconds... Which fuse config did you use?
Greetz, Retrobot0r Got it. my compiler had produced some crazy stuff... What was your fix? I'm still out of luck here. Tried with CKDIV/8 and without. |
Anonymous Mon 21-Dec-2009 16:48 | What was your fix? I'm still out of luck here. Tried with CKDIV/8 and without. Fixed it by myself. The compiler optimization produced crazy stuff. Bad results with -O2 but compiling with -O1 has worked great for me. |
Anonymous Mon 21-Dec-2009 17:29 | I patched your gui.c for my purposes:
--- gui.c.orig 2009-12-21 17:23:14.000000000 +0100 +++ gui.c 2009-12-21 17:23:46.000000000 +0100 @@ -625,16 +625,16 @@ case '>': if(octave < 8) octave++; break; - case '[': + case KEY_PPAGE: if(currinstr > 1) currinstr--; break; - case ']': + case KEY_NPAGE: if(currinstr < 255) currinstr++; break; - case '{': + case KEY_HOME: if(currtrack > 1) currtrack--; break; - case '}': + case KEY_END: if(currtrack < 255) currtrack++; break; case '`':
This makes it a lot easier (at least for me). You can change the current track with HOME and END keys and change the instrument with PageUp and PageDown.
Hope that's okay for you, linus. Great project - by the way. I've already started making tunes for your platform. |
Anonymous Mon 21-Dec-2009 23:40 | Hey, what license do you use for this project? |
lft Linus Åkesson Tue 5-Jan-2010 21:42 | Hey, what license do you use for this project? Oh, I guess it's more or less public domain. I like getting credit, but I won't try to enforce it legally.
By the way, under Swedish law there is no way for an author to release a work to the public domain, so you'll have to trust me. Copyright snafu. =) |
Anonymous Thu 14-Jan-2010 17:05 | hi, nice project but how to add own files (.wav,.mp3,pcm) can be added in it |
Anonymous Mon 25-Jan-2010 02:26 | Hi, I am also a mechatronics guy, but from KTH. The music I hear impresses me a lot. For certain among the best 8-bit music I have ever heard, great sound quality and melody. If I find time I will build a device based on your schematics to plug into my stereo. Have you entertained any thoughts on integrating a memory card so that you can play other music (like amiga, atari, nintend)? |
lft Linus Åkesson Thu 28-Jan-2010 16:10 | Hi, I am also a mechatronics guy, but from KTH. The music I hear impresses me a lot. For certain among the best 8-bit music I have ever heard, great sound quality and melody. If I find time I will build a device based on your schematics to plug into my stereo. Have you entertained any thoughts on integrating a memory card so that you can play other music (like amiga, atari, nintend)? Thank you! No, there's no particular reason, but I haven't made any devices to play existing file formats. I'm sure it's doable, though. IIRC there's an AVR based MOD player and a Propeller based MIDI player around, and probably lots of similar projects. |
Anonymous Sat 30-Jan-2010 21:39 | Would it be possible to do the same but using an arduino? It uses the same microproccesor that you used for this project |
Anonymous Wed 3-Feb-2010 20:04 | Oh dear it sounds great *.*
Now, I´m just an electronics technician apprentice but I hope I will be able to build this in the future *.*
Jesus its great!
Greetings Chris |
Anonymous Mon 22-Mar-2010 09:54 | I would so love an .XM or .MOD of this. Or some clear samples of it, I think this sounds gorgeous.
Apart from your technical genius you're a magnificent composer. Good work. lis6502:hi i did it :P. If you like you can listen to final version on http://modarchive.org/index.php?request=view_by_moduleid&query=168134 or contact me via mynick_on_gmail, so i can send U final version or just patterns (this second one could be good to make remixes). |
lft Linus Åkesson Tue 23-Mar-2010 07:15 | I would so love an .XM or .MOD of this. Or some clear samples of it, I think this sounds gorgeous.
Apart from your technical genius you're a magnificent composer. Good work. lis6502:hi i did it :P. If you like you can listen to final version on http://modarchive.org/index.php?request=view_by_moduleid&query=168134 or contact me via mynick_on_gmail, so i can send U final version or just patterns (this second one could be good to make remixes). Great cover! Rock on! |
Anonymous Wed 14-Apr-2010 20:58 | Could you please make commentary to variables and functions as description(at least for avr source?). cause its so hard to understand code. i'm currently trying to do a simple replica of your project(on PC), but i have problems with callback. do you know books or web-pages where it's explained(how to make interrupt also). many thanks. |
lft Linus Åkesson Sat 24-Apr-2010 18:55 | Could you please make commentary to variables and functions as description(at least for avr source?). cause its so hard to understand code. i'm currently trying to do a simple replica of your project(on PC), but i have problems with callback. do you know books or web-pages where it's explained(how to make interrupt also). many thanks. If you are programming a PC application, you don't have to worry about interrupts. That's where a callback function becomes useful. You'd use a library such as libSDL, and provide a pointer to one of your own functions. This function will then get called back whenever new audio samples are needed. Please refer to SDL audio tutorials. |
Anonymous Mon 10-May-2010 20:25 | can anyone explain how the output wave is generated here? pwm or just port toggling? |
lft Linus Åkesson Thu 13-May-2010 15:32 | can anyone explain how the output wave is generated here? pwm or just port toggling? By writing PCM samples directly to the port. The port pins are then connected to an R-2R ladder DAC. |
Anonymous Wed 2-Jun-2010 20:52 | Hi, I've started to experiment a bit with avr's. Just tried to build the Hardware Chiptune and flashed the atmega88 with the hexfile containing the tune. My only problem is that some pins from the PortD just contain a signal sounding like fast random notes in the range of 10khz and above. Maybe it's a faulty atmega88 now caused by an accidental short between the input of the 7805 and PD7? Anyway I will get another atmega88 within the next few days to try out :)
Keep up your fantastic work! |
Anonymous Fri 4-Jun-2010 14:25 | I tried it with another Atmega88 but with the same result. |
lft Linus Åkesson Sun 6-Jun-2010 13:37 | My only problem is that some pins from the PortD just contain a signal sounding like fast random notes in the range of 10khz and above. This sounds like a hardware problem, such as an accidental short between signals. It's also possible that it's caused by interference from a nearby AC signal, although if you're using a 7805 I don't see where the interference would come from. Also, if there's a break somewhere in the DAC ladder (e.g. faulty connection to ground), it could start to behave as an antenna and pick up interference. |
Anonymous Tue 8-Jun-2010 17:32 | lft wrote: This sounds like a hardware problem, such as an accidental short between signals. It's also possible that it's caused by interference from a nearby AC signal, although if you're using a 7805 I don't see where the interference would come from. Also, if there's a break somewhere in the DAC ladder (e.g. faulty connection to ground), it could start to behave as an antenna and pick up interference. I solved the problem, the resistor ladder I used was no R-2R one, now it works as ecpected :) |
Anonymous Fri 23-Jul-2010 09:27 | I have to ask, what is the name of the R2R ladder? its not a very common part if your not looking for it. -Primis |
Anonymous Sat 24-Jul-2010 18:34 | I have to ask, what is the name of the R2R ladder? its not a very common part if your not looking for it. -Primis it's not a specific component you make it using a series of resistors ... http://en.wikipedia.org/wiki/Resistor_ladder but it's easier to use the PWM trick mentioned earlier at least less parts. http://www.k9spud.com/traxmod/pwmdac.php |
Anonymous Tue 11-Jan-2011 03:59 | here is an interesting port of this code to arduino, http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1265488118 tested it and seems to work.
Excellent code linus :) |
Anonymous Sat 29-Jan-2011 14:58 | Guys, maybe it's worth to send the idea to the http://quirky.com/ and start mass production? |
Anonymous Wed 9-Feb-2011 18:47 | Could you post links to some resources you used to learn how to synthesize the channels? |
Anonymous Mon 7-Nov-2011 12:17 | Hello
Is there any difference between the ATmega88/168 that should be taken into account when working on this? |
Anonymous Thu 10-Nov-2011 01:51 | Nice work. Why you don't use one PWM output with one resistor and one capacitor instead of all that parts for D/A?? as a beginner i wonder the same. i guess its just another approach with its own benefits, i.e. in terms of code size and perhaps easier interrupt handling. i am not sure, but i think it's easier to generate a triangle wave with a DAC. |
Anonymous Sun 4-Dec-2011 13:30 | Amazing work! congrats..... Darkangel of Ex-Unreal |
Anonymous Sun 25-Dec-2011 15:40 | Would It Be possible to do this but useing a Commodore SID Chip for audio?? |
Anonymous Sat 31-Dec-2011 21:39 | Hello. I was trying to compile your project, but got stuck on the file exported.s. How do I get the tracker to export that file?
Thanks, Tobias |
Anonymous Sat 31-Dec-2011 21:44 | hehe. Got it to work. should probably read the README first :P
For everyone else, its the % key :)
Great project, Tobias |
Anonymous Mon 27-Feb-2012 08:48 | I can't seem to figure out how to fit this onto an ATmega88. The final hex seems to be 13.4KB. You mentioned you did some cool stuff with packing but I don't know how to do any of that on an ATmega chip. |
Anonymous Mon 27-Feb-2012 13:17 | Hey! Thanks for an insirational project! I'm currently studying your code and I can't figure out where does this "50 HZ" come from ?
"void playroutine() { // called at 50 Hz"
The routine runs in the main loop "for(;;) { while(!timetoplay);
timetoplay--; playroutine(); }"
Please explain why is it triggered at 50 HZ ? |
Anonymous Thu 15-Mar-2012 19:04 | Absolutely awesome! |
Anonymous Sun 20-May-2012 02:35 | I really like the project and I'm even learning to program instruments and use the tracker effectively, but is there any easy way to add tempo functionality into the program? I don't write code, so I'm not sure how it could be implemented. |
Anonymous Sun 27-May-2012 10:32 | Hello
I am currently working on a software synth of my own, but I kind of got caught up on mixing the different channels. How exactly do you mix them? Do you just calculate the average of all channels or just add them together?
Thanks for your help |
Anonymous Sat 14-Jul-2012 15:09 | BTW what does freqtable[] physically represent? I don't see the relation between note frequency and this table :x |
mahldcat AMS Fri 19-Oct-2012 00:39 | So I built one of these, and have the following programmer that I got working with AVRDude: https://www.sparkfun.com/products/9825.
Now the million dollar question...it looks like the Atemga controller I used (http://www.mouser.com/Search/ProductDetail.aspx?R=ATMEGA88PA-PUvirtualkey55650000virtualkey556-ATMEGA88PA-PU) is not supported directly by AVRDude? Any ideas on what might be required to get this working? |
Anonymous Mon 31-Dec-2012 08:05 | Is there tracker for Windows in the world? -- Project is great :) |
Anonymous Wed 9-Jan-2013 05:45 | Very impressive and great sound! |
Anonymous Thu 17-Jan-2013 00:33 | Impressive! Can you make a page where you explain the different kinds of waveforms, their sound in relation with the frequency (mostly for the different drum sounds with a noise wave)? It would be awesome!
Riccardo |
mporshnev Max Porshnev Thu 17-Jan-2013 06:44 | Riccardo wrote: Can you make a page where you explain the different kinds of waveforms http://www.linusakesson.net/music/elements/index.php |
Anonymous Sun 12-May-2013 11:33 | Greetings from Aus.
The Hardware Chiptune Project is a work of Genuis!
I love your work and your website; I do hope you make other tunes with a similar orchestration in terms of the waveforms used. I hope to build something like this myself when I get the time. You're an inspiration! |