blakelivingston / duinotune Goto Github PK
View Code? Open in Web Editor NEWA chiptune Synthesis Library for Arduino
License: MIT License
A chiptune Synthesis Library for Arduino
License: MIT License
I see you have a set_pin() function, however this doesn't seem to do anything. It isn't included in the tinytune.h file, so it is necessary to manually include it, and after this is done nothing happens to the output when the function is called. Would it be possible for you to fix this/add support for changing the output?
void set_pin(int pin, bool val) {
PORTB = (PORTB & ~((char)(1 << pin))) | ((val ? 1 : 0) << pin);
}
Thanks for such an amazing library, I hope to see more improvements coming!
Add a wavetable instrument type. Short waves could add a lot of sonic possibilities.
Stretch goal - add DPCM sound encodings https://en.wikipedia.org/wiki/Differential_pulse-code_modulation
Add a dedicated document to go over the song creation/import process.
Try converting this song: https://dl.dropbox.com/u/68082533/Baleoce%20-%20Sonic%201%20-%20Green%20Hill.xrns
Something strange in the output code
It actually doesn't even compile, due to the defines missing definitions for the board. After working around that, it compiles, but doesn't output any sound. It does still work just find on my Uno board.
Currently volume envelopes, pitch glides, and other effects are only supported in converted song playback.
Add an api to allow instruments with envelopes and other effects to be played with commands from arduino sketches.
Add callbacks for beat/note events. Add polling function to read the playback buffer and get a volume level for LED Volume meter sorts of applications.
Hi, is it possible to change the output pin on the Leonardo? (Atmega32U4)
I assume it's stuck to pin 3 for some special interrupt-related reason but is there any other pin on the chip that can be used if the library was modified somehow? I ask because unfortunately pins 2 and 3 are also SDA and SCL on the Atmega32U4, and I need to use the I2C line for an I2C LCD. Is there just no way to do both on that chip?
Hi,
Could you update the documentation to reflect that for the Mega 2560 the pin is digital pin 4 and not pin 3. In the library code below it appears as if port PORTG5 (pin4) is used.
Thanks
#if defined(ATmega2560)
// This is NOT the sample clock. it is the continuous 62.5khz pwm.
TCCR0A = (1 << COM0B0 ) | (1 << COM0B1 ) | (1 << WGM01) | (1 << WGM00); // Fast PWM & Set OC0B on Compare Match
TCCR0B = (1 << CS00); // No prescaler pck/1
DDRG = (1 << PORTG5); // Output on pD0 (pwm 3 on arduino)
#endif
Song: /Users/user_name/Documents/Arduino/libraries/DuinoTune/test_songs/test.xrns changed.
Updated Arduino library at: /Users/user_name/Documents/Arduino/libraries/DuinoTune/output_songs/test/src/test.xrns
Error translating song: too many values to unpack
Trace: Traceback (most recent call last):
File "song_converter.py", line 100, in songWatcher
xrns2tt.xrns_to_tt(songfile, out_path_songname, {})
File "/Users/user_name/Documents/Arduino/libraries/DuinoTune/song_converter/xrns2tt.py", line 148, in xrns_to_tt
inst.parse(vol_env, tpl, lpb)
File "/Users/user_name/Documents/Arduino/libraries/DuinoTune/song_converter/xrns2tt.py", line 71, in parse
tick, level = point.text.split(',')
ValueError: too many values to unpack
Pitch envelopes are supported in renoise and can be used for a lot of cool effects. E.g. tom drums could be approximated with a rapidly swept down square wave.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.