Chipsynth update
Community Forums/Showcase/Chipsynth update
| ||
Been doing some major work adding sample loading to the chipsynth. Here's the results: ![]() This one shows loading of a stereo sample with the left channel only having sound. you can see the display shows this ![]() and here with a mono sample loaded the envelope hold now has the added ability to hold a note indefinitely. so Loaded samples need a switch to make the loop or not loop (shown below the sample loading. Although never designed to deal with samples, it does very well with full envelope control, panning (mono samples only), etc. Also of note is the chip FX also works brilliantly on samples giving some completely mad effects I didn't plan for. The tracker portion is now being tinkered with to make sure everything is fully supported there too. Lastly, I will need to write a sample editor to complement all this. luckily I have all the code form Wave2 to do all the really nice stuff... |
| ||
Duuuuude, this is awesome. |
| ||
thanks - still a work in progress, but working great |
| ||
Niceee! BlitzTracker here we go! Demo vid? |
| ||
the tracker is fully operational:![]() no videos, but here are a couple of old sound tests: https://soundcloud.com/mavryck-james/8bit-chiptune-test https://soundcloud.com/mavryck-james/8bit-chiptune-test |
| ||
Cool, very nostalgic! :-) |
| ||
Hi Adam im into music.. I always wanted my own app.. Can i give you ideas, advices? Tnx :) |
| ||
mmm, interesting subject ok. In blitzmax I rewrote the entire audio subsystem. The above is actually monkey2, but uses some interesting concepts from traditional synthesis: 1. sound is just a single looped waveform. sin, square, etc. this is very simple to set up. You can then modify it to make it more custom. So, we now have a looped playing waveform (Sound if you will). this can be played by a channel. Now. the first thing we are not going to be able to do is any realtime modelling or changes to the waveform (filter, etc), these need direct access to the sound buffers and get complex quickly. So... we are going to do the next best thing: set up a timer to tick 120 times per second We have control over pan, volume and pitch. so you basically change each of these every tick for every channel playing. So.... You now need to make a class that will 'know' what channel is playing, what sound is playing, what is the time from when the sound started playing. Using the time you can work out ADSR, LFO, and pitch control. It then come down to how you want to do it all. Most (even basic) system from 7-8 years ago can handle this without much problems... |