Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: Keoni29 on September 22, 2011, 01:20:38 pm

Title: TRAXE2 chiptune tracker
Post by: Keoni29 on September 22, 2011, 01:20:38 pm
TRAXE v2 work in progress

[ Invalid YouTube link ]

Versions:
Traxe v1 Latest build + manual (http://ourl.ca/13147/270728)

Spoiler for older versions:
Spoiler For Spoiler:
Real Chipsound is a WIP chipsound engine for axe. There will be 2 versions: SuperTIsound and Mono Tune
SuperTIsound is high performance which means that it's great for menu's and titlescreens or even cutscenes, but it uses a lot of processing power so you will have to use another type called MonoTune. This is a very simple engine that plays short mono tones. This uses around 40% of the processor(normal mode), but this percentage will eventually decrease.

New vid on the tracker:
[ Invalid YouTube link ]

Spoiler For Spoiler:
I made this early version of SuperTIsound:


This is a newer version:



Wishlist:
Tracker
Short notes
Pitch sweeps
Vibrato
Noise drums
Title: Re: TI Real Chipsound engine
Post by: JustCause on September 22, 2011, 03:27:16 pm
You are a god. I have always wanted to use legitimate music in Axe games, but could never do the wave arithmetic and whatnot...you are my hero. Please release this yesterday.
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on September 22, 2011, 03:42:45 pm
Version 0.2 recording. Very poor quality. Blame my phone :p
Added:
-wavelength table
-frame support
-a fun demo song
-some optimization

Planned:
-2nd square channel
-Arpeggios
-Long notes
-External song files
Title: Re: TI Real Chipsound engine
Post by: Builderboy on September 22, 2011, 05:22:36 pm
I'm a little confused as to what this project entails, what is a chipsound exactly?  How does it differ from the built in tone playing in Axe?  You say it's high performance, and then say it takes a lot of processing power, what do you mean exactly?  It sounds really cool, i'm just not quite sure what it is yet ^^
Title: Re: TI Real Chipsound engine
Post by: ztrumpet on September 22, 2011, 06:27:53 pm
This sounds pretty cool, but I'm with Builderboy.  Can you explain a little more as to what this is?  Thanks. :)
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on September 23, 2011, 02:22:43 am
Basically I will use the freq( command for 2 square waves and a white noise generator for drums. When 2 notes are played at once it plays a slow or a fast arpeggio(depends on the arpeggio mode you are in). The fast arpeggio will blend the sounds more than the slower arp. SuperTIsound doesnt use interrupts. It has to play very long squares compared to monotune. Drumsounds dont blend in, but they replace the sound of the squares. This doesnt sound strange and it saves some code. High performance stands for: long notes, polyphone square and drums. Monotone only has some small square beeps. Explained?
Title: Re: TI Real Chipsound engine
Post by: Spyro543 on September 23, 2011, 06:41:06 am
I get it now. AND MAKE A TRACKER please.
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on September 23, 2011, 09:13:37 am
The arpeggio blending works now and there are 2 squares. I have to optimize some code before I release the first pre-alpha
I am designing a tracker right now. Maybe I will make some sort of Cubase/fruityloops design for the pattern editor.

(Rate my posts if you think this project is helpfull. Then I will consider to make a tracker)
Title: Re: TI Real Chipsound engine
Post by: JustCause on September 23, 2011, 09:18:03 am
(Rate my posts if you think this project is helpfull. Then I will consider to make a tracker)
This isn't Reddit. Regardless, the project definitely earned my +1. :)
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on September 23, 2011, 09:18:52 am
Okay then I will make a poll :)
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on September 23, 2011, 11:18:39 am
Added a poll. Please vote!

I want to add some more notes to the wavelength table so that you can make interesting compostions. I have a very simple song that I made earlier for a prototype of Mono Tune. It's fully compatible because I used the same wavelength table. I will record some of it and put it on youtube.
Title: Re: TI Real Chipsound engine
Post by: Yeong on September 23, 2011, 11:49:42 am
no megaman songs? D:
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on September 23, 2011, 01:11:16 pm
Nope those are too fast :P Do you know any slower mm songs?
Title: Re: TI Real Chipsound engine
Post by: Yeong on September 23, 2011, 06:01:16 pm
bubble man, splash woman, star man, knight man, etc.
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on September 24, 2011, 03:32:02 am
Please vote in the poll. I can add some features that are required to play the song such as virato and portamento.
Edit: I used famitracker to write the music in. Now I have to convert it by hand. I have to add some more wavelengths to the table for the bass.
Title: Re: TI Real Chipsound engine
Post by: sqrt(Time) on September 24, 2011, 01:00:24 pm
Any chance of Still Alive? I've always wanted a good quality (but not as big as RealSound) version of that one...
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on September 24, 2011, 01:45:59 pm
Experimenting with pulse width modulation. It seems that axe is not powerfull enough to produce a sine, but customduty cycles are possible. I made a vid. See video 03 in the startpost
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on September 25, 2011, 03:33:50 am
Working on sound blending using pulse width modulation. In the beginpost you can find a link to a work in progress version of the kirby's dreamland song. It's not recorded from the calculator.
Title: Re: TI Real Chipsound engine
Post by: Quigibo on September 25, 2011, 04:59:09 am
It should be fast enough to generate PWM sine waves if you use pregenerated look-up tables for the pulse times and delays instead of doing it on the fly.

You might want to check this out too, this was made from a very old version of Axe before the optimized For(const) loops:
http://ourl.ca/6372
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on September 25, 2011, 08:22:30 am
What do you mean? I thought of voltage regulation with pwm and wave tables.
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on September 25, 2011, 10:36:32 am
(http://www16.speedyshare.com/files/30469258/download/2011-09-25%2016.28.17.jpg)
This is the sequence editor. You type in the adress of a certain pattern. It needs lots of optimization.
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on October 28, 2011, 05:11:24 am
Demo of infinite musical notes. Uses only 425 bytes to produce this sound and it can be optimized a lot by removing the gfx
http://www.speedyshare.com/files/30959702/2011-10-28_11-06-12.mp3
Title: Re: TI Real Chipsound engine
Post by: Builderboy on October 28, 2011, 05:55:05 am
You know you can host files on Omni itself, that way you don't have to upload them at other sites :P
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on October 28, 2011, 05:56:26 am
I used it for the IRC, so I just recycled the url :)

Edit: Working functions:
Duration:0x determines the duration of each note
Rest:1x rest x+1 durations
Arp:20 -- -- takes the next two notes and alternates them rapidly
Note:xy with x[3,E] y[0,6] plays note x with octave y

Tested and works perfectly :D
Title: Re: TI Real Chipsound engine
Post by: Netham45 on October 28, 2011, 06:30:53 am
The lost forest song in OoT. Do it.
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on October 28, 2011, 06:34:29 am
Possible, but I dont support multiple channels yet, so it will be a lot of arpeggio's :P I have to make a small tracker in order to do that :P
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on October 28, 2011, 01:05:26 pm
The tracker will look like this. Just a row of commands:

<P00>  SQ
 DR4   01
[C-2]  00
 .-0   02
 B-3   03
 AR2   04
 B-3   00
 B-4   01


Maybe a fulture idea: Sound blending!
________            _________
        |          |
        |__________|
and
___      ____      ____     
   |____|    |____|    |____|

Makes

___ _ _  _ _       ____ _ _ _ 
   | _ _| _ _|____|    | _ _

Title: Re: TI Real Chipsound engine
Post by: Keoni29 on November 25, 2011, 01:59:05 pm
Planned feature: Effects
3x (yz) in which x is the effect type and y and z the parameters.
x=
0:Reset defaults
1:Delay/Release (y=delay z=release)
2:Noisedrums (y=delay between noise drums; z=on/off)
3:SweepUp (yz=time)
4:SweepDown (yz=time)


Suggestions?
Title: Re: TI Real Chipsound engine
Post by: Yeong on November 26, 2011, 07:49:55 am
how about tremolo and glissando effects? :D
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on December 09, 2011, 03:00:27 pm
I'm working on a tracker right now
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on December 09, 2011, 03:51:20 pm
[ Invalid YouTube link ]
Quick video :) Arpeggio's do not work yet.
Title: Re: TI Real Chipsound engine
Post by: Yeong on December 09, 2011, 03:52:33 pm
looks nice :D
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on December 10, 2011, 07:57:46 am
I'm working on note insertion and deletion. Also some changes:
Hold F2 to play. It stops once released (will change it to a toggle button)
Press + to insert a note
Press - to delete a note
The Dur command has a wider range of note durations and starts from zero (zero is one)
The loop points where glitchy. Now they work smoothly.

There are some issues with the scrolling, so once fixed can focus on the saving and loading. How many song files do you want tobe able to save? 3 is enough I guess
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on December 11, 2011, 10:39:46 am
New features covered in these two video's can be found in the previous post. Also the arpeggio's work :D
[ Invalid YouTube link ]
[ Invalid YouTube link ]
I couldn't upload them yesterday because of the broken interwebs :(
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on December 12, 2011, 02:08:49 pm
New:
+Drums (the notes turn into drums after the 7th octave)
-Weird scrolling glitch
*Some optimization

Planned:
Drums blend with notes
Saving and loading songs
Fixing the arpeggio's
Rearranging keys
-[Del] for note deletion
-[Stat] for note insertion
Tons of optimization (I will save that for later <_<)
Title: Re: TI Real Chipsound engine
Post by: Yeong on December 12, 2011, 07:41:44 pm
so later this will turn into on-calc famitracker with squares, triangles and stuff? :D
Title: Re: TI Real Chipsound engine
Post by: Juju on December 12, 2011, 08:13:13 pm
Looks pretty nice :D
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on December 13, 2011, 10:04:30 am
so later this will turn into on-calc famitracker with squares, triangles and stuff? :D
Nope since the TI can't generate fast enough pwm for that so It won't be able to blend sounds either. You have the option to save your song when quitting the program. It loads the last saved file automatically at startup.
Title: Re: TI Real Chipsound engine
Post by: DrDnar on December 13, 2011, 03:18:23 pm
I'm not sure that's entirely true. I suspect you could do it with very, very careful counting of instruction timings, but you'd end up with virtually unmaintainable code.
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on December 13, 2011, 03:18:55 pm
TRAXE manual/Ignoreme

Use a 83+ I/O linkcable and some jumpwires to connect it to an amplifier or a set of earphones. A converter (2,5mm to 3,5 mm) is also okay or use nokia 2,5 mm headphones.
I am not responsible for any damage done to your calculator. Install this at your own risk.

READ THESE INSTRUCTIONS CAREFULLY:
-Install TRAXE.8xp using TI connect (T1.8xv is a demo song)
-Run the software using the ASM( command
-Plug in your earphones/whatever you use to produce sound
-Mess around with the butons (as described below)
-Press clear to stop using TRAXE
-Wanna save? you only have one savefile this will automatically load the next time you use TrAXE

Buttons and navigation:

[^] Move up
[V] Move down
[<] [>] Scroll trough commands
[2nd] [Mode] Decrease/Increase octave/parameter
[ +] Insert note at cursor position
[ -] Delete note at curor position
[F1] Press to hear the note at cursor position
[F2] play song from cursor position (loop)
[F3] stop playback
[F4] [F5] Decrease/increase song length

Commands list:
Dur x = Duration of each note
Arp x = Arpeggio (x has no purpose yet) Rapidly alternates the next two notes
<*> x = Loop point (See loop points for further explanation)
Res x = Rest X durations
C-0/B-7 = Notes
C-8 -> KICK = notes become drums after the 7th octave (See drums for further explanation)

Loop points:
You are smart enough to find out what loop points do. Just have a look at these two samples:
Code: [Select]
<*> 3
C - 2
C - 3
G - 2
G - 3
<*> 0
A # 3
A # 2
These commands will play a sequence of 4 notes for 4 times and then  2 notes.
Code: [Select]
<*> 1
C - 2
C - 3
G - 2
G - 3
<*> 3
A # 3
A # 2
<*> 0
These commands will play a sequence of 4 notes for 2 times and then it plays a sequence of 2 notes 4 times.

Loop points loop!

Drums:
When the octave is 8 or higher the notes turn into drums.
C- Kick (fills one note duration)
C# Snare (fills one note duration)
D- Hat cls (Adds to one note duration. Play in front of a note or a rest or whatever)
D# Hat opn (Same)

Additional features:
Live transpose:
Transpose the song while playing with these keys:
(http://www.omnimaga.org/index.php?action=dlattach;topic=10550.0;attach=11760;image)

I know you like reading ;D(http://www.omnimaga.org/Themes/default/images/gpbp_arrow_up.gif)

The attachment is an older version. Please download the latest version here:
Download V0.2 (http://www.omnimaga.org/index.php?action=dlattach;topic=10550.0;attach=11761)
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on December 17, 2011, 04:20:24 pm
"Patterns" is a new feature which I'm now implementing. Also a GUI and maybe the posibility to tune the calculator. Different models produce different frequencies. Also the battery level derermines how fast the linkport alternates states.
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on January 03, 2012, 03:09:09 pm
I got this (http://tvcaudio.com/tvc/Kenwood/mXrstrq.pdf) D/A converter. I wonder if I can use it to create more complex waveforms. I would be fun to use the calculator as some sort of digital sequencer. The D/A converter then converts its signal into cool waveforms and some analog effects such as low/high-pass filters.
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on February 16, 2012, 02:44:23 am
Some guy made this with it: http://soundcloud.com/beefinator-2/music-made-on-a-friggin-ti-84
With some further improvements it woulda sounded even better
Title: Re: TI Real Chipsound engine
Post by: Keoni29 on February 16, 2012, 01:32:20 pm
I've decided that this program is from now on ment for live operation. Therefore the following has been added to the latest release: Live transpose. You can transpose a song while playing by tapping the corresponding keys on the keyboard:
 
[on] [sto]     [log][x2] [x-1]
  C#   D#        F#   G#   A#

 C    D    E    F    G     A     B     C
[ 0]  [1] [4]  [7]  [,] [sin][apps][x,t,o,n]


I planned these features:
Sync two calcs using the linkport.
Tune calcs manually (You will have to tune all 24 notes in the lookup-table since it's the most accurate way to do it)
Keyboard mode (use the transpose keys as a normal keyboard)
Up to 4 different patterns to edit and access live(number may eventually increase)

I find it very entertaining to use the transpose function with my one hand while playing my yamaha keyboard with my other hand :)
Title: Re: Live chipsound program :TRAXE (TI Real Chipsound engine)
Post by: Keoni29 on February 21, 2012, 03:26:03 pm
Video on the live transpose feature:
Title: Re: Live chipsound program :TRAXE (TI Real Chipsound engine)
Post by: Keoni29 on February 25, 2012, 04:05:12 am
Started glitching. Restoring backup.
Edit: Older version works fine. No changes in newer version except for glitching.
Title: Re: Live chipsound program :TRAXE (TI Real Chipsound engine)
Post by: Keoni29 on May 09, 2012, 03:29:52 pm
This is a demo of the new sound engine. It's an early demo so don't expect it to be spectacular. It will support pitchbends, vibrato, sweeps and portamento etc.

Title: Re: Live chipsound program :TRAXE (TI Real Chipsound engine)
Post by: hellninjas on May 09, 2012, 03:35:29 pm
Pretty nice Keoni ^.^
Title: Re: Live chipsound program :TRAXE (TI Real Chipsound engine)
Post by: squidgetx on May 09, 2012, 03:55:21 pm
This is pretty impressive; how are you producing the sound? Are you using specially timed instances of Freq() or writing directly to the port? You have to explain to me how it works :3
Title: Re: Live chipsound program :TRAXE (TI Real Chipsound engine)
Post by: Keoni29 on May 09, 2012, 04:07:31 pm
I write to the port using the ->port command. By turning on and off the port rapidly I can emulate a digital to analog converter.

Edit: Btw in the video it was just altering the duty cycle.
The square at 50% duty cycle sounds loud and at 10% the volume of the note is much lower. Real pwm using digital to analog conversion can be heard by the human ear, so I would have to add a capacitor and a resistor to filter the signal which is not a problem for me, but not everyone wants to make custom hardware for it to work. For those who do want to make this little circuit I will add support for custom waveforms and such, but otherwise you will be stuck to squarewaves.
Title: Re: Live chipsound program :TRAXE (TI Real Chipsound engine)
Post by: Keoni29 on May 10, 2012, 01:30:39 pm
I think I'm gonna focus on the next version. It will feature a nicer layout. Something like this:
SQ1 F1 SQ2 F2 {}
--- -- --- -- ||
A-4 51 --- -- []
=== == === == ||
--- 00 --- -- ||
G#3 A3 --- -- ||
--- -- --- -- ||
--- -- --- -- {}

Yes there will hopefully be two channels.
Title: Re: TRAXE2 chiptune tracker
Post by: Keoni29 on December 25, 2013, 06:18:16 am
Traxe 2.0 is being worked on! It will use the TIMID soundchip to generate more complex sounds. You can have up to 3 channels of sound with various waveforms.
[ Invalid YouTube link ]
Title: Re: TRAXE2 chiptune tracker
Post by: Ivoah on January 26, 2015, 10:42:17 pm
Necro-bump! Is this still being worked on?
Title: Re: TRAXE2 chiptune tracker
Post by: Keoni29 on January 28, 2015, 06:13:14 am
Eiyeron is working on this. I published the source on github.