pouët.net

AVR TinyTune

category: general [glöplog]
 
Hello.

I found very very nice project on Google Code.
It is sounds very similar to Nintendo NES's soundchip.
And what is very cool? There is tool which can convert RENOISE (XRNS) tracker module to C and replay it on very small ATMEL attyny MCU.

DOCUMENTATION:
https://github.com/blakelivingston/avr_tinytune

SOURCE:
http://code.google.com/p/avr-lib-tinytune/

YOUTUBE:
http://youtube.com/watch?v=PtxxCKs822M
added on the 2014-09-07 08:31:41 by Matko Matko
Cute :)
added on the 2014-09-07 15:21:36 by numtek numtek
Not too shabby. I'm working on something similar, but with more channels :)
added on the 2014-09-07 19:06:07 by Tjoppen Tjoppen
@Tjoppen>Will you have webpage or github, sourceforge for your project?
added on the 2014-09-07 21:36:31 by Matko Matko
@Tjoppen: what specific hardware are you using?
added on the 2014-09-07 21:45:34 by trc_wm trc_wm
I've got a few of those chips on my office. I'll try to play with it if I find time.
added on the 2014-09-08 01:07:20 by xernobyl xernobyl
* Burp *
added on the 2014-09-13 21:27:43 by trc_wm trc_wm
Matko, trä_wm: Oh, ATmega328 (arduino nano). I'll see if I can get the code up later. Else poke me on IRC
added on the 2014-09-13 23:08:27 by Tjoppen Tjoppen
Ah, so no high-speed PWM but more capable instruction set (yay! fixed-point MULs!) compared to the ATtiny85. Would like to hear some of your results!
added on the 2014-09-13 23:19:53 by trc_wm trc_wm
I've also made a mod-player on avr xmega but unfortunately there isnt enough RAM to play a mod correctly @ >= 22050Hz :(. The process of each line is too long and I can't extend the circular buffer. Here is some details about that player:
XMEGA 128a1 @ 32Mhz
RAM 8Kbyte
1 8-bit DAC Mono (no crappy-PWM :D)
Samplerate 11025Hz
Circular buffer 5Kbytes
Fixed point Q16.16
Btw the avr fixed point MUL instruction (FMUL) is a Q1.7 x Q1.7 => Q1.15. This is not helpful for a mod-player :(
There is an other mod player on PIC32 µC code video
added on the 2014-09-14 23:31:17 by stfsux stfsux
Surely FMUL/MUL instructions can be paired to create larger than Q1.7 arithmetic.
added on the 2014-09-15 10:26:31 by trc_wm trc_wm
ah yeah right. Anyway, this is still a good µc if you want to write your own player with your own format.
added on the 2014-09-16 09:18:00 by stfsux stfsux
Two weeks later, but here's what I was working on: an 8-channel MIDI synthesizer/tone generator. Not terribly complicated, but a fun experiment :) Proves 8 channels of square waves can be synthesized at 44.1 kHz without problem.

Code: https://github.com/Tjoppen/midi_synth

Picture:
BB Image
added on the 2014-09-24 00:38:08 by Tjoppen Tjoppen
That's nice!

Like the TODO list: ADSR :)

/N.
added on the 2014-09-24 09:31:59 by trc_wm trc_wm
Nice to see some bread-boarding. But 8 channels of square waves isn't exactly a challenge, is it? Wouldn't it be quite computationally light?
Well, it's hard to press more than eight keys at a time on a keyboard :)
But it could probably be optimized quite a bit more. For instance the overflow stuff can likely be handled via the LUT. Another idea would be table driven synthesis for other waveforms. 16 MHz / 44.1 kHz = 362, so around 350 instructions per sample after interrupt overhead. But I won't poke much further - this was good enough for learning a bit of MIDI. Plus I have a proper MIDI tone generator now (Yahama TG100)
added on the 2014-09-24 17:02:48 by Tjoppen Tjoppen
Nice Tjoppen!
Freezedream are you that Freeze from SEGA scene?
added on the 2014-09-26 14:59:57 by Matko Matko

login