Is it possible to have an on-calc MT3 compiler where you can make your own songs?
souvik1997 wrote:
Is it possible to have an on-calc MT3 compiler where you can make your own songs?
If you print out the notes.inc files, it's pretty straightforward to just write your own songs oncalc with the TI-BASIC editor and the AsmComp() command, but it's easy to make mistakes by accident. Similarly, you could use Mimas and assemble oncalc, but I don't think anyone has ported the notes.inc file yet.
I did start work on an on-calculator tracker many years ago. I never got it to work properly (there were mistakes in the SDK documentation for editing programs, I seem to remember), but it would be relatively easy to write something these days.

benryves wrote:
I did start work on an on-calculator tracker many years ago. I never got it to work properly (there were mistakes in the SDK documentation for editing programs, I seem to remember), but it would be relatively easy to write something these days.

Ooooh, nice! I don't suppose you'd have an interested in some collaboration? I'm idly wondering what would happen if I switched it over to the DCS AP system (although I'd still have to use the TI-OS editing system for the note/pattern/song modifications) and tried to finish it off. Keep me posted on your thoughts. Smile
I don't have any particular interest to resurrect the project in the short term (I don't have much time, and would rather spend that time working on other projects). As you can probably tell from the date on the splash screen and the reference to the long-defunct Greenfire the code is rather ancient and deserves a total rewrite. I thought I'd post a screenshot for historical interest, though, and the method of editing songs should work quite well for QuadPlayer songs (or songs of a derived format). Wink
Songs of a derived format that differ from their original in only the header, perhaps? Wink That's fair, I can respect that. Heck, with the amount of mobileTunes conversion that Qazz is doing, maybe I can somehow convince him to learn ASM and write a sequencer in the interest of my time commitments. Smile
The mobileTunes format also changes the way pointers to sections are stored (in the original format the pointers are relative to the first byte of the program, whereas in mobileTunes they are relative to the first byte after the tag data IIRC). In any case, it would be relatively easy to write a converter that could change the format from one player to another.
Oh, that's right, I had forgotten about that modification, you're absolutely correct. I agree that a converter would be quite trivial once a sequencer was available, or alternatively that making the sequencer save in either format would be the work of an instant.
I kid, of course, hence the Wink It would be best to aim for the mobileTunes format as that's the best-supported one. Repeat point support may be a nice addition, though (it's something I was asked for by email, at any rate).

Either way, an on-calculator music editor shouldn't be too tricky to knock together, if a little time consuming.
benryves wrote:
I kid, of course, hence the Wink It would be best to aim for the mobileTunes format as that's the best-supported one. Repeat point support may be a nice addition, though (it's something I was asked for by email, at any rate).

Either way, an on-calculator music editor shouldn't be too tricky to knock together, if a little time consuming.
Agreed; I think the memory management is probably the most painful part of it. I'm a little confused why repeat-point is better than simple calling the same section N times in a row, considering it's only two bytes per section call, but I am no chiptunes/MOD expert. Smile
KermMartian wrote:
Similarly, you could use Mimas and assemble oncalc, but I don't think anyone has ported the notes.inc file yet.
Actually, http://ourl.ca/7966/143276
Oh, interesting, a sequencer. that could make it quite enjoyable to make my own mt3's Smile If it does get reserected, do tell me so I can help...
ztrumpet wrote:
KermMartian wrote:
Similarly, you could use Mimas and assemble oncalc, but I don't think anyone has ported the notes.inc file yet.
Actually, http://ourl.ca/7966/143276
Whoa, how come this was never brought to my attention? A challenger appears!
KermMartian wrote:
benryves wrote:
I kid, of course, hence the Wink It would be best to aim for the mobileTunes format as that's the best-supported one. Repeat point support may be a nice addition, though (it's something I was asked for by email, at any rate).

Either way, an on-calculator music editor shouldn't be too tricky to knock together, if a little time consuming.
Agreed; I think the memory management is probably the most painful part of it. I'm a little confused why repeat-point is better than simple calling the same section N times in a row, considering it's only two bytes per section call, but I am no chiptunes/MOD expert. Smile

The repeat statement allows you to repeat a sequence of playsection() instructions. It's a bit like a "djnz" inside the playsection() list (it also doesn't allow for nested repeats). If the repeat count is zero the song loops indefinitely, which is used in a couple of the songs bundled with QuadPlayer.

Special commands are implemented as an endsong (.dw 0) instruction followed by 254 then the command ID (currently only 0 for "repeat"). The logic behind this is that in QuadPlayer 1.0 files the data immediately after "endsong" would be the first note in the first section - and 254 is not a note value defined in notes.inc.
Benryves, thanks for explaining that; that makes sense. I can certainly appreciate how that works and why it works, and I can also understand why infinite looping might be wanted. I can only assume that these special commands are intermixed with normal section instructions; I'll try implementing this some time after December 22nd. I'd appreciate a reminder if you happen to notice I failed you.
Some feature :

  • Support playlist.
  • Control volume.
  • Add new timbre (I don't know if this is possible).

What do you think ?
I like all of those ideas. Volume control is very difficult; because the lines on the serial port are either on or off, I already use PWM to produce the correct frequencies by switching them on and off very fast. To PWM the PWM (to make each line off more often to make it softer) without compromising the sound quality any further would be a big challenge. A new timbre is somewhat easier. One thing I've always wanted to add was a handful of percussion samples that could be used in one of the tracks.
Other feature (already ask :p) :

  • Automatic convertion in 8xp file from online converter.
  • Automatic transition with 2 part of a long music (need automatic split with online converter).
  • More than 4 channels (I don't know if this is possible).
1. Nah, I think that causes a server overload. Plus, I think it is better if you get the source so that that you can adjust to your liking!Razz

2. don't know

3. I think 4 channels is the max for MT3, although I am not sure... :/
I did experiment with different amplitudes and did get fairly interesting results - but only for one channel. Four was a bit much for the poor Z80, as all the additional processing dropped the effective frequency to a point where it was unusable.

One way to affect the timbre of a square wave is to change its duty cycle. For an example, here's an MP3. The sound output was based on an SN76489, which had three square wave tone channels with a fixed 1/2 duty cycle. Its fourth channel was a 15- or 16-bit linear feedback shift register which could be put into a "white noise" mode or a "periodic noise" mode. The periodic noise connected the input of the shift register directly to its output and preloaded the register with only a single bit set, the result being a 1/16 duty cycle. The bassline in the above MP3 comes from this "periodic noise" channel, and it has a noticeably different timbre to the square wave channels (this is especially evident from the 27 second mark or so). See this document for more information about this shift register; I'm not sure if white noise could be implemented on the calculator, but periodic noise may work quite well.

KermMartian wrote:
I already use PWM to produce the correct frequencies by switching them on and off very fast. To PWM the PWM (to make each line off more often to make it softer) without compromising the sound quality any further would be a big challenge.

Nitpicking, I'm afraid, but it's not really PWM as the average output voltage stays the same as the generated square waves have a constant 1/2 duty cycle; changing the frequency has little effect.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
» Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
» View previous topic :: View next topic  
Page 5 of 8
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement