| |
Turtle Account closed
Registered: Jan 2002 Posts: 70 |
GoatTracker v2.0 beta
That's a great one!!!!
Cadaver, didn't I hear you denying any activities in that direction a few weeks ago in an other thread.
I guess this major version release will make a lot composers more than happy. All points on my wishlist are marked as accomplished....
Now it's time to start a new topic of tips&tricks with this release.
Thanx,
Turtle |
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yep that's true, but that was before I realized it was time to gut the old dataformat completely, and lose all pretenses of user-friendliness :) Think of it as a wholly different program, if you wish... (GT2 imports GT1.xx format, but doesn't save back to it, however) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Great! Will try it when home..
http://covertbitops.c64.org/tools/goattrk2.zip |
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
Quote: That's a great one!!!!
Cadaver, didn't I hear you denying any activities in that direction a few weeks ago in an other thread.
I guess this major version release will make a lot composers more than happy. All points on my wishlist are marked as accomplished....
Now it's time to start a new topic of tips&tricks with this release.
Thanx,
Turtle
Just received a test-sng from Jammer. Wonder what that GT master squeezed out of GT 2.0.
I see this release as a good excuse to start fiddling with SID again. Thumbs (and not just thumbs ;>) up to Cadaver |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Btw. I'd be glad to receive any (high-quality) demotunes with permission to include with the actual v2 release. |
| |
Hein
Registered: Apr 2004 Posts: 933 |
We'll first have to fight for that.. |
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
Quote: We'll first have to fight for that..
*smacks Hein* |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: *smacks Hein*
Auch!!! You win, I give up.. |
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
Ah... He said high-quality demotunes? I'd better not be first then, sorry Hein, go for it :D |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Yeahh!!!, really cooooooooool! ;)
> Geil, Geil, Geil, < ;)
Goattracker rulez!!!! |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: Ah... He said high-quality demotunes? I'd better not be first then, sorry Hein, go for it :D
Haha.. woos.. :)
It got all the features I like (esp. the different tables and vibrato thingy), so if a more Alpha version is available I will do my best.. |
| |
Turtle Account closed
Registered: Jan 2002 Posts: 70 |
Hmm, I presume if cadaver stomps a stable V2.x out if his coding plant until the end of this summer, the quota of GT2 songs in CreamD's forthcoming 5th SIDCOMPO will be quite astonishing..
At least one entry will be done with this new goody, definetly!!!
Turtle
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Of course, there is also the (remote) possibility that the editor is bugfree already :) Btw. I updated the beta, shaved a few bytes off the playroutine, and it also now chooses an even further optimized playroutine if gatetimer/firstwave are the same in all instruments (some memory/rastertime savings) |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
@cadaver: Would it be possible for you to write a fileformat migration document describing changes to 1.5x->2.0 both for .sng files and the gamedata format? So that I can easily update my cutter utility to support 2.0 aswell without having to dig through your code _again_. :D
/JackAsser |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
haven't touched gt in 4 years now, but this looks interesting for a change .. i hope my old worktunes won't get too mangled in this one. =) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Jackasser: Now the beta has been updated again, contains proper readme where the new .SNG format is described.
As for the relocated data, the gamemusic data format doesn't exist anymore. Both standard & gamemusic now include the playroutine (as relocations performed by C64 on runtime would be too hellishly complex), and the data is non-editable, as it's missing some important info like amount of patterns, songs and instruments. The playroutine doesn't care :)
|
| |
dalezy
Registered: Apr 2002 Posts: 475 |
the pulsetable seemed to have changed quite a bit; all my gt1.25 tunes are fecked in 2.0, but nothing that can't be fixed with a bit of manual work in the pt i'd say =) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
GT 1.xx swapped the pulsenybbles (possibly other pulse stuff too, can't remember) at some point in 1.2 - 1.4 transition. Also the pattern commands totally changed meaning sometime around the same time, or possibly earlier... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
What's about the GT-forum we talked in another thread?
@cadaver: it seems that GT isn't yet stable.
I made some test-patterns and the end result wasn't too good.
I'm sure this bugs will be removed.
problem: I converted a little bassline from v.153
to 2.0 and now sound is buggy.
Where is the problem: new ReSID, or new player?
After set ADSR to 20FB sound is fixed...
ADSR 10FB
wavetable
81 C9
41 00
FF 00
- How do I make make same Pulsewidth settings from GT1
(Speed + Limit Min + Limit Max) in GT2?
- What does exactly "Gateoff Timer" do? Why it is useful?
- "Hardres/1stWave", why setting another value than
test+gatebit ($11,21...) is useful?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Sorry, right now your message has almost zero informative value. Unless you actually tell what kind of bugs, how do you think I can fix them? Or did you only mean the ADSR "bug"? The timing of resid writes has changed a bit, but if anything now it more closely mimics the C64 playroutine. Though, it has to be investigated...
Load GT1.xx songs into the editor to see how pulse gets automagically converted to new format. In the pulsetable, you specify steps like "add <speed> to pulsewidth for <time> ticks". It is powerful, but manual & unfriendly, but no-one is forcing you to learn it, of course :)
Gateoff timer is explained if you RTFM.
1st wave is only for personal preference. For 99% of the time, $09 is probably best choice. $01 is another candidate. Audible waveforms ($11, $21) should not be used as the frequency, pulse etc. aren't yet initted at that point in time. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Ok, here's the deal with the ADSR:
1) In order to get that sound with ADSR $10FB, writes to $d405,$d406,$d404 have to come as close as possible. Due to more complex nature of GT2, this can't be done, unless all SID writes were buffered. But IMO that'd be unnecessary overhead and is only done in the gamemusic version, where it's necessary because of the sound effects.
2) If, on the other hand, the writes are sufficiently far apart, the sound will be different, but consistently so. ADSR $20FB produces the more prominent beginning noise if desired (personally I think it's ugly) :)
3) If they fall inbetween, the sound will fluctuate. This was the case in the editor (not in the C64 playroutine) and is now fixed, you can redownload.
It's a bit complicated explanation.. hope you understood :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Thanks for the Info Cadaver
Now I mailed you some examples
|
| |
Turtle Account closed
Registered: Jan 2002 Posts: 70 |
I fiddled around a little bit and encountered one bug that makes the whole editor exit the program:
Due to the keyboard layout of my Sony-Vaio notebook the std. note-entry method (Protracker) is not very friendly and effective. But in DMC-mode - and only here - the editor exits after changing the octave by pressing on of the number-keys. This bug is repetetive.
But the prog is stable enough to compose a sample song for you, cadaver, from scratch with heavy use of the three tables. I already made some instruments I always wanted to do in the predecessor but couldn't due to its 'limitations' (bad word for a really good editor).
Turtle |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
New version uploaded
- SHIFT+DEL to mutilate instrument and its tabledata
- Protection against gatetimer becoming zero in instruments, as in instr.1 would lead to tempo initialization problems..
- DMC mode crash fixed
Btw. easy way to get much more prominent oldskool first frame of notes (if you dislike the "hifi" feeling): Gatetimer 01, 1st wave either 00 or 08, keep hardrestart on
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmmmm, not all pulse-width settings can
be convertet correctly from GT1.53 to GT2.0
GT 1.53 example
Pulse width 60
Pulse speed 90
Pulse Limit Min 30
Pulse Limit Max A0
in GT 2.0 Beta only this will be importet as:
01: 86 00
02: FF 00
I think this has something to do with Pulse-speed
and the "Pulse Limit Max". (because it's above 80)
-----------------
Next Problem: "PATTERN 04 IS TOO COMPLEX (OVER 255 BYTES PACKED)"
It's a simple 64-row pattern, filled with 8xy commands
The problem is that in GT1.53 in this pattern were a lot of
different arpeggios and it seems that it is impossible to
have complex arpeggio-settings and saving the song
------------------
Now I testet some fo my fast techno tunes and it seems,
that they need a kind of Buffer.
First I was the opinion that Command line option "/Bxx" could
improve playback quality, but ......... :(
It happens sometimes that during playback GT2 fails a bit in wavetables
(missing/skipping frames?) - even if hardrestart is on.
I hope that somebody noticed this this strange behavior, too
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yep, pulsespeed is >= $80.
You could convert that as consecutive "set pulse" commands if you really wanted...
You could make some of those arpeggios instruments.
For your last claim, need more detail, or files (.sng). If by "fast" you mean "multispeed", you may have to put some 09 00 rows or 01 00 to the beginning of wavetable or increase attack for the desired sound of instruments. Had to do this in the 2x_test-song. And did you multiply your gatetimers like TFM instructs?
Note that it's not my aim to necessarily make the import (automatically) work perfect in each case. Afterall, the players are different, some GT1 sideeffects can never be converted anyway.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Updated again. Now putting wavetable delay to the beginning of wavetable doesn't bug anymore, in combination with vibrato effect. There's also SHIFT+INS command which aids in inserting stuff to the beginning of table, without moving the startpointer.. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Yeahhhhh, I testet again a lot of songs (newest Beta) - now it works fine!
GT-Playback and final/relocatet song seems to be work very well :)
Thanks Cadaver! |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hmm, interesting, I have no idea what it was exactly but good if it is satisfying now :)
Btw. I just restored vibratodepth as it was in GT1.xx. Hope no-one will hate me for this, you'll simply have to halve all vibratodepths you used.. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Btw: It would be nice if GT Sound-output could be interpolated/re-sampled like
in WinVice (fast, interpolating, resampling) Interpolation would avoid
sampling-noise of $31, $51, $61, $71 waveforms....
A command line option would be suitable, or maybe SDl-library doesn't support
such features?.... however, it's just an idea...not more |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yep, I think it's easily doable as reSID does all difficult work, just have to tell it to interpolate. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Yep, I think it's easily doable as reSID does all difficult work, just have to tell it to interpolate.
Cool! |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Ok, new version there with /I option. Try /I1 to set interpolation on. I tried also the more cpu-intensive resample methods but they didn't seem to offer any better quality than the fast method, hmm? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Now for a change in our regularly scheduled programming:
due to a limitation of 3XY command Randall discovered, a protection feature has to be removed. This means, putting delayed wavetable (01 00 etc.) in the beginning of your (multispeed) instrument will again be at your own risk only. May cause missing notes. Convert to two rows of 09 00 as necessary. This is especially for you nata!!!
(I am also secretly pleased, as it removes 3 bytes from the player... Though it was evil of me to advise using it in the first place)
|
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
So, that evil limitation was removed, I suppose? Is there any chance for mark/copy/paste within tables as well? ;) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Wait and see... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Btw: I always missed a "Octave-Transponse" Up-Down command,
a command that copies all effects (not just one by one)together out to another pattern and a command (in orderlist) that copies out it's content of one or more patterns and paste that into new ones (without going first into the pattern by pressing ENTER)
What other people think about this? Or maybe this is a bad idea, since we would have to learn a lot of new keys?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Octave-transpose can be done, for the rest you should program them in yourself or get a code-slave.. |
| |
anix Account closed
Registered: Feb 2004 Posts: 35 |
how about an option for hexadecimal row display?
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Octave-transpose can be done, for the rest you should program them in yourself or get a code-slave..
Ok, you are not our coding-slave :)
Now my "whishlist" is complete. ;D
|
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
...with "whishlist" being a combination of whining and wishlist? ;)
No offence, mate, the more requests, the more Goat Tracker will be useful, and the more grey hair Lasse will have. :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: ...with "whishlist" being a combination of whining and wishlist? ;)
No offence, mate, the more requests, the more Goat Tracker will be useful, and the more grey hair Lasse will have. :)
:) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Ok.. we proceed to RC stage. Quite a bit of fixes and additions. Songformat has completely changed (so that it is binary-incompatible), and pulsemodulation works at 2x speed, but included BETACONV.EXE shall help with any tunes done in the meanwhile.
http://covertbitops.c64.org/tools/goattrk2.zip |
| |
Raf
Registered: Nov 2003 Posts: 343 |
well.. maybe not quite really needed feature but what you think about selectable highlight-spacing in patterns (4/8/16 for example) or even optionally two highlights like in modplug tracker?
another feature I (always?) thought about - what you think about allowing to put cursor using mouse? sometimes it might be faster than "tabbing'n'arrowing", anyway I have in mind it might be rather lotsa work...
another gadget - rastertime usage counter
and .. IMO important feature - allow to change sid's base address ($d400) when saving tunes (Who knows what 65xx machine sid may be desired? I thought about atari 2600 once :P )
great job anyway... great that you decided to continue work on GT !
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Selectable highlight has been there for like 4 years. :) Shift+N,M.
Mouse... mmm, a bit unclean. It would lead to too much expectations I'm afraid, like a proper GUI or something. Remember you can also use function keys F5,F6,F7 etc. to go to parts of the editor.
The editor has no knowledge of rastertime, as it has its own (written in C) playroutine and no inbuilt 6510 emulation. Also editors often don't have data in same format as packed/relocated final tune so it'd be misleading anyway.
Selectable SID baseaddress, probably not used ever but it's now there in the RC2 (/L option)
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Ok, new version there with /I option. Try /I1 to set interpolation on. I tried also the more cpu-intensive resample methods but they didn't seem to offer any better quality than the fast method, hmm?
I think interpolation is the best method and could set as default... :)
It's more closer (?) to the original especially when combined waveforms and filters are in use.
Ok, resample doesn't make much sense, since it eats a lot of cpu-time and sound-quality is only improved slightly in comparison to interpolation.
Btw: What happens, if I set Hardrestart parameter (default 0F00) to - FF00 - ?
Now, let's talk about GT2-STEREO! I can understand that there won't be any Stereo-version anymore. I think Goat-Stereo was never really popular - it was always only in mono (during Composing). Ok, it wasn't Cadavers fault, because there was this problem with SDL-library, right?
People, became very sad (like me), because it was really difficult making good stereo-effects in mono.
But, let's philosophize a bit: If these "only mono" and "GT Stereo cannot import Mono files" problems could somehow fixed, with GT2-Stereo we would have one of THE MOST POWERFUL (SID)- Editors of the world - cool, ehh? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Have never experimented much with $ff00, try it, but don't complain if you get uneven/bugging attacks of notes :) Some editors might also use $f800 as default.
I will reconsider stereo when Sidplay supports it and when stereo-sid C64 demos/games start appearing in great numbers. Otherwise, I don't like creating 2x maintenance trouble for something that has little significance for actual C64 productions. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Quote: Selectable highlight has been there for like 4 years. :) Shift+N,M.
Mouse... mmm, a bit unclean. It would lead to too much expectations I'm afraid, like a proper GUI or something. Remember you can also use function keys F5,F6,F7 etc. to go to parts of the editor.
The editor has no knowledge of rastertime, as it has its own (written in C) playroutine and no inbuilt 6510 emulation. Also editors often don't have data in same format as packed/relocated final tune so it'd be misleading anyway.
Selectable SID baseaddress, probably not used ever but it's now there in the RC2 (/L option)
oh sorry! I missed that feature . So forget about that second highlight.
Nata: when Cadaver will add option to change sid baseaddy then you'll be able to make stereo tunes with standard GT ;-) although both parts will be actually separated , there will be finally separate filters for each set of osciallators - that was totally bad in gtstereo.
I know people who made music this way... (Surgeon for example... JCH also made something like this )
woah... and another feature request - PCM samples on volume register? :P yeah... I just asked , I know you won't do that heheh...
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Even I had a thought about a new command (Gxy - Hxy)
.... forgive me, it's out of hex philosophy.. ;D
Gxy - PulseWidth slide up
Hxy - PulseWidth slide down
I think this would save a lot of "PULSE TABLE"-memory
and give a lot of control beside Command 9XY (pulsetable pointer).
Btw: What I miss in README: Information about
Filter/waveforms... and and.. usage, beginners (not me).. will be grateful
$90 LOW-PASS
$A0 BAND-PASS
$B0 low + band-pass
$C0 HIGH-PASS
$D0 low + high-pass
$E0 band + high-pass
$F0 low + band + high-pass
$1 CHANNEL 1
$2 CHANNEL 2
$3 Channel 1 + 2
$4 CHANNEL 3
$5 Channel 1 + 3
$6 Channel 2 + 3
$7 Channel 1 + 2 + 3
$8 EXTERNAL INPUT
--------------------
1x TRIANGLE
2x SAWTOOTH
3x triangle + sawtooth (only 8580)
4x PULSE
5x triangle + pulse (6581/8580)
6x sawtooth + pulse (only 8580)
7x triangle + sawtooth + pulse (only 8580)
8x NOISE
x0 Gate Bit (gate-off)
x1 GATE BIT
x2 Sync Bit + Gate Bit (gate-off)
x3 SYNC BIT
x4 Ring Bit + Gate Bit (gate-off)
x5 RING BIT
x6 Sync Bit + Ring Bit (gate-off)
x7 Sync Bit + Ring Bit
x8 TEST BIT
x9 Test Bit + Gate
xA Test Bit + Sync (gate-off)
xB Test Bit + Sync
xC Test Bit + Ring (gate-off)
xD Test Bit + Ring
xE Test Bit + Sync + Ring (gate-off)
xF Test Bit + Sync + Ring
hope, everything is correct. ;D
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: oh sorry! I missed that feature . So forget about that second highlight.
Nata: when Cadaver will add option to change sid baseaddy then you'll be able to make stereo tunes with standard GT ;-) although both parts will be actually separated , there will be finally separate filters for each set of osciallators - that was totally bad in gtstereo.
I know people who made music this way... (Surgeon for example... JCH also made something like this )
woah... and another feature request - PCM samples on volume register? :P yeah... I just asked , I know you won't do that heheh...
What's about Pulsewidth digis? ;P |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
The readme kindly refers you to C64 Programmer's Reference Guide. :) Digis of any kind will not be done by me. And I don't think it's very probable to overflow the pulsetable... btw. it's not that hex is necessary or ninjasweet in itself, but there is no room in the patterndata encoding for more commands, unless you want to sacrifice either notes or instruments..
As far as I remember, GTStereo had separate filters you can control on channels 1-3 and 4-6. Or did you mean 2x the filtertable-space? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
C64 Programmer's Reference Guide only gives a kind of overview... as far I know, not GT specific...
Of course, digis aren't really important, but more than stereo
Nevertheless, we will respect your decision about 4th-channel...... |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Well.. in most cases GT dumps the table / instrumentdata directly to SID registers, so the info in PRG should be fairly relevant. Learning all about the SID functions & registers should get you pretty far with any musicprogram. Btw. the interesting & technical stuff is in the Basic To Machine language part (memorymap) and in the appendixes.
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Now, what will happen to the old GT (1.53) version? (any ReSID improvements...?)
Many people said it's a "poor" player, but we all know that this isn't true.
I think GT1 will have future beside GT2
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Change one parameter (SAMPLE_FAST to SAMPLE_INTERPOLATE in gsid.cpp), recompile. Bonus if you do the same by bin-patching :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Well.. in most cases GT dumps the table / instrumentdata directly to SID registers, so the info in PRG should be fairly relevant. Learning all about the SID functions & registers should get you pretty far with any musicprogram. Btw. the interesting & technical stuff is in the Basic To Machine language part (memorymap) and in the appendixes.
Ok, it was just a thought, however ;) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Change one parameter (SAMPLE_FAST to SAMPLE_INTERPOLATE in gsid.cpp), recompile. Bonus if you do the same by bin-patching :)
What for compiler I have to use? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
TFM always has an answer, you know :) MinGW (gcc) is what I use, but of course that is not to say it wouldn't compile with some other compilers, after necessary amount of sweating... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
;D, I will try it :) |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Quote: TFM always has an answer, you know :) MinGW (gcc) is what I use, but of course that is not to say it wouldn't compile with some other compilers, after necessary amount of sweating...
cygwin should work w/o any modifications too. theoretically any gcc based compiler suppoerted by SDL + environment where resid compiles should be fine , isn't it true? (that's why you can't compile GT for dos...) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmmm, no idea how I could "improve" GT2 with new features (Digis...and and), I'm not a coder :(
But I don't give up:
So I have to ask around again: Who (NOT cadaver) is able to code a nice, short digi-routine? Even an already available routine can be also taken.
Ok, I do not want any special features for GT2+digi (just import normal samples as 4bit)
You can be sure, that GT2+digi would be the mostly used SID+DIGI!!
Wonder which group would like to be the first one.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I guess if someone with skill & time wanted it bad enough, it'd be done already. It's a bit like all codeslave requests, nowadays not even money is guarantee enough (CSDoom :)) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V2.01 released. Adds under-IO gamemusic player for perverts. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
@Cadaver: what do you do recently beside improving GT? :D hehehe ;-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Actually, the additions are minor and each takes about few minutes. I always forget to test properly, though :) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
@Cadaver: Do you use a different sidlibrary for Goattracker 2?? it sounds like a R3 instead of the old ones..
Anyway, I'll just have to get used to it.. (And its a good practice to make tunes for both sids) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yeah, reSID was updated but as far as I remember the sound is the same. But reSID interpolation was switched on by default (/I commandline option) You can get the old sound back with /IO |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Thanks.. I've been composing resids without interpolation in the past.. geeeeee, that's really stupid.. |
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
...which also speeds up the response from the editor - in case your computer is as slow as mine is. |
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
/i0, that is. |
| |
Hein
Registered: Apr 2004 Posts: 933 |
yes, I noticed.. my cpu is too slow for interpolation too. Good to be a looser with a snail speed processor. |
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
I have a faster one as well, but it's in the studio running Pro Tools - well now as we have power-consuming interpolation in GT, I'll have to reconsider that ;) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
aaah.. glad I'm still the underdog. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
my celeron 566@850 is fast enough but I doubt if celeron 300 (w/o l2 cache) or P200mmx would run reasonably fast with interpolation... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Again, a feature request: ;)
When I press in in a instrument on
Wavetable Pos 00
Pulsetable Pos 00
Filtertable Pos 00
doesn't happen nothing (only if there is a non-zero mumber)
This could be used as a feature. Cursor goes automatically
(if pressed ENTER on 00) to the next empty Wave/Pulse/(after FF)
or Filter-table Position. ... and new instrument-number is
automatically stored into new instrument
What do you think about this?
|
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
Quote: my celeron 566@850 is fast enough but I doubt if celeron 300 (w/o l2 cache) or P200mmx would run reasonably fast with interpolation...
You're right. Celeron 300@413 (w/cache) barely makes it. The sound is OK, but the editing gets tough. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yeah nice idea. In coming v2.02 RETURN will just get you to the free location, while SHIFT+RETURN will also set the tableparameter. In addition, the under-IO player will be adjusted to be even more cryptic in its interface...
EDIT: v2.02 released. Though the under-IO player's cryptic interface didn't happen. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
@CADAVER
Would you be interestet in kind of "25-hz" multi-speed-mode?
Or player has to be rewritten for this purpose? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Is there an official definition of 25 Hz? Updating all realtime effects on each second frame only?
I guess the GT playroutine is built in such way that there will not be significant peak-rastertime benefit from that, so on the whole I don't think it's worth the effort.
Just because some term or concept is interesting from an experimental point of view, doesn't necessarily mean it is a good idea to include :) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
What use would 25hz have anyway?? Simply slow down the speed/bpm would do the same.
I've been playing around, and noticed a tune needs a little bit more preparation with version 2, figuring out the chords before entering them in the tables and stuff, with version 1 I used the trackarpegios a lot, good to make transitional chords.
Also, I've noticed the vibrato does not work with looped wavetables.
But, I think the tunes will be more consistent with version 2, less on the fly instrument creating.
I'm glad version 2 is available, it provides a lot of possibilities to give more life to the sounds, especially the pwm tables are very handy. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
You ever heard the tune "First_25Hz_tune_half-speed.sid" by KB? |
| |
carlsson
Registered: Nov 2002 Posts: 41 |
Assuming a 50 Hz player updates all three channels 50 times per second, I believe a 25 Hz player would do something like this:
frame 1 : ch1 ch2 ---
frame 2 : ch1 --- ch3
frame 3 : --- ch2 ---
frame 4 : ch1 --- ---
frame 5 : --- ch2 ch3
frame 6 : --- --- ch3
That is 3/6 * 50 = 25. If two channels are updated on each call, it would be more like 33 Hz, and only one channel per frame would be 16 Hz? Instead of this approach, there may be more minimalistic players than GT to try if raster time is very tight?
My rather lame VIC-20 player seemed to be a raster time hog, and while rewriting it trying to optimize it, I made it update one channel (out of four) on every call (frame). It disallows for synchronized start of notes and it should be possible to make it raster efficient while taking care of all voices, but in theory I guess it was a 12.5 Hz player.. |
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
Hein stated:
"I'm glad version 2 is available, it provides a lot of possibilities to give more life to the sounds, especially the pwm tables are very handy."
Yeah, it particularly helps to create cool kick+bass mixes. A kickdrum at pulsewidth $80, and then bass at $40-$50, well with proper filter settings it truly rules. I can't figure out now how could I live without pulsewidth step-programming :D
Trackarpeggios sucked bigtime anyway (especially in multispeed), won't miss them. Have to master 3xx usage (or find some substitute for that), 'coz it still doesn't seem to work as smoothly as in GT 1.52 (IIRC, it was possible to slide the frequency while delaying a wavetable step - or am I wrong?). |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Trackarpetios at half speed of the tune were handy, I will miss them.. booohoooo..
I think only the tienote worked well with wavetables.. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Can the packer/relocator detect, if an instrument is used or not in the order-list?
In this way not used wavetables/filter... could be removed automatically.
Since there is one big wavetable and 63 possible (!) Instruments, it's quite
time-consuming doing that by hand.
I always try my best, but who knows if, a instrument is needed later on?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Nata: it is trivial to detect, but the harder part is to take it to extremes and remap everything (pattern numbers, instrument numbers, table entries) so that everything unused can and will be stripped off. However, I just did that. :)
However, be careful now that this has been implemented, listen your packed/relocated tunes to the end and report any weird behaviour...
Full v2.03 changelog:
- Added execution of continuous commands & instrument vibrato during wavetable delay.
- Added wavetable right side value $80 to keep frequency unchanged (as a consequence, the note C-0 will cause the same effect).
- Added relocator optimizations: all unnecessary data is stripped when packing/relocating.
- Playroutines size-optimized.
- Explanation of how different gatetimer values can lead to playback going out of sync (manual section 3.3).
- reSID interpolation is no longer on by default :)
Note that the command/vibrato execution during wavetable delay will not happen on the last tick of the delay, due to structure of player code. For example: on a delay of 4 ticks the commands will only be executed for the first 3. This cannot be changed.
Btw. GT1.xx and GT2 up to now never executed any pitch commands during wavetable. Why you could use 3xx during looping wavetable was due to the notenumber being set on newnote, and wavetable then changing the frequency. |
| |
Stryyker
Registered: Dec 2001 Posts: 465 |
Quote: Assuming a 50 Hz player updates all three channels 50 times per second, I believe a 25 Hz player would do something like this:
frame 1 : ch1 ch2 ---
frame 2 : ch1 --- ch3
frame 3 : --- ch2 ---
frame 4 : ch1 --- ---
frame 5 : --- ch2 ch3
frame 6 : --- --- ch3
That is 3/6 * 50 = 25. If two channels are updated on each call, it would be more like 33 Hz, and only one channel per frame would be 16 Hz? Instead of this approach, there may be more minimalistic players than GT to try if raster time is very tight?
My rather lame VIC-20 player seemed to be a raster time hog, and while rewriting it trying to optimize it, I made it update one channel (out of four) on every call (frame). It disallows for synchronized start of notes and it should be possible to make it raster efficient while taking care of all voices, but in theory I guess it was a 12.5 Hz player..
Skipping 1 channel makes the channel 25Hz but the player is essentially still 50Hz. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Btw. as a consequence of the changes, it's possible to make the rastertime skyrocket to disgusting $17. Combine wavetable delay with toneportamento (nonzero speed), ensure that a new note fetch will happen at the same time, play the same thing on all 3 channels and watch in horror. However, I guess that'd have very little practical use in actual music. And for example, vibrato+wavedelay on all channels isn't nearly as bad ($13 max I think) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Maybe the competition on c64.sk is a little bit too early..
Anyway, I've also noticed that trackspeed $f84 on channel 2 gets overruled by higher channel global speed setting ($f08)..
$17, thats still acceptable, from a musician point of view.. I remember the old MON/20CC routine being able to reach the double amount.. |
| |
CreaMD
Registered: Dec 2001 Posts: 3035 |
Quote: Maybe the competition on c64.sk is a little bit too early..
Anyway, I've also noticed that trackspeed $f84 on channel 2 gets overruled by higher channel global speed setting ($f08)..
$17, thats still acceptable, from a musician point of view.. I remember the old MON/20CC routine being able to reach the double amount..
It's not too early. IMO It's the perfect time to popularize new version, get feedback and test capabilities of this fresh editor and eventually find the deeply hidden glitches. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: It's not too early. IMO It's the perfect time to popularize new version, get feedback and test capabilities of this fresh editor and eventually find the deeply hidden glitches.
Yeahh, my tune is nearly finished for compo.... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Is there an official definition of 25 Hz? Updating all realtime effects on each second frame only?
I guess the GT playroutine is built in such way that there will not be significant peak-rastertime benefit from that, so on the whole I don't think it's worth the effort.
Just because some term or concept is interesting from an experimental point of view, doesn't necessarily mean it is a good idea to include :)
The main reason for asking about a "25-hz mode" was more a "musical reason" than a "rastertime reason":
I saw that GT supports multispeed-songs up to 32x (!!!), but is there anyone
who can handle (making really big wavetables....) such a high speed?
Just imagine, a good instrument in 50hz sounds Ok, and in "25hz" it is really bad.... :D
I think, in this way could be made some really special songs....
Ok, now i go testing new version... ;D
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Well, didn't you just say it yourself? "In 25Hz it is really bad" :)
I was trying to write a very low-cost player some time ago and came to the conclusion that pulsemodulation and vibrato at 25Hz sound intolerable to me.. and delayed wavetables (the most useful part IMO) can already be created |
| |
Ninja
Registered: Jan 2002 Posts: 404 |
About half-speed tunes: I also think it might be interesting to test tunes at half (even quater?) speed. No special playroutine for that, just call the player at 25Hz (even 12 Hz?). If Goattracker can go up to 32x, why not down to 1/32 ;)
Maybe it's a different challenge for musicians, as nata says (i can't judge that). Plus, demo coders will (well, should) surely be happy with such tunes (i can judge that ;)). |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, now I testet:
optimized relocator works fine. ;) thanks, Cadaver!
The only thing to remember is:
80 = Keep frequency unchanged
81-DF Absolute notes C#0 - B-7
When I import a song from v.2.02 there will be sometimes glitches
(I used "80" = C-0, very often) I have to set in manually to 81. ;)
Hope I'm not wrong, but now all instruments using Absolute notes C#0 - B-7 (just prepared) will be one halftone higher? (Drums,...)
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Well, didn't you just say it yourself? "In 25Hz it is really bad" :)
I was trying to write a very low-cost player some time ago and came to the conclusion that pulsemodulation and vibrato at 25Hz sound intolerable to me.. and delayed wavetables (the most useful part IMO) can already be created
Hmmm, ;)
"bad" is a very flexible word.....
Musicans are always looking for "new" technologies....
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Ninja: the tempos you could use would be very limited. GT has minimum tempo 3, so in 25Hz mode it would become 6 etc. Plus isn't it fairly useless (at least rasterbased effects) if on each second frame the player gulps the full 50Hz rastertime?
Nata: the absolute/relative notes have stayed same, just pitch C-0 has vanished (tested)
Anyway, adding 25Hz was a 5-minute job, and it truly is terrible and completely useless at least in any rapid passages (because of gateoff and noteinit frame - those together are 4 frames now!) Coming to the next version.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V2.04 out. Contains the useless 25Hz mode, note C-0 is back, and commands/instr.vibrato during looping wavetable should work much better (if you only use no-freqchange steps, it should not skip commands/vibrato frames at all, except on tick0, which is normal behaviour anyway) and take less rastertime :) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: It's not too early. IMO It's the perfect time to popularize new version, get feedback and test capabilities of this fresh editor and eventually find the deeply hidden glitches.
Ok ok, I was just trying to get more time ;)
Well, I'll just loose a finger then, please do not cut my thumb.. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Nice bug.. GT2.04 xor'ed your wavetables with $80 after packing/relocating. If you redownload, it's fixed now. |
| |
carlsson
Registered: Nov 2002 Posts: 41 |
In a future update, would it be possible to make the wave, pulse and filter tables independent wrt. scrolling, so that you can scroll each table into the starting position of current instrument? Maybe even make the tables automatically center to the positions the currently displayed instrument uses? (ideas from SIDwinder)
Otherwise, nice program. I formatted the documentation as a MS Word document (15 pages excl. version history), if you would have any use of it besides the .txt version. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Can't promise that, considering orderlist & patterns don't scroll independently either. Ninjatracker had that but personally I thought it was messy. Best bet is to program it yourself. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
25hz-mode: - sounds absolutely cool!!!!!! - , and it is NOT useless!!!! :-O
- WE - will squeeze out 25hz mode to it's limits...., believe me ;)
|
| |
Ninja
Registered: Jan 2002 Posts: 404 |
cadaver: Glad you added the 25-Hz mode. I hoped that it was not more than 5 minutes of work for you. Hopefully someone (nata?) can put away your concerns about its usefulness ;)
About rasterbased effects: Music is always a pain in such effects, cause you usually can't determine the needed rastertime in advance. That counts for 25 and 50 Hz without no difference. :) But you could do something like playing music in one frame and using a sorting-algo for the effect, which needs a similar amount of time, in the next frame. I would not worry, that coders will find ways to use this extra cycles. Plus, there are non-rasterbased effects which also might be happy with a 2.5% speedup (roughly 1000 cycles / 2 frames). |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V2.05 out. Contains new instrument legato function, which has more flexibility than 300 (toneportamento legato) as you can control initialization of filter & pulse & ADSR. Can also be combined with 8XX to make legato arpeggio changes etc.
To use instrument legato, set Hardres/1stwave parameter to 00. This disables hardrestart,gateoff and first frame waveform setting. |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
thanks, Cadaver! The new Goattracker is so fucking r0xx0r I still can't believe it. The pulsetable and the possibility to change attack and decay on the fly really made my day :)
Keep up the awesome work!
I am with Hein btw, imho the compo deadline should be expanded a bit :)
Greetz |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
I detectet a problem with GT v2.04:
After Loading my Song for GTcompo
(made with v2.0 - v2.03) into v2.04 sound was Ok, but
after packing and listen in Sidplay2w and WinVice
I detected some Sound-bugs (In Editor Sound is OK)
One Bug I could find after listen in Sidplay2w:
It had this wavetable:
ADSR: 0071
81 C4
11 00
08 00
FF 00
... and in pattern instrument plays was like this:
c-6 01 000
c-6 01 5A0
c-6 01 000
c-6 01 5A0
Ok, in pre 2.04 packed/relocated versions sound was
fine but in 2.04 buggy.
My solution for this was to increase RELEASE to a higher value.
BUT there are still BUGS in my song, which I couldn't detect yet,
because inside GT Sound is always OK.
As far I can remember I had such problems even in old 1.52!!
It is possible to fix this in GT, in order that it doesn't hides anything?
Hope, I wrote undestandable. ;)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Try to pack your song with the gamemusic playroutine, it has buffered SID writes. Of course there's then the unutilized sound effect routine wasting memory, but you can't have all.. |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: lo,
thanks, Cadaver! The new Goattracker is so fucking r0xx0r I still can't believe it. The pulsetable and the possibility to change attack and decay on the fly really made my day :)
Keep up the awesome work!
I am with Hein btw, imho the compo deadline should be expanded a bit :)
Greetz
Finally someone who understands the pressure of being a sid musician.. Nevertheless, I've just started and am halfway with my tune, at least some satisfying sounds, the composition sucks..
Im also with Linus, the possibilities of the new Goattracker are great.. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
..ok, now you can also try to redownload v2.05 and it should not bug anymore in the example you used. Still, only by using gamemusic routine you ensure exact similarity of SID write timing between editor & playroutine :) |
| |
CreaMD
Registered: Dec 2001 Posts: 3035 |
Quote: Finally someone who understands the pressure of being a sid musician.. Nevertheless, I've just started and am halfway with my tune, at least some satisfying sounds, the composition sucks..
Im also with Linus, the possibilities of the new Goattracker are great..
I understand musicians very well.. the more time they have until the deadline.. the later they will start to compose ;-). |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: ..ok, now you can also try to redownload v2.05 and it should not bug anymore in the example you used. Still, only by using gamemusic routine you ensure exact similarity of SID write timing between editor & playroutine :)
Yepp, it works fine with gamemusic playroutine:
all "bugs" are vanished.
-> Thanks, Cadaver <-
Maybe it would be possible to have a "alternative"
standard playroutine with buffer?
Or I'm the only, with such problems? ;)
however; as you just said: "but you can't have all.."
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
So there still were bugs with new (redownloaded) 2.05 standard playroutine, or did you test?
I try to keep the amount of playroutines in minimum, and would rather encourage people to build custom players in GT if they wish. The gamemusic version is probably best for hacking as it has less specials (like "skip over authorinfo" in the packer/relocator) to consider.
For example, if you want truly optimized output you could strip the author info ($1020-$103f), it's just there because that's an unwritten scene rule :) Or you could strip the lowest octave of frequencytable if you don't use it, saving 24 bytes..
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: So there still were bugs with new (redownloaded) 2.05 standard playroutine, or did you test?
I try to keep the amount of playroutines in minimum, and would rather encourage people to build custom players in GT if they wish. The gamemusic version is probably best for hacking as it has less specials (like "skip over authorinfo" in the packer/relocator) to consider.
For example, if you want truly optimized output you could strip the author info ($1020-$103f), it's just there because that's an unwritten scene rule :) Or you could strip the lowest octave of frequencytable if you don't use it, saving 24 bytes..
Oh, I testet with 2.05 version I downloaded some hours ago...(with game-routine)...
I will test new 2.05 version... now |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I'm not saying GT should not be consistent with its SID timings, but generally (in any editor) it's probably not good idea to achieve silent pause-notes by high attack, that alternate with normal fast attack notes? These may weirdly interact with the nonzero hardrestart ADSR setting (zero HR ADSR is theoretically most reliable, but too hard for most uses...)
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, testet new re-downloaded 2.05:
with gamemusic-routine sound was and is
absolutely exact.
Standart-routine: now, another
(I think, the only) instrument is really buggy:
Example:
ADSR: 00A2
11 C4
80 DE
FF 00
set ADSR to 00A3 helps (standart-routine)to avoid
the buggy sound, but isn't same effect as 00A2 :/
however, from now on I'll take ALWAYS
gamemusic-routine - gives best results for me ;-)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Well, whatever, I didn't get any anomalies when I tested that instrument. Maybe I'm doing something wrong or you use some additional effect command :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Well, whatever, I didn't get any anomalies when I tested that instrument. Maybe I'm doing something wrong or you use some additional effect command :)
Hmmm, I only use Axy command on it. |
| |
Turtle Account closed
Registered: Jan 2002 Posts: 70 |
I tested nata's settings and encountered sporadic bugs, too. But I could resolve it by using the following wavetable:
11 C4
80 DE
08 00
FF 00
Turtle |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hmm.. Yeah, after some experiments I got the ADSR-bug too. Moved the ADSR-settings even farther away from reloading firstframe waveform (redownload if you wanna test) Now I hope I broke nothing in doing so :)
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Yepp, now I think ALL wavetables sounds Ok (standard-routine) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
A question: would you kill me if there was one "do nothing" frame at the end of pulse/filtermodulation-steps?
For example, 10 20 would modulate for 16 frames on speed $20, rest for one frame, and only then go to the next tablestep.
This would save 3 bytes of playroutine and max. 1 line of peak rastertime.
"Set pulse/filter" steps would of course execute just as before (no pauses)
(I'd rather not make it an option .. the players are complex enough as they are) |
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
:I
Only if download of the current version would be still possible. I'd personally not appreciate those changes - but I don't make tunes for demos (at least not yet). |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Never mind. I will just shuffle the code around to get the size down as I planned, but keep functionality as it was before.
(of course.. I don't think ears actually notice if pulse stops for one frame when changing direction, but that will be saved for my own inside-edition with some even sicker changes)
EDIT: v2.06 released. Now it allows 256-byte patterns and playroutines indeed are 3 bytes smaller with no ill effects. If no further fixing arises this shall more or less directly become v2.1 when I get the exampletune-suite.. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Btw. Randall, just out of interest.. are you already aware when & where exactly GT2 skips execution of what realtime effects (the manual explains this), and more to the point, are you able to hear it? :)
(it's most prominent with fast tempos ofcourse.. and yeah, it's probably for the best that any further skipping of pulse is not added)
|
| |
Hein
Registered: Apr 2004 Posts: 933 |
'different ways of using wavetables':
My intentional table:
00 41 00
01 01 01
02 01 00
03 01 00
04 ff 01
a smaller table:
00 41 00
01 01 01
02 03 00
03 ff 01
they sound a half note different, allthough theoretically they ought to sound the same. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmmmm, very strange!!!
Exactly for such problems I wish a (little) -> GT2-FORUM <-
Maybe on your homepage, Cadaver??
Yes, wavetables sound a half note different. I even testet in GT1 and there was the same problem... |
| |
Turtle Account closed
Registered: Jan 2002 Posts: 70 |
Quote: 'different ways of using wavetables':
My intentional table:
00 41 00
01 01 01
02 01 00
03 01 00
04 ff 01
a smaller table:
00 41 00
01 01 01
02 03 00
03 ff 01
they sound a half note different, allthough theoretically they ought to sound the same.
Hein, nata: The tables aren't the same!!
The first one raises the note for a half for one frame and then plays for two frames again the original note.
The second one raises the note for four frames and then plays the original note for one frame.
The Documentation says that it's the number of frames the execution of this wavetable row is delayed. So the row before the delay will be valid for the number of frames specified in the 'delay row'!
It's no bug.
Turtle |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: You ever heard the tune "First_25Hz_tune_half-speed.sid" by KB?
Hey, I've just found a Mozart tune by Hubbard which is 25hz.. its definately older than KB's tune.. :) And I think its not in HVSC too..
The Classic Demo |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: Hein, nata: The tables aren't the same!!
The first one raises the note for a half for one frame and then plays for two frames again the original note.
The second one raises the note for four frames and then plays the original note for one frame.
The Documentation says that it's the number of frames the execution of this wavetable row is delayed. So the row before the delay will be valid for the number of frames specified in the 'delay row'!
It's no bug.
Turtle
You are probably right, havent read the manual well enough..
but normally I use that first 01 as a two frame timer, not one (for the step programming, and to make the arpegios the same speed as the tune)
so in my book it would be 01 (2 frames) + 01 (2 frames) = 4 frames.. and 03 is also 4 frames |
| |
Yodelking
Registered: Apr 2002 Posts: 189 |
Quote: Hey, I've just found a Mozart tune by Hubbard which is 25hz.. its definately older than KB's tune.. :) And I think its not in HVSC too..
The Classic Demo
/Hubbard_Rob/Harvey_Smith_Show_Jumper.sid |
| |
Turtle Account closed
Registered: Jan 2002 Posts: 70 |
Quote: You are probably right, havent read the manual well enough..
but normally I use that first 01 as a two frame timer, not one (for the step programming, and to make the arpegios the same speed as the tune)
so in my book it would be 01 (2 frames) + 01 (2 frames) = 4 frames.. and 03 is also 4 frames
Yep, I disregarded my own argumentation.. Of course, 01 00 is two frames long....
In german we would say "klugscheissen" which means something like clever shitting.... |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: /Hubbard_Rob/Harvey_Smith_Show_Jumper.sid
Cool! I missed it when browsing his dir yesterday.. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Cadaver , are you sure latest version is working with hardsid? I'm trying to run GT2 with "fake hardsid" and it seems to not work. The problem might be with new hardsid support framework from hard software which requires newer DLL version but that's only my investigment (that's why new sidplay2/w is not working with that fake driver), the problem may be somewhere else. GT shows up with "cannot initialize sound driver" screen, while old sidplay for windows is just working fine.
_____
sorry for flase alarm, after restart GT also started to work properly , strange thing isn't it? (no it's just pc and window$ ;) ) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
I have a little problem:
It's possible to start with Bxy command
a filter without set a filtertable? (not Axy cmd)
I testet it together with Cxy command, but there was no audible output!?!?
So, isn't this command (Bxy) a bit "useless", or maybe I understand something wrong?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Nata: passband is probably still 0 (none) when you call the Bxy command. This as you noticed results in silence on the filtered channels. And yes, you need the table to set initial value of passband. Bxy is mainly useful for toying with the resonance, or easily turning off filtering (B00) |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Cadaver , how about "ripping of" that dosbox which actually is unnecesary and takes space on taskbar? if you use mingw then you only have to supply -mwindows while linking to get rid of it ;-) You're just like genie in a bottle ;-) hehehehe |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V2.07 out, contains that modification + some other editor fixes. Also saves PSID v2 NG specification PAL/NTSC, 6581/8580 flags now. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V2.08 out, adds finevibrato mode. Highest bit of vibrato speed/depth parameter gives fine control over the depth, but as a consequence you lose one bit from the speed nybble. It's by default on in singlespeed and off in multispeed, but can be reconfigured with the /V commandline option.
Of course, the kvlt way would be to have fully tablebased slide/vibrato, but that'd again be noticeably harder to use and make the songs bigger...
EDIT: optimized 10-14 cycles (per channel) from portamentos by finally eliminating the disgusting "makespeed" subroutine.. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
me & CreaMD discussed small thing - what do you think about adding info about (At least) currently selected sidchip in the top line (where goattracker vx.xx resides) , maybe speed multiplier and PAL/NTSC timing? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
That's an easy addition :) V2.09 just out and it's included.
Other changes:
- some more size & speedoptimization of playroutines (unleash.sng stays within $12 rasterlines now)
- added minimal playroutine
- Hardres/1stwave value $80 also acts as legato. Previously, it could be misused for weird gateoff+legato effect. I hope no-one actually used that :) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: V2.08 out, adds finevibrato mode. Highest bit of vibrato speed/depth parameter gives fine control over the depth, but as a consequence you lose one bit from the speed nybble. It's by default on in singlespeed and off in multispeed, but can be reconfigured with the /V commandline option.
Of course, the kvlt way would be to have fully tablebased slide/vibrato, but that'd again be noticeably harder to use and make the songs bigger...
EDIT: optimized 10-14 cycles (per channel) from portamentos by finally eliminating the disgusting "makespeed" subroutine..
Does that mean that vibrato gets multiplied on higher frequencies?? coz I still have to add track vibrato on high and low frequencies.. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No. And in case finevibrato bothers you remember it can be easily turned off (/V0 option) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
I just tried it, it doesnt bother me at all (because I havent used vibratospeed higher than 7 on 1-speed tunes at all)
I think its a good feature to get some extra nuances in the melodies.. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
possibly I found a bug or maybe I'm only just stupid:
if you use Bxy or filtertable equivalent then if you set 7 in y then sound just disappers , each combination of 2 channels or single channel works. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hmm, that doesn't sound like anything that's in my control (ie. some check I would deliberately insert to make the 3-channel combination bug) But it has to be checked when I get home... |
| |
Raf
Registered: Nov 2003 Posts: 343 |
real bug: when you press shift+esc to clear data , maximum length of pattern is up to 80 instead of 96 |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Supposed filterbug with 3 channels: just tested, couldn't reproduce.
Song-clear bug: Fixed, without incrementing versionnumber :) Got to wait for the compo-songpack now... |
| |
Raf
Registered: Nov 2003 Posts: 343 |
hmm.. so I'll test that stuff again and when I'll see something wrong then I'll supply you with SNG |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
1. If an instrument is saved, this could take the names from the instrument editor
2. and if song is saved, editor could ask too, because sometimes it happens that I open a song and afterwards I open again the directory (just for fun), but the song name has changed....This can cause an overwriting of the wrong song, if I save after work.
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Idea: GT executables (goattrk2.exe, mod2sng) and "sdl.dll" could
compressed with a executable-packer like upx
http://upx.sourceforge.net
without packing: goattrk2.exe = 316.416 Bytes
compressed with upx: goattrk2.exe = 84.992 Bytes)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V2.1 release candidate out. V2.1 itself will add the goatcompo-song pack and possibly any fixes discovered meanwhile. There is no confirm on song save (too luserish!) but it shows you the songname currently loaded in the titlebar to remind you. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: V2.1 release candidate out. V2.1 itself will add the goatcompo-song pack and possibly any fixes discovered meanwhile. There is no confirm on song save (too luserish!) but it shows you the songname currently loaded in the titlebar to remind you.
"but it shows you the songname currently loaded in the titlebar to remind you."
Yeah, this should be enough,
thanks |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Autodetect is hot, huh.. Why not include a sid autodetect in the player, which changes the filters to simular sounding setting.. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Well.. considering the variation even among same type sids, I doubt it's useful. Plus it adds clutter to the playroutine. Create own custom version if you want it.
And btw. how did you envision the filtersettings to converted? Something like $00-$ff cutoff range of the 8580 to be compressed to $80-$ff of the 6581 (inaccurate, but could be done with a few asm instructions) or a far more costly lookuptable?
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
What's about a customized playroutine,
that allows to compose tiny-SIDs (256/512k)?
Ok, people (with knowledge) could make their own
customized routine,but that is very unhandy.
Maybe GT2 playroutine could used for that?
Command line could used for disable/enable different GT-Feature
like Filter and all the other nice things in the playroutine ;)
Well, I don't know if this would work, but i simply had to ask that ;) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Tiny SIDs are handwritten for a reason (very featurestripped & optimized for the specific tune). Would require hell of a codegenerator, unless you'd be satisfied with 1982's style gamemusic. And no it's not simply a matter of turning on/off features, it's decisions like pattern/song dataformat, some effects hardcoded on channels etc.
(Kindly refer to any sourcecodes available from the tiny SID compo ... maybe you gain understanding to not make this request again :)) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
I would prefer a more readable "goattrk2.cfg" file, so I can change gt2 settings with this file, instead of command line... ;) |
| |
CreaMD
Registered: Dec 2001 Posts: 3035 |
Quote: I would prefer a more readable "goattrk2.cfg" file, so I can change gt2 settings with this file, instead of command line... ;)
me too. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
You can, just learn which parameter is which. :) At least, it's not binary...
Ah, and in case this stems from lack of willingness to use the commandprompt, I am not interested in helping (much)
Hmm.. maybe I can add some comment about the contents.. but it must be done in very raw way, no sophisticated file parsers for me |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: Well.. considering the variation even among same type sids, I doubt it's useful. Plus it adds clutter to the playroutine. Create own custom version if you want it.
And btw. how did you envision the filtersettings to converted? Something like $00-$ff cutoff range of the 8580 to be compressed to $80-$ff of the 6581 (inaccurate, but could be done with a few asm instructions) or a far more costly lookuptable?
Hum, I think you are right about the different 6581 models. If it only was for 6581 and 8580 ReSid models, it would be less difficult.
In my opinion, based on resid settings, and using my ears, the 6581 has a more linear filter, where 8580 has a more parabolic filter. But thats only simplistic comparison.
A memoryunfriendly lookup table would be needed, yes.
I think #$80 in 8580 is the highest hearable, where #$ff is 6581 highest hearable valuable.
I guess it's the challenge for a musician to create sids that sound ok on all sidmodels. |
| |
CreaMD
Registered: Dec 2001 Posts: 3035 |
Quote: You can, just learn which parameter is which. :) At least, it's not binary...
Ah, and in case this stems from lack of willingness to use the commandprompt, I am not interested in helping (much)
Hmm.. maybe I can add some comment about the contents.. but it must be done in very raw way, no sophisticated file parsers for me
comments about which byte is which (in readme... or even better - directly in the config file) would be okay. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Request has been fulfilled, if you redownload v2.1 RC it saves a luser-readable/editable configfile upon exiting. Though, the sourcecode already told clearly which parameter is which :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Updated the RC again with combinations of 3 playroutine optimizations:
- All instruments have HR, same gatetimer & firstwave (was already there)
- There is no funktempo used
- Octave 0 isn't used
As before, here's for hoping I fucked up nothing while doing this... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
If an instrument is cut out and is then inserted in another number, the number also could change in the Patterns.
Sometimes this would save a lot of work if one liked to fit together different instruments to groups: Arpeggios to the arpeggios, different drums to the drums.
Example:
01 C 2 01
02 C 3 01
03 --- 00
04 D 5 01
05 --- 01
After insert instrument 1 into 2:
Example:
01 C 2 02
02 C 3 02
03 --- 00
04 D 5 02
05 --- 02
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hmm.. before doing that, it would have to be ensured that every user in every situation would want that to happen. So.. any counterexamples?
At least one: you want to save instrument 1 for later use, but it isn't suitable for the current part. So you cut & paste instrument 1 to 2, and overwrite instrument 1 by loading. Now you wouldn't want that to happen. |
| |
Puterman Account closed
Registered: Jan 2002 Posts: 188 |
IMO tools shouldn't try to be too clever, but I don't even use Goattracker, so I should probably shut up anyway. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Hmm.. before doing that, it would have to be ensured that every user in every situation would want that to happen. So.. any counterexamples?
At least one: you want to save instrument 1 for later use, but it isn't suitable for the current part. So you cut & paste instrument 1 to 2, and overwrite instrument 1 by loading. Now you wouldn't want that to happen.
Ok, maybe it could be used another Key instead of SHIFT+X,C,V
-------
Other topic: pulse table
Sure, pulse table is really powerful! It is not a problem to make very wired pulse settings, but I find it very difficult to make the simple ones - like in GT1.x. ;..(
Therefore I used GT1.x for making pulse settings, but it's quite uncomfortable...
My question: would it possible to add again a "pulse limit min/max"?
Pulse width and speed will be set in table like usual, but a special number/letter activates the simple mode:
84 00
11 50
00 0S
FF 00
S = activates simple mode in pulsetable
and parameters can be set by:
p. lmt. max. 40
p. lmt. max. 80
.. I would be glad to have that feature, since it allows to change pulse speed settings in a very fast way, without any "glitches"... ;)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Your idea is much too complicated for my taste. Furthermore your example doesn't show where the values $40 and $80 go. If as instrument parameters instead of going into the table, would you really want another total change of songdataformat just for that?
However, I did it another way in V2.11, which was just released. You enter pulse/filter steps like <limit,speed> and then press SHIFT+L over each of them to convert them to timebased. In the process they may expand to several steps but this doesn't matter :)
Also adds SHIFT+S for the instrument number conversion during instruments cut/paste ("smartpaste", or shitpaste)
Now, I hope you shut up for a long time ;) |
| |
carlsson
Registered: Nov 2002 Posts: 41 |
OctaMED (another Finnish quality product) has among its transpose options also a function for swapping instruments: src and dest, either replace or swap. I would believe a new function (yay!) like that would make more sense than automagic replacement when you copy/paste an instrument. Or the automagic should be possible to toggle. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Your idea is much too complicated for my taste. Furthermore your example doesn't show where the values $40 and $80 go. If as instrument parameters instead of going into the table, would you really want another total change of songdataformat just for that?
However, I did it another way in V2.11, which was just released. You enter pulse/filter steps like <limit,speed> and then press SHIFT+L over each of them to convert them to timebased. In the process they may expand to several steps but this doesn't matter :)
Also adds SHIFT+S for the instrument number conversion during instruments cut/paste ("smartpaste", or shitpaste)
Now, I hope you shut up for a long time ;)
Yeahhhhhhh!!!! , your solution was better than mine. PERFECT!!! :)
It works really fine - now there isn't anything more what I miss, I hope. :D
Cadaver, the more "features" you will implement now, the less mails you will get afterwards with lame requests (from me and others). ;P
I think, it's always good to add some useful features that make it easier to handle the tracker. There is no reason for not doing it, since a PC isn't limited like a c64.
----
Btw.
Wired, recently I found on the net "RASTER Music Tracker" http://raster.atari.org
It's a Tracker for Atari XE/XL sounds but has a proper GUI and a lot of features...
|
| |
Raf
Registered: Nov 2003 Posts: 343 |
yeah , sometling like GOAT TRACKER for atari ;-) seen it few month ago fo first time but I must admit I like goat better. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
@Cadaver
Hmmm, I detected again these very ugly ADSR-Bugs in one of my test-tunes.
Inside GT you won't hear anything ;.........(
If we had a alternative Standard-routine (with a modified Gamemusic-routine + Buffer)...... this would solve all problems.
I think, it's really not the best to use the normal Gammusic-routine within Demos and other stuff, since there is required only the buffer?!
I hope, that my permanent wishes aren't too inconvenient :)
PS: test-example tune already mailed :)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I will look into it, and probably tweak the playroutines again if it's possible, but please note that whenever you make an instrument that is prone to ADSR-bugging (relies on strict SID write timing) you are generally treading on unsafe ground. Sometimes even the editor itself bugs when playing some of your test-instruments in the jammode, not to mention HardSID output. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Bah, V2.12 out with playroutine 1 having buffered writes. From now on, routine 4 must be used for all low-rastertime demands (it is still unbuffered) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Bah, V2.12 out with playroutine 1 having buffered writes. From now on, routine 4 must be used for all low-rastertime demands (it is still unbuffered)
Many thanks Cadaver!!!!! |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
To be honest, I was disgusted by the rastertime the buffered standard player took. So, in V2.13 (out now) there are both buffered & unbuffered flavors. Unbuffered is of course the default :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi, it's me... (again)... :-)
In the readme is written:
"Alternatively, you can enter pulse/filter modulation steps in limit-based
format,...."
Hmm, it seems that SHIFT+L doesn't work in the filter table - or did I something wrong? Ok, it's not so important that the "limit-based" foramt works in filter table too.
Btw: Now, maybe a stupid question:
What happens if X in mastervolume command is not $0?
What is that timing mark loacation, why it is useful?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Shift+L does work in filtertable, BUT just like in the pulsetable, it must be able to backwards-follow the table to a "set cutoff" command to determine where it's starting from! As far as I remember, it can't backwards-follow jumps.
Timing mark is player offset + $3F (last byte of authorinfo). May be useful for demos. Use it when requested by coders, otherwise leave alone :) If X is >0 in mastervolume command, it will be interpreted as timingmark. |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
still one question left :)
How can I use funktempo in multispeed tunes (e.g. 4x-speed)?
Like if I wanna alternate between tempos $22 and $1e? The EXY
command is not very useful in that case since it's range is obviously limited ($3 to $f).
I wouldn't want to write F22,F1E,F22,F1E ... since it takes space for other commands.
Is there any solution?
Greetz,
Linus |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
You could hack the funktempo setting command from gplay.c so that it shifts the tempos left a couple of bits, and also hack the ASM player code you're using (most likely player1.s) similarly, then keep the GOATTRK2.EXE (selfcontains the player code, so no problems) produced this way under a different name or something... |
| |
CreaMD
Registered: Dec 2001 Posts: 3035 |
Timing mark is good to hard-synchronise demo effects to music. You can e.g. synchronise some blinking to drumbeat use timng mark to launch different demo effects (demo-parts) according to music changes.
In past I had a deme-recorder tool where (while the music was playing) I could launch and disable demo effects by pressing keyboard keys (0-9, shift + 0-9) and all these actions were recorded and then could be replayed anytime. It was quite stupid idea. I thought it will give me jamming-freedom to make some cool demo, but instead it was quite hard to sync anything as it needed perfect reactions and a lot of restarting. It's much better to create music and place the "marks" into the music tracks... and make the demo which scans the timing mark value and launches effects and parts of the demo according to them. Perfect timing. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmmm I detected something strange in version 2.13
If you play phobos.sng in tracker, instrument 4 sounds totally wrong!
Outside GT the song sounds like in 2.12 (unbuffered/buffered)
It seems that ADSR settings with A=1 aren't playable anymore correct in Editor, but outside it seems to be Ok.
Well, here my cfg. settings:
;reSID buffer length (in milliseconds)
100
;reSID interpolation (0 = off, 1 = on)
1
|
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
@Cadaver: Well, -I- can't :)
Greetz |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
nata: have no idea what caused the bug. Nothing was changed in the code, but I recompiled everything and it seemed to go away. You can redownload now. (btw. options like buffersize or interpolation can never cause ADSR-bugs, 'cos they don't affect the internal timing of SID writes etc.)
linus: recruit a friendly codeslave from somewhere. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Shift+L does work in filtertable, BUT just like in the pulsetable, it must be able to backwards-follow the table to a "set cutoff" command to determine where it's starting from! As far as I remember, it can't backwards-follow jumps.
Timing mark is player offset + $3F (last byte of authorinfo). May be useful for demos. Use it when requested by coders, otherwise leave alone :) If X is >0 in mastervolume command, it will be interpreted as timingmark.
Oops, I always forgot to set a cutoff :-)
Timing mark: really nice feature! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi,
"TABLE EXECUTION OVERFLOWS! PRESS Y TO GO ON ANYWAY"
Hmm, I have just startet a new song and can't imagine why this message shows up?!
There are only a few simple instruments/filter and pulse settings in my song, but the Tables are 552 bytes!!
What happens if I save anyway?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
You can save your song of course, but somewhere there's an endjump missing from your table, or a pattern/instrument table pointer pointing to nowhere and therefore it grows unnecessarily (as the whole table gets used...) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: You can save your song of course, but somewhere there's an endjump missing from your table, or a pattern/instrument table pointer pointing to nowhere and therefore it grows unnecessarily (as the whole table gets used...)
Thanks for the info, Cadaver!
I will re-check my tables. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Would it be possible to code a new "SHIFT+" key, one that allows to invert the pattern content?
This could be useful by creating complex volume settings (fade outs) etc,
or even invert a melodie line...
example:
c-2 1 5A0
c-5 5 6F6
c#3 2 666
... . ...
inverted
c#3 2 666
c-5 5 6F6
c-2 1 5A0
... . ...
Just a thought: this feature could invert a well known song in some minutes...
... and you have a new one ;-)
|
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
> Just a thought: this feature could invert a well known
> song in some minutes...
> ... and you have a new one ;-)
Some guys already have the Randomizer plugin for Goat Tracker (Dalezy knows), do they need the Inverter plugin as well? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Actual coding of simple feature such as that is always easy, but the required docs/online help/website/etc. updates are a serious pain in the ass. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: > Just a thought: this feature could invert a well known
> song in some minutes...
> ... and you have a new one ;-)
Some guys already have the Randomizer plugin for Goat Tracker (Dalezy knows), do they need the Inverter plugin as well?
Hmm, Plugin? :-) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Actual coding of simple feature such as that is always easy, but the required docs/online help/website/etc. updates are a serious pain in the ass.
Yes, you are right Cadaver. ...
I always wondering how good you manage such things :-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Updated. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
In a few cases even the buffer can't help :)
Example:
ADSR settings like 00F1
and pattern commands 5Cy....
table:
80 DE
80 DE
or
81 DE
80 DE
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Simple: don't use ADSR-values that bug. Usually very short release is asking for trouble. |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
Quote: > Just a thought: this feature could invert a well known
> song in some minutes...
> ... and you have a new one ;-)
Some guys already have the Randomizer plugin for Goat Tracker (Dalezy knows), do they need the Inverter plugin as well?
langel janson l. bookbinder esq. IX still has to send that one to me. =) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Simple: don't use ADSR-values that bug. Usually very short release is asking for trouble.
Yes, I have done this in that way, BUT the main problem is that such bugs only will recognized if song is testet outside GT (in your test-player and others on c64) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: langel janson l. bookbinder esq. IX still has to send that one to me. =)
Hmm, what's that randomizer plugin for GT? :-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
In theory the timing & order of SID writes is now exactly same in buffered player and the editor.
I usually get bugs with "dangerous" instruments when inserting notes in the editor, so that could be some indication. Also you could test slightly changed ADSR-hardrestart parameter and see if it brings out some bugs.
Btw. I tested both those instruments and they didn't bug with standard buffered routine. Though I don't know how the 5CY command fits into the picture because if you have attack C, the whole sound becomes inaudible. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
It was something like this:
c-1 05 000
c-1 05 5b0
c-1 05 000
c-1 05 5c0
Speed is F05
ADSR: 00B1
Table:
80 DE
80 DE
FF 00
Now I already debugged the song :-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Still no bugs with latest exe and buffered playroutine (also tried full sustain and the second variation of the wavetable) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Still no bugs with latest exe and buffered playroutine (also tried full sustain and the second variation of the wavetable)
Ops, maybe my sound Buffes size in VICE was to low (100ms), or something other. I can't remember wat I did, but now it works again... :)
I will release this song in some days/weeks here on csdb. So people out there can hunt for bugs. :)
Btw.
What you think about the idea to implement a kind of siddump in GT2?.
Just press a button and switch to the "dump-mode" to get more control over
the tune witch is currently loaded. The "dump-mode" is not a alternative editor but a viewer. So you not only can see what happens at ONE pattern-line, but the frames...
Maybe this could be useful, for creating some nifty and experimental tunes... or something between :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Personally, I prefer people using their ears & emotion instead of staring at hex-output.
Plus you would be disappointed when you see GT2 playroutine skipping realtime effects on certain frames (it's unhearable and doesn't really matter, but in a siddump it's certainly visible & kind of disgusting)
And no.. there won't be "no-realtime-effect-skip" option, unless you get some other codeslave to implement it. :)
Btw. WinVICE sound buffer size does not cause ADSR bugs (unless you perceive an audio output artifact as one) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Personally, I prefer people using their ears & emotion instead of staring at hex-output.
Plus you would be disappointed when you see GT2 playroutine skipping realtime effects on certain frames (it's unhearable and doesn't really matter, but in a siddump it's certainly visible & kind of disgusting)
And no.. there won't be "no-realtime-effect-skip" option, unless you get some other codeslave to implement it. :)
Btw. WinVICE sound buffer size does not cause ADSR bugs (unless you perceive an audio output artifact as one)
Haaa, I have expected such an answer :-)
Nevertheless, I find my idea behind wasn't really bad... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Technical question:
Does GT2 need a OS (Linux/Windows) to run?
If possible (and if I find a coder) GT2 could be made bootable from a CD, Floppy Disk, or wathever...
In this way the tool could be started in no time, without behind a disturbing Windows or Linux)
There are some advantages:
1. Will run on every todays PC, without recompiling.
2. It could be used a very cheap and simple PC to run GT2 (even a hard-drive is optional)....
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
What would you guess? :)
GT2 most definitely does not contain lowlevel floppy/harddisk routines, own filesystem, soundcard drivers for every soundcard imaginable etc.
OK, if you mean booting from raw DOS (hey... it's an OS too!), it doesn't work either, because the SDL (Simple Directmedia Layer) library doesn't exist as a DOS version. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, then it's probably too much work... :(
My idea was booting GT directly, without Windows (Dos) or wathever....like on the good old c64 :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
At least I wouldn't want a crappy musiceditor screwing my harddisk data directly :)
To be usable, it would need to know FAT16/32, NTFS (which even Linux refuses to support properly the last I remember) + the different Linux filesystems, support maybe USB memorysticks etc.
There's a reason OS'es exist, you know :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, you have convinced me ): |
| |
Puterman Account closed
Registered: Jan 2002 Posts: 188 |
You could make a bootable floppy/CD with Linux + goattracker. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: You could make a bootable floppy/CD with Linux + goattracker.
How does this work? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Personally, I prefer people using their ears & emotion instead of staring at hex-output.
Plus you would be disappointed when you see GT2 playroutine skipping realtime effects on certain frames (it's unhearable and doesn't really matter, but in a siddump it's certainly visible & kind of disgusting)
And no.. there won't be "no-realtime-effect-skip" option, unless you get some other codeslave to implement it. :)
Btw. WinVICE sound buffer size does not cause ADSR bugs (unless you perceive an audio output artifact as one)
Another day, another try:
I love staring at hex-output. :)
As I just said, this feature would give a lot more
of control - even if nothing is in realtime (like siddump)
My thoughts were: If I'm (for example) on pattern 1,2,3,
then it is possible to press a button to switch to a dump mode,
that shows everything (pattern 1,2,3,). BUT: in this mode I can't edit or
play the pattern - this feature is really not necessary.
Some advantages of this mode.
- bether control over GT's time-based filter/pulse settings
- wavetables: you can see the note (c-3..), not only A3,DF...
- best control over creating and MANAGE ultra special effects :)
.... and so on....
Cadaver, I don't want to force you to implement this feature if you
not want - it is your player. Also, I wouldn't like to stop you from
other more important things. (like work) :>
I think, not many people have so much knowledge as you - with GT1/2 you
made a big and useful tool :O
Btw: Now I'm testing around with some oldskool techniques,
but there is a problem:
All, my instruments (bass, arp, drums,..) doesn't use hardrestart.
I seems that GT (even fi song is packed) doesn't plays such songs (everything is
mute)
Isn't it enough if I set a gate on?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Ok, keep dreaming on about that feature :)
If all your instruments have 1stwave/HR parameter $00, that means they're *legato instruments* and won't have gateoff & proper noteinit. Legato instruments are only meant for lead passages etc. where there is first a note started with a normal instrument, then some tie-note stuff follows (a substitute for 300 command)
To just disable hardrestart, you should use highbit set in the 1stwave/HR parameter, for example $89 or $81. The actual waveform used is then 1stwave/HR AND $7f, leaving the high bit off...
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Ok, keep dreaming on about that feature :)
If all your instruments have 1stwave/HR parameter $00, that means they're *legato instruments* and won't have gateoff & proper noteinit. Legato instruments are only meant for lead passages etc. where there is first a note started with a normal instrument, then some tie-note stuff follows (a substitute for 300 command)
To just disable hardrestart, you should use highbit set in the 1stwave/HR parameter, for example $89 or $81. The actual waveform used is then 1stwave/HR AND $7f, leaving the high bit off...
Yes, I will keep dreaming :)
.... and thanks for your help. I will test that soon. :-O
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
It's possible to implement in one of the next updates a short message that shows if a *.sng file is write-protected? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V2.16 is out. There is no message, but the save dialog comes up again if there was no write permission (save failed) |
| |
Tim Account closed
Registered: Mar 2002 Posts: 467 |
hi short question,
was checking out goattracker last weekend and was wondering if there is a good general explenation/doc file available for this player?
Up till now i've only used dmc and haven't composed since 1998 or so, so it would be nice to be able to do a little something again ;)
cheers
Bordeaux/Active
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
There is readme.txt in the root dir of GT package, did you already check it out? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Thank you Cadaver, it works fine. :O
---
Other topic:
I think something is missing :-)
It is possible to play a pulse-instrument like this:
c-2 01 000
d#2 01 000
g-2 01 000
... .. ...
...where the notes are startet like always (hardrestart)
but the pulse keeps on "sliding" (from the first instrument)
I tried to use even the legato feature, but...
but maybe I'm blind? :P
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Create 2 instruments, where the latter has pulse startpos $00 (keep it unchanged), then use this latter instrument for all notes after the first. The MW4 loader tune example (funktest.sng) does this.
Btw. do not try to use the legato feature for wrong purposes or you get crappy sound :) Legato disables hardrestart/gateoff and 1st frame waveform initialisation, nothing else. As always dutiful RTFM'ing tells you this... |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
or simply use one instrument with no pulsetable pointer ($00) and use the pulsetable pointer command (9XX) in the pattern.
greetz |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Oops , I always missed to set the second instruments "Pulsetable Pos" to zero. :) |
| |
Tim Account closed
Registered: Mar 2002 Posts: 467 |
hey Cadaver,
your not going to believe it, but NO, i did not check the txt file.. thanks for pointing out the obvious ;)
Well, on the bright side..
up till now i did not think the name "cadaver" really inviting enough to check out that dir..
Been playing your tracks most part of yesterday and today and really enjoying myself, cool stuff!
cheers
Bordeaux
|
| |
CreaMD
Registered: Dec 2001 Posts: 3035 |
Quote: hi short question,
was checking out goattracker last weekend and was wondering if there is a good general explenation/doc file available for this player?
Up till now i've only used dmc and haven't composed since 1998 or so, so it would be nice to be able to do a little something again ;)
cheers
Bordeaux/Active
You can even switch to DMC piano layout in comandline parameters when launching GT2. I think if you are used to it you might find it useful (as I did) ;-) |
| |
Tim Account closed
Registered: Mar 2002 Posts: 467 |
Quote: You can even switch to DMC piano layout in comandline parameters when launching GT2. I think if you are used to it you might find it useful (as I did) ;-)
YES! found that reading through the txt file, but thank you for the good tip -> it makes life that much easier indeed!
last question..
is there a 'sounds-pack' available somewhere?
Or possibly someone willing to send me a bunch of sounds?
I'm terrible in doing those myself (which always ends up in me frustratingly smashing joysticks somehow.. hehe).
|
| |
CreaMD
Registered: Dec 2001 Posts: 3035 |
Quote: YES! found that reading through the txt file, but thank you for the good tip -> it makes life that much easier indeed!
last question..
is there a 'sounds-pack' available somewhere?
Or possibly someone willing to send me a bunch of sounds?
I'm terrible in doing those myself (which always ends up in me frustratingly smashing joysticks somehow.. hehe).
yes there is. ;-) Me and Cadaver organised a GT2 compo at c64.sk few months ago for this purpose. There is a bunch of neat demotunes (SNG) by various authors in /examples directory. Just check'em
roman |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
I think I found a serious problem :-(
I recognized the problem already some months ago,
but I was not completely sure why it happens.
Example:
On the first channel runs a nice bass-line...
I have to use (for example) the Axy command to filter it,
because the bass needs some special fiters :-)
BUT: On channel 1 I have already some other effects (Fxy, 5xy etc.),
so I have to switch to channel 2 (or 3) because there aren't any
other effect-(cmd's).
Ok, on channel 2 there are some drums & a sweeping
pulse-instrument + VIBRATO (instrument vib.)
and what happends if I use the Axy-cmd's on channel 2 or 3?
The channel's 1 bass is filtered quite fine,
but the instrument-vibrato-effect (channel 2) goes lost.
I didn't found time to test other situations,
but I know this happens even with other effects (Fxy)
If I set it on the "right"-channel (in my example this would be ch.1)
everything is ok, but this isn't always possible.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Fixed, download V2.17. (technical explanation: instrument vibrato required at least one effect row of 0xx to initialize, but now initialization happens always at note init) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmm, octave selection with / * doesn't work (numeric keyboard)
anymore on my standard keyboard (german layout)
Ok, only the "*" button works and for "/" I have to press SHIFT+"#". :-/
This V-E-R-Y uncomfortable and I hope that is only a bug. :-)
--------
Btw. Is there any possibility to select the gate-bit without any waveform?
I saw that the frequence-values between $60-7F aren't used.......
Example:
41 00
01 7F (freq-value "7F" activates gate-bit only "01")
07 00 (as usual: wavetable delay)
21 00
00 7F (gate-bit will be cleared)
FF 00
However, just an idea - sure not possible without re-writing the sng-format :-P
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Should be fixed now. Never underestimate how evil SDL is...
Your example is IMO pointless, if you are working within the wavetable you probably know what waveform you want when selecting gateon/off. (*) However, it would only increase rastertime & memory use, not need songformat rewrite.
(*) Exception would be if you have some huge arpeggios which need gateon/off in them, and these are used from different instruments with different base waveforms. Then it would actually benefit song memory use. But I doubt anyone is that crazy, as huge arpeggios often imply long notes, and their gateon/off is easily controlled from the patterns. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Sure? More rastertime & memory usage? :-(
Ok, my idea has something do to with arpeggios (or whatever you like)
If I am not completely wrong the gate-bit could be used for creating echo-like effects. :-O
It's not a good idea to use the test-bit for such things - then you will hear ugly clicks (especially with the trianlge waverform)
example:
ADSR: 00FB
11 00
00 03
00 07
01 7F (just look yourself how it sounds if you set "08 00" instead "01 7F")
06 00 (.. will be delayed)
FF 01 (now you can use the gate-off cmd in the pattern-editor)
You already can use this trick in
the pattern editor, but there it isn't really useful.
c-4 01 000
d#4 01 000
g-4 01 000
--- -- 701
c-4 01 000
d#4 01 000
g-4 01 000
--- -- 701
c-4 01 000
d#4 01 000
g-4 01 000
--- -- 701
but however... |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Just set the whole waveform value as it is, and duplicate the arpeggio for different waveforms :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Just set the whole waveform value as it is, and duplicate the arpeggio for different waveforms :)
Is that the same? The gate-bit shall "mute" the channel. :-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Aha, interesting, it seems I've misunderstood your request the whole time. I thought you wanted a way to control the gatebit (without changing waveform type) within wavetable :)
Oh well...
Very easy way to implement it would be to change the delay to use only values $01-$05 (max. 6 frames delay), then waveforms $06 and $07 could be used for "no waveform" (I think sync/ringmod bits on should cause no ill effect) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
;-)
As far I know even Tim Follin used the gate-bit only. Example: Ghouls 'n' Ghosts (subtune 9) |
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
I have been using it too when fiddling with Odin Tracker (does anyone remember?). That would really be useful, but not at the cost of $5 frames delay limit, I think. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
if 6, 7.. will be used for this, then some songs have to be adjusted :-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V2.18 out. I did this in most straightforward fashion that only adds 2 cycles per channel & 2 bytes to playroutine, but old songs using values $08-$0F have to be manually converted (yes, it's a bit fascistic but I don't like having duplicate values in wavetable meaning the same thing). As a bonus, you get longer delays.
The new meaning of wavetable left side:
$00-$0F Delay for 1-15 frames
$10-$DF Usual waveforms
$E0-$EF Inaudible waveforms (reg.values $00-$0F)
$FF Jump (as usual)
If you previously had testbit with values $08 or $09, those would be $E8 & $E9 now. |
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
> As a bonus, you get longer delays.
That's not a bonus, that's a significant improvement. Slow arps in multispeeds without sacrificing half of the wavetable - at last *hugs Lasse* |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: V2.18 out. I did this in most straightforward fashion that only adds 2 cycles per channel & 2 bytes to playroutine, but old songs using values $08-$0F have to be manually converted (yes, it's a bit fascistic but I don't like having duplicate values in wavetable meaning the same thing). As a bonus, you get longer delays.
The new meaning of wavetable left side:
$00-$0F Delay for 1-15 frames
$10-$DF Usual waveforms
$E0-$EF Inaudible waveforms (reg.values $00-$0F)
$FF Jump (as usual)
If you previously had testbit with values $08 or $09, those would be $E8 & $E9 now.
Hoho, 1-F delay is really cool!
Thanks, thanks, Cadaver - Everything works fine. :-o
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Hoho, 1-F delay is really cool!
Thanks, thanks, Cadaver - Everything works fine. :-o
Cadaver, you ever thought about to port GT2 to c64? :-)
I saw that there is no as good/comfortable player for c64.
All of them are unnecessary complex or have a lot of disadvantages
Asterion Sid-Tracker V1.0: There is too much on the screen...
CyberTracker 1.01: High rastertime usage. Wavetable creation is unhandy.
File size too big.
Odin Tracker 1.13. IMO not as advanced as GT2. High rastertime usage,
no different Hardestart-settings (?)
The interface of GT2 v.c64 could/would look like this:
http://rapidshare.de/files/7943519/GT2_c64_interface.zip.html
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yes I have thought of it but it would be quite crippled. For example 128 patterns unpacked would already eat 32KB of memory and that's if they're at the default length of 64. And the editor is by now so complex that it would no doubt eat quite a bit of memory too. Plus I'd have another version/update-hell on my hands...
Your interface is nice btw. But the hellish interface I envisioned would put everything in one screen :) |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
Just make it use the REU or the AR/RR RAM then! Come on, a composer who wants it all will definitely have one of the above solutions, or just buy it when needed. ;-) |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
I second that! :)
Greetz,
Linus/Viruz |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Yes I have thought of it but it would be quite crippled. For example 128 patterns unpacked would already eat 32KB of memory and that's if they're at the default length of 64. And the editor is by now so complex that it would no doubt eat quite a bit of memory too. Plus I'd have another version/update-hell on my hands...
Your interface is nice btw. But the hellish interface I envisioned would put everything in one screen :)
Everything on one screen? I'm not sure, but I think that this would be very uncomfortable. I would put the instrument-editor + tables on the second screen, because people usually make their instruments first and afterwards they edit the patterns and orderlist.
... something with the mmc64 could/would be cool. :-) |
| |
Twynn Account closed
Registered: Nov 2005 Posts: 9 |
Quote: Yes I have thought of it but it would be quite crippled. For example 128 patterns unpacked would already eat 32KB of memory and that's if they're at the default length of 64. And the editor is by now so complex that it would no doubt eat quite a bit of memory too. Plus I'd have another version/update-hell on my hands...
Your interface is nice btw. But the hellish interface I envisioned would put everything in one screen :)
Hmm.. This means you use 4 bytes for each position in a patern?
It should be possible to put 256 or even 512 unpacked paterns in 32KB + 1 or 2 KB extra when using pointers to that 4-byte combination.
But I can imagine that it is another tough job to keep things updated. I tried my own editor years ago but never finished it. Memory was one of the problems..
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hmm, I would absolutely refuse to rely on any kind of extra memory.. And by the way doing stuff you have zero personal need for no compensation is not good for sanity :) |
| |
Mihai
Registered: Feb 2002 Posts: 29 |
you guys! let Cadaver work on the game too :P |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi,
little problem:
Why the following thing does not work?
channel 1: plays a melody & the filter-setting is
in the instrument (no filter-loop like "FF 01")
I want to use the Bxy command to filter temporary channel 1+2 (BF3),
but this does not work (even it is on the "right" channel)
Shouldn't the Bxy cmd overwrite the instrument-settings?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
The order of execution on each frame is:
- Execute filtertable
- Execute channels 1-3 & their commands
The pattern command Bxx gets executed on the note initframe. Also at same time the filtertable-pointer is set, so that it will be executed next frame. So on next frame, the value set by Bxx will be overwritten by the filtertable program (if it has a "set parameters"-step, that is)
This behaviour cannot be changed in any sensible way. But you can do an alternate filtertableprogram which jumps back to original tableprogram after setting the alternate parameters, and activate it using Axx command.
Btw. the manual doesn't say anywhere that Bxx would override anything. Imagining things isn't healthy, by now all player "features" work just as they're supposed to :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Yes I have thought of it but it would be quite crippled. For example 128 patterns unpacked would already eat 32KB of memory and that's if they're at the default length of 64. And the editor is by now so complex that it would no doubt eat quite a bit of memory too. Plus I'd have another version/update-hell on my hands...
Your interface is nice btw. But the hellish interface I envisioned would put everything in one screen :)
Let it say me so: It would be a challenge to port your MAGIC player to c64. :-O
The power of GT was always that it is v-e-r-y userfriendly - something that is quite rare on the real machine.
Sure, available memory is a problem - but can be solved:
just limit wave/pulse/filter-tables, orderlist, insruments and move the packer outside - then enough memory should be left for an accurate/userfriendly port.
It even could help to use the standard playroutine only (Buffered/unbuffered) and limit multi-speed-songs. :-)
A c64-GT does not require "daily" updates at all. I think if the c64-release would have GT2 v2.18 status, then e-v-e-r-y-b-o-d-y will be happy for the next 10 years.
Just today I was looking through the HVMEC and I was really shocked about the most players:
I'm not sure what programmers think, but it must be something like this: "Which kind of difficulties I can create, in order to make the composers life much difficult?"
It's really not satisfying to enter tons of useless commands in order to get any Sound.
That's why I use GT2: It has a intuitive interface, really "clever" keyboard commands and it overtakes all necessary steps that makes the composers life easier.
In fact GT2 only has an ORDERLIST, INSTRUMENT-editor, a WAVE/PULSE/FILTER-table and a PATTERN-editor with powerful EFFECTS :-)
The most C64-CODERS forgot, that a composer WANT to hear the sound he is entering.
I think something like this shouldn't be a special feature, but obvious.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hearing sound on note-entry depends on architecture of player. Maybe most didn't want to (partially) rewrite it just for that :)
Remember, C64's keyboard is severely limited compared to PC, so there goes the "easy" interface... just think of the cursors for example. To get an idea of the possible comfort level you could try Ninjatracker on a real C64. Of course it has more sadistic pattern & tabledata but you get the basic idea.
Everything is a matter of preference, you obviously (like me as well) have a background in trackers, but for several excellent composers for example JCH or DMC system is greatly preferred and tracker system is inferior. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
if 64 is too limited , how about GT128? ;-) ofcourse using VDC's 80x25 and full 128k internal memo :P |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yes please, the GPL perfectly allows you to do that. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Yes please, the GPL perfectly allows you to do that.
... and I really wonder why I never saw a hacked GT around the net :-P
I think that the most people use the GPL "feature" just for minimal code changes......
BUT, if I had any knowledge I would code that little PWM & $D418 digi-player
that runs fine with GT - even I do not like digis really much. :-)
You can be sure that people would rediscover the possibilities of 3+1 tunes by composing again tons of music.
@Raf
Just a few people have a c128 and are composers :-) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
What is 'TABLE EXECUTION OVERFLOWS' ? |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Quote: ... and I really wonder why I never saw a hacked GT around the net :-P
I think that the most people use the GPL "feature" just for minimal code changes......
BUT, if I had any knowledge I would code that little PWM & $D418 digi-player
that runs fine with GT - even I do not like digis really much. :-)
You can be sure that people would rediscover the possibilities of 3+1 tunes by composing again tons of music.
@Raf
Just a few people have a c128 and are composers :-)
I'm a lucky owner of two 128s (128 '86 and 128Dcr '88) ... both gained this year. what a wonderful celebration of 128's 20th anniversary! |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hein: missing endjump from wave/pulse/filterprogram, or you use a pattern command to direct wave/pulse/filter execution to nothingness... |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: Hein: missing endjump from wave/pulse/filterprogram, or you use a pattern command to direct wave/pulse/filter execution to nothingness...
Ok, thanks.. I didnt know I had to use an endjump too, I thought $ff 00 is end of execution and continue with last value..
But I had pattern command 9 instead of 6, I must have been tired. Fixing that didnt solve the problem though, so Im still searching for that faulty 8,9 or A command somewhere in the patterns.. mmmm, if I press Y it plays correctly, maybe I'll leave the hidden patterncommand. Whats a balad without anoying and uptight command anyway. |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: Hein: missing endjump from wave/pulse/filterprogram, or you use a pattern command to direct wave/pulse/filter execution to nothingness...
ayes, the reference to oblivion.. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
FF 00 is also a jump :) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: FF 00 is also a jump :)
ok.. a jump to nothingness too? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No, it stops execution. |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: No, it stops execution.
hehe. Ok. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
At http://covertbitops.c64.org/tools/tweak2.zip there is now an updated tweak utility. It loads, saves, plays and hex-edits GT V2.xx songs on C64.
I guess this is as close to GT2 on C64 as you're going to get (from my side), but beware, it's not very userfriendly and of course not meant for composing any new stuff, only tweaking parameters of existing songs for optimum SID output.
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Heeee, thats really fine!
I will go and test it now :-) |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
is there any chance for a modified version of goattracker that allows to disable multispeed vibrato in multispeed songs? that would rock!
greetz |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Not really, or I mean at least I'm not terribly interested. The player was made to be totally oblivious of multispeed and obviously changing it suddenly would be painful.
Though I can instruct how to do a dirty hack for 2x, 4x etc.:
In playerx.s (where x is player of your choice) add one LSR/ASL pair for 2x and two for 4x etc. For example 2x:
mt_effect_4: tay
mt_vibparam1: dc.b $ff,$00
LSR
sta mt_temp1
tya
mt_vibparam2: dc.b $ff,$00
ASL
sta mt_effect_4_cmp+1
and correspondingly in gplay.c
if (!usefinevib)
{
speed = (swapnybbles(cptr->cmddata) & 0xf0) >> 1;
cmpvalue = ((cptr->cmddata >> 4) & 0x0f) << 1;
}
else
{
speed = (swapnybbles(cptr->cmddata) & 0xf8) >> 1;
cmpvalue = ((cptr->cmddata >> 4) & 0x07) << 1;
}
Btw. any modified/special versions of course suck, initially I envisioned totally tablebased vibrato/portamento for 16bit speed and 8bit depth control but decided it might have been a bit unwieldy to use :)
Hmm... though now I have an idea, the packer/relocator could create a vibratotable internally, with those ASL/LSR's premade. It would still suck through increased memory use though :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi,
Maybe you could add a key that converts absolute notes to relatives (based on c-2)
Then every table would has it "little" helper... :-)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Can you tell me why you'd need it? And shouldn't the "base-note" be selectable for this conversion to be useful? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I thought what the hell, GT V2.2 is out, adds new speedtable for better control of vibrato, portamento speed and funktempo. Should be especially useful on multispeeds. Downside is that it'll be harder to manage (RTFM and it will help, there's a keyboard command SHIFT+RETURN to convert oldstyle parameters to speedtable entries)
Adding the speedtable meant also fileformat change that is backwards incompatible. GT V2.2 loads & auto-converts the old format of course :)
Also added that relative/absolute conversion (SHIFT+R). It will use the basenote C with currently selected octave. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, now I have testet everything: It seems that everything works quite fine. ;-)
It's really amazing - your work for GT is very remarkable!!!!!
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
... one last wish :-)
It would be nice, if we could copy rows of effect cmd's.
I saw that you can mark tables, patterns, but not just the effects...
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Actually marking effect rows would be too painful, as the marking actions has been written as they are (ie. only up-down movement) long time ago :)
However you remember Shift+R which normally pastes one row of effects when used with Shift+E? Now it will paste multiple rows of effects once you've put something to the pattern copybuffer.
Also rewrote followplay to remove unnecessary code. Now you can theoretically "edit" while followplay-ing, though it's not to be recommended..
Didn't feel like incrementing the versionnumber for this, so just redownload V2.0 :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
:-)
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Effect commands aren't kept in the memory anymore. :(
(introduced with the latest version)
My requested "copy more rows of effects to memory" feature works quite fine (Btw, thank you Cadaver!), but the following " thing isn't there anymore.
Now: If I copy something with SHIFT+C to memory the last effect stored with SHIFT+E is replaced with the effect from SHIFT+C.
In the old version SHIFT+C and SHIFT+E had seperate memory writes (?) :-)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
You wanted to be able to copy several effect rows, this is the price you pay. Propose me a solution which includes both behaviours you want, doesn't require any extra keys AND doesn't require to be able to mark effects separately, then we'll see. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Why not use SHIFT+E for copy more rows of effects (when a pattern is marked) instead of SHIFT+C ? :-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yes, that is possible. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
:-O |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V2.21 out, should work like that now. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmm, SHIFT+O does not work (?)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
It wasn't removing unused entries from end of table. Now it does. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, thanks! :) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Sometimes I use $09 as extra starting wave in a wavetable to get rid of the highfi tick at the beginning of some instruments. This seem to work differently with v2.2 and up, the instruments don't get played at all for some reason. Im not sure if this is a tweaked feature or a tweaked bug. Its not extremely important, because I noticed it causes a lower frequency tock, instead of a highfi tick anyway, so I guess its better to use a triangle $11 wave to get rid of the highfi tick. (I like the highfi tick on some instruments, so I wont change the gateoff timer to 1, because then I have no tick at all..)
Anyone a hint on how to convert my gt2.1 tunes to gt2.2 without fixing anything in the wavetables.. :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
The silent waveforms changed some time back, you need to put $e9 (table values $e0-$ef for waveform values $00-$0f) Of course you can always write an utility to do that automagically... |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: The silent waveforms changed some time back, you need to put $e9 (table values $e0-$ef for waveform values $00-$0f) Of course you can always write an utility to do that automagically...
Thanks for the info.. I've just finished lesson 2 of c64 c0ding, so I guess the utility is a bridge too far.. I will just keep the different versions on my hd. I dig the vibratotable though..
Does this also mean that values 00-0f in wavetable are now the wavetable delay values for good use to the 8 speed junkies?
|
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
exactly =)
greetz,
linus |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
It's possible to use an instrument that uses two frames hardrestart but not the $9?
Ok, it's not often used but it would be nice if it could be activated from "Hardres/1stWave". |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Speedtable problem:
How do I recognize when I press "SHIFT+RETURN" over the effect parameter, if it is created a NEW entry or Goat "links" me just to a table that is already used (maybe for vibrato etc.)?
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Cadaver? :-)
Cadaver, maybe you could add a feature that allows to transponse notes down in the wavetable. Maybe with SHIF+N (Negate) for about $F values max? :-)
Example:
21 00 ; played on c-2
41 -1 ; played on b-1
21 00 ; played on c-2
FF 00
Btw. In the manual you wrote "Note that you should never jump directly onto a table jump command (FF) ..."
However, I used an Axy cmd that points to a FF to stop filter execution (without disconnect filter). It seems that it works fine, but is this the right way?
|
| |
Kenho Account closed
Registered: Jan 2003 Posts: 26 |
Was just wondering about recompiling the c64 player source. Isnt it a bit akward to have the players as a constant in the c source for the tracker? could you make them loadable instead so that one can recompile the player and not the whole package (i mean tracker+players+tools+??)? or is that not doable?
/K
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hmm, isn't typing "make" convenient enough? It should only rebuild what is needed... |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Nata:
- The way the player is built, there is always one frame of total inactivity in the voice. The $09 frame masks it. Furthermore, the way ADSR writes are ordered, it would sound like shit anyway. You simply need different kind of playroutine (as in old GT) to use it successfully.
- Typically new speedtable entries are created to its bottom (unused space.)
- V2.22 adds SHIFT+N to create negative relative notes (7F is -1 and has always been, but now it's more "accessible") :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi,
Haa, I never recognized that this "negative notes" feature is already there. :-O
Many thanks, anyway!!!!!
---------
If song contains tons of speedtable entries you sure won't recognize anymore what the last values were. (Number 2B or maybe 2D?).
Maybe this could be a solution:
If a NEW entry is created, then the cursor (or background color) in the speedtable remains GREEN.
If it points to an already used entry then it flashes RED.
I think this would be v-e-r-y useful, and avoid from damaging other entries. :-)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hmm, didn't want to bother with the colors but if you redownload V2.22 (yes I'm lazy), you will now see the speedtable cursor move into position if a new entry was created. Otherwise it stays where it was. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
cadaver wrote:
"- The way the player is built, there is always one frame of total inactivity in the voice. The $09 frame masks it. Furthermore, the way ADSR writes are ordered, it would sound like shit anyway. You simply need different kind of playroutine (as in old GT) to use it successfully."
Anyway, last week when I did the "Killing Fields" 1:1 cover I solved problem. I have put $08 for instrument B and it sound same as the original :-)
http://noname.c64.org/csdb/release/download.php?id=29861
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Interesting.. Do you have 1 in the gateoff timer then? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Interesting.. Do you have 1 in the gateoff timer then?
Hmm, no... (?)
:-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Aha, ok, it just means that by having gatebit off on the first frame, the hardrestart becomes 3-frame :) But it probably sounds better that way. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmmmmm,
Hmm!? 3 frames?!
Today I do not understand anything at all :-(
Maybe I formulated the sentence completely wrong...
I have thought: "instrument B" uses for "hardres/1stwave" > $8 < instead of $9 or $1.
The original song of "Killing Fields" used for that instrument only the standard
gateoff timer 2 without an $8, $9, or $1 on the first frame.
However, in GT I had to use $8 to achieve the same effect. :-)
--------------
Btw. just a thought :-)
As far as we know 8580 filters are "linear".
If I use f.e:
01 90 F1
02 01 01
03 FF 02
a filtered (maybe a deep bass-sound) sound does not sound as good like an old 6581
My idea is to combine (tons of) different "time-based steps" to a achieve a NON LINEAR sound on the 8580.
I already tried this (by hand), but it is very complex and inaccurate. :-(
Maybe a "magic" cmd tool could help to calculate everything? :-O
My other thought was to implement some "magic" routines into the player that can simualte NON LINEAR FILTERS.
Some routines that mybe works this way:
Usually if you write this to the filters:
01 90 F1
02 01 01
03 FF 02
this is written to the SID,
0100
0200
0300
0400
0500
0600
0700
0800
0900
0A00
0B00
0C00
0D00
0E00
0F00
1000
1100
1200
1300
1400
1500
1600
The magic routine should write this (or similar)
to achieve a 6581 (filter) sound:
[if possible stay quite long on low values like 0100-0800]
0100
....
....
0200
....
....
....
0300
....
....
....
0400
....
0500
....
....
0600
....
....
....
0800
....
0A00
....
....
....
....
....
0E00
....
1200
....
1600
....
1A00
....
1E00
....
....
2200
....
2600
....
2A00
....
2E00
....
3200
....
3600
....
3A00
....
....
....
3E00
....
4200
....
4600
....
4A00
....
4E00
....
5200
....
5600
....
5A00
....
5E00
....
6200
Ok, enough for today :-)
|
| |
Richard
Registered: Dec 2001 Posts: 619 |
I've managed to work out a few things on how to use Goat Tracker V2.0 The way I compose music with this tool, sounds pretty similar to the way I done music with the old DMC. Actually the tunes do sound like DMC in a kind of way. I'm pleased with the result.
Nice one Lasse :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, my idea is somehow visionary, but maybe it is only far ahead of this time?!
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Nata: you'll need to find a suitable codeslave to create a custom GT version. The idea is not that hard (just a lookuptable to map the 256 possible linear cutoff values to a curve, that likely can be configurable, or maybe even autodetectable according to SID-revision). But to me personally adding any nonlinear effect, or different behaviour according to autodetection, is outside the scope of what I consider playroutines need to have. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Nata: you'll need to find a suitable codeslave to create a custom GT version. The idea is not that hard (just a lookuptable to map the 256 possible linear cutoff values to a curve, that likely can be configurable, or maybe even autodetectable according to SID-revision). But to me personally adding any nonlinear effect, or different behaviour according to autodetection, is outside the scope of what I consider playroutines need to have.
Ok, just another dream that never becomes true :_(
Well, is there any "codeslave" out there who is able to do that?
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Something other:
But, a GT (1.5x and 2,2) depacker is possible? + comes from you :-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No. (some respect for the composers, if they don't intend the source to be seen then at least you must be arsed to go through siddump etc. to see what they did. It could be argued that even siddump is too destructive - stagnation-encouraging - and shouldn't have been released, but I did it mainly to spite sid2midi's author :)) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
:-)
Ok, it was because I erased some *.sng's by mistake (but I do have the SID) :-O
Maybe the depacker could ignore protected *.sng's....
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Oh great, now we're talking about DRM in GT :) No, not inspired enough to spend several hours coding just for your carelessness.. for your credit you're not yet at the Paul Panks level of data recovery desperation (ie. turning to the spiritworld for assistance) :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Oh great, now we're talking about DRM in GT :) No, not inspired enough to spend several hours coding just for your carelessness.. for your credit you're not yet at the Paul Panks level of data recovery desperation (ie. turning to the spiritworld for assistance) :)
Ok, let's forget that depacker :)
What is planned next for GT? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Oh great, now we're talking about DRM in GT :) No, not inspired enough to spend several hours coding just for your carelessness.. for your credit you're not yet at the Paul Panks level of data recovery desperation (ie. turning to the spiritworld for assistance) :)
Ok, let's forget that depacker :)
What is planned next for GT? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Nothing, I hope. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
:-))))))) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: Ok, let's forget that depacker :)
What is planned next for GT?
Now we make music with it, I guess.. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Cadaver, maybe you could give me some advice to create my own depacker?
How do I have to start? :-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
The main problem is that the packed tunes don't store all info about the song (like amount of subtunes, patterns and instruments, lengths of wave/pulse/filtertables) so you'd have to look into the player code to find the addresses & lengths of the different data areas.
Of course, there exist several versions of the players, so that isn't easy either :)
The order of data (after the playroutine) is
- Instrument parameters
- Wavetable (left side first, then right)
- Pulsetable
- Filtertable
- (Speedtable)
- Song-address table
- Pattern-address table
- Song orderlists
- Patterns
Also, reverse-engineer either the packer/relocator module (greloc.c) or the players to understand the format of each data-area :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, thank you very much Cadaver.
It will be probably quite hard to code this. (for the coder) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Cadaver, what do you think about live switching between 1x - 4x mode?
... and a key that allows to multiply/divide the speed (filter, pulse, speedt.)
in a separate way. (would save a lot of time)
Maybe it even could be useful to include a feature that adds rows of E9 00 to begin the wavetable. (would even save a lot of time when switching between 1x - 4x mode) |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
what about changing the scrolling behaviour of the wave-, pulse-, filter- and speedtables? It would be very useful if they scrolled down seperately.
E.g. I create a snare-sound in 4x and need $18 wavetable steps to describe it. Now I want to give every wavetable a different filter value. Wavetable range is from $01 to $18 and filter table ranges from $20 to $32. In that case it would be *very* useful if I could scroll down the filtertable only without having the wavetable scrolling down too. In the current version I have to look at the wavetable values, scroll down, edit the filtertable, scroll up, take another look at the wavetable values, scroll down etc. So every table scrolling on it's own would make life much easier =)
Greetz
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yes, this been asked before, I didn't warm up to the idea then. At least it'd have to be switchable off..
Edit: done in V2.23 (out now). Unlock table scrolling by pressing SHIFT+U. And now, shut up everyone :)
|
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
great, thanks Cadaver! =)
Greetz |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Yes, this been asked before, I didn't warm up to the idea then. At least it'd have to be switchable off..
Edit: done in V2.23 (out now). Unlock table scrolling by pressing SHIFT+U. And now, shut up everyone :)
;-) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Heeeeeee, Cadaver! :-)
But you missed/haven't read my previous post. ;_(
Btw. You forgot to fix Shift+Ins for the wavetable
E0 00 instead of 09 00.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Fixed, live-multiplier change added (Shift+F5/F6), redownload.
Multiply/divide won't be there because I don't like the idea of guessing what a speedtable command is used for (true evil composer might use same table entry for multiple commands) and skilled composers multiply hexadecimal faster in their heads than the computer...
Now shut up for real :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
:-)
I already have some other nice idea, but I'm sure you does not want to hear anything from me (once again) :-P
:-) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi,
what do you think about different Hardrestart-ADSR settings for each instrument?
The problem is that some instruments sounds often better, if they are played with 0000, F000, 3000, or something else. :)
On the other hand, if I play the whole song with 0000 it messes up the whole volume settings.
|
| |
dalezy
Registered: Apr 2002 Posts: 475 |
cadaver, you have my compassion. =) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I think it's kind of impure and nitpicking. You sure can do nice tunes without that feature. Plus song-format changes are not fun. I guess another feature for your codeslave-edition :)
A kind of loosely related example: now that I use Cubase instead of selfprogrammed multitrack called Goatstudio, which had no per-channel EQ, effects etc., making recordings isn't so much fun anymore, it's hard work :( |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Well, if this means that you have to change the song format - then let's forget this feature :)
On the other hand it would be very nice, if we could edit the Hardrestart ADSR parameter in the editor instead in the *.cfg
This way it would be quite easy to test different parameters without exit the editor :-O |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Shift+F7 (you know the drill) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Shift+F7 (you know the drill)
Thank you very much, Cadaver!
Now, I really shut up.... |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Also added Shift+F8 to toggle SID models as a sort of preventive measure. :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
:-) |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
haha =)
Nice one, Cadaver.
Now one last wish (easy to implement)...
Speech to ringmod conversion. (SHIFT+F12)
Just add a text input table that automatically converts the text to ringmod generated speech in the actual pattern.
* Linus runs ... ;) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Mmm.. that is not much worse than sideways sample playback :) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Is there a way to have slow portamentos at 4x?
When I have values 01 01 in my speedtable and refer to it with one of the portamento commands, its just too fast for the low octaves..
(if not, its fine too, I will just blame Linus for talking me into creating 4x tunes) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
If 00 01 isn't slow enough for you, then I can't help you :) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
ah, thanks.. my Vulcan logic didnt come up with 0-speed. I'll try it right away. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
It's not really 0-speed, but the 16-bit value $0001 (RTFM :)) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: It's not really 0-speed, but the 16-bit value $0001 (RTFM :))
awww.. cute. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
What is this?
"OSX port of GoatTracker V2.25."
bye! |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
GT2 for Macs with OS/X. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Aha, thanks for the info! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi, maybe it could be very useful if "SHIFT-O" (optimize) would work in the other tables, too. It should remove unused entries that aren't connected to an instrument or command..., but if the routine finds a "FF XX" (that points to another table entry) - it will not be touched :-)
---
Is the following feature possible (without coding day and night)?
The "feature" should remove every unused instrument + tables and patterns (that aren't in orderlist, but contains data) that aren't used... (maybe from SHIFT-ESC menu)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
It is possible, but do you remember that the relocator already optimizes everything unused out? |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
I found a bug, finally \o/
If one puts FF FF into the speedtable (e.g. on step 1) and then points to it via 4xx the packer says "TABLE POINTER JUMPS TO A JUMP" and refuses to pack.
This GOTTA be fixed since FF FF is the most commonly used vibrato speed ;)) I can't use Goat anymore in case that nasty one doesn't get removed, hehe
Linus hides again ;) |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
Cadaver: Btw, would it be a quick fix for you to create an alternative mode 4 packer so that for multispeed tunes runs only one time and create speedfactor-1 shadow ZP-registers and directly write the first run to the IO?
So, for a 4x-tune a jsr $1003 would do:
1) First loop store to $d4xx.
2) 2nd-4th loop store to unique shadow-ZP registers.
Also some channel unrolling optimization option etc. would be VERY nice. Either you fix it quickly now or I get dirty in the source myself? Just wanted to shout out the question before I start haxx0ring in your sources. :D |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No, that doesn't sound like a quick fix :) and seems more fitting for personal customization. What is channel unrolling anyway?
Btw. the bug was fixed and working on the optimizer, release of v2.26 is imminent.
EDIT: out now. Save song before optimizing (SHIFT+ESC), it removes everything unused. Also, remember that the packer/relocator already optimized the data fully, so it's not necessary unless you want to clean up the .SNG-file or desperately need the empty space in tables etc. |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
@cadaver: channel unrolling is to multiply the code for each channel and not use ,x and ,y everywhere. Eats more memory but gets rather much faster. I did that with GT1.x, not sure it applicable on GT2.x though, havn't checked your source there yet.
Anyway, I'll do that ZP thingie myself then. Or atleast look at it.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Ah yes, as in John Player. Did you then also scrap most of the channel variables and replace access to them with LDA #$xx + modifying the LDA? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Btw. now v2.27 is out which adds orderlist marking for copy/paste (as with patterns & tables) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Thank you very much Cadaver! Everything is perfect!
Now it is a completely new feeling to compose a song :-)
---
But "Shift-ESC" will fail (testet v2.26) if a song contains patterns that are longer than 64, or if there are different lengths (22, 32, 64 etc.) in a song.
Anyway, this isn't any bigger problem for me. |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
I want a GUI version with pulldown menus!!! Now swallow this, Lasse! ;) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Optimizer should be now fixed (redownload v2.27).
Steppe: there is the system pulldown menu :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Optimizer should be now fixed (redownload v2.27).
Steppe: there is the system pulldown menu :)
Thank you Cadaver! :-O |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Be careful of what you ask for, now (v2.28) I've added a certain feature which opens the gates of netherworld wide for hordes of clueless lusers to devour the music scene and leave nothingness. Ha, ha, ha, ha. Hm, hm, hm, hm...!!! |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
that last reply sounds so damn sexy, i'm almost up to trying gt after 5 years again .. then again, no, jch is a hot beast, i'll stick to that one. =) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Be careful of what you ask for, now (v2.28) I've added a certain feature which opens the gates of netherworld wide for hordes of clueless lusers to devour the music scene and leave nothingness. Ha, ha, ha, ha. Hm, hm, hm, hm...!!!
Whhooops! I have quoted steppe's message by mistake...
This "thank, you Cadaver" was for the optimizer feature .... :=
I don't need mouse support, but anyway......
now i will test this it... :-) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
quick testet:
seems to be very nice! (and maybe sometimes useful) ;) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Why GT1+2 takes so little rastertime?
It doesn't matter how much I torture it, it's always between $10-$12 lines (seldom $13)
Why all these c64 based players (I testet: DMC 5, Jeff, SDI, Sosperec, JCH+g4 etc) takes much more?
So, where is the trick? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
- It skips effects (ok, pulsemodulation only) when it has something timeconsuming to do, like fetching new note or pattern
- Calculations are as direct as they can be, for example vibrato always "overwrites" (by adding/subtracting to) the current frequency. This means, you can't for example change note in the middle of vibrato and have it stay in tune
- Vibrato/slide speed is not calculated the hifi way of using the difference of two notes in the freqtable and shifting it right x bits. As a consequence the perceived vibrato width always depends on note, if parameter stays the same
- Effects & table formats are all very straightforward (you could say, lacking sophistication)
- Whenever possible, the values are dumped to SID directly (not in buffered playroutine)
Overall you could say the playroutine(s) have been written from a coder's viewpoint, not musician's or artist's. :) |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
any chance you might add a 'switch' that enables a "hifi" calculation of Vibrato/slide speed? That could be very useful imho.
Greetz
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Well, that would make it entirely different editor/player and make the speedtable unneeded (except perhaps for vibrato & funktempo under multispeeds). Plus I don't like the idea that it would even be possible to make the player take an uncontrollable amount of rastertime :)
IMO better left for personal haxoring.
However, considering the amount of space in the speedtable, a function to calculate note-based & shifted speeds in the editor wouldn't be a bad idea. |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
not at all, i'd be very happy with it :)
greetz |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hi,
I have rewritten the relocator to dynamically assemble the playroutine (using Zagon's assembler from exomizer). Now instead of choosing a player from 5 possible you choose a combination of options you want to use. It also optimizes the code, so if you for example cover Wizardry music with no pulse & filtermodulation, the corresponding pieces of code get left out :)
Of course now there's tens of if/else/endifs in the player source so it's possible that some combination can cause nasty things to happen. Therefore I urge everyone to test this beta with as many songs as possible.
http://covertbitops.c64.org/tools/goat2beta.zip
If the assembler fails, the whole program exits and a file stderr.txt gets written to current directory. In case of errors/weirdness, contact preferably by email to loorni@gmail.com (include error message and .sng file)
There is also an option to disable optimizations if you for example get ADSR bugs from timing differences.
Btw. read chapter 5 of TFM (readme.txt) for explanation of the options and the player interface, there's not much change but still.. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
just a little thought:
would it reduce file size if we had a orderlist cmd
that works the following way:
repeat the following (x) patterns for (x) time.
f.ex:
<R+ 45> 01 03 04 05 R3 00
R+; activates the cmd
45; will repeat the next 4 patterns for 5 times.
maybe this could be useful when optimizing the patterns with SNGSPLI2?
(before the final packing)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Well, you don't want to reduce the amount of available patterns and change songformat yet again, do you? Actually I think the added player complexity and added variables (the way variables are structured, if I add even one more now it will take 21 bytes more memory) would outweight the benefit.
If those patterns are always called in the same order, you could combine them back into one. By doing this, you also reduce the size of the patterntable, 2 bytes for each pattern. Of course this is actual manual work :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Ok, thanks for the info!
btw. 2.29beta is very nice!
i will go and test it now ... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
That optimization feature is absolutely excellent! :-O
Thank you very much Cadaver!
---
Btw. open *.sng's with double-click doesn't work anymore with 2.29beta. :-(
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Should work now. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
I still cannot believe how smart the playroutine can be:
528 bytes! Absolutely fantastic!
---
What is that "hifi" feature? (yes, I've read the manual)
But I have no clue why it is useful and why I should use it...
Btw. does the packer as well removes wavetables/filters/and pulses
that are identical? (but used by another instrument)
You know, if I load f.ex a drum-sound, it creates always a new
pulsetable entry (something that is good)
Maybe you could write down some words (in the readme.txt)
about the packer (how 'intelligent' it [he?] is, and what it removes)
:-O
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
There's a couple of examples to try in the manual. It mimics the note-independent slide/vibrato in certain playroutines, like Hubbard, but with the difference that those playroutines calculate the speed in real time, GT2 editor precalculates them into the speedtable. Of course, you have to calculate it again with each note you use. And no-one forces you to use it, for example if siddump tells you that some slide speed is $0080, then it is and you can't get that from the hifi calculator :)
Duplicate table entries are not detected, simply what table ranges are used and what aren't. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Now they are detected/removed (only by relocator, not by in-editor optimizer)
Btw. this is another feature that has potential for disaster and is thus recommended to be tested heavily. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Thats Cool! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Absolutely PERFECT! :-O
I testet again a lot of songs and it seems that everything is Ok! ...
.. and I have noticed something very interesting:
Some of my older songs like Stargate or Future Impulse don't need anymore the buffered SID output.
The rastertime stays constantly at max $10 lines. That's really amazing!!!! :-)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I released 2.3 then :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
I found a little bug. :-D
When I use the Cxy cmd within a song that does not uses any filters the editor will crash.
Anyway, this isn't a big problem. :-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Strictly speaking it doesn't crash, but aborts due to failed compile of player source. Anyway it's now fixed. |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
2.3 is great, well done Cadaver :)
ever thought about removing that 'skip pulsemod' thing while fetching a new note ... ?
Greetz |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Done, get v2.31.
At first I was not going to bother, but then I realized you can also use tempo 2 after disabling pulseskipping (have to use funktempo command to set, the procedure is also described in certain section of TFM)
Btw. the rastertime increase is something like 3-4 lines according to little testing. Depending on pattern complexity, it could also be more.
After this, I guess it's only time for bugfixes and small optimizations from here on.
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
I tested v2.31:
Now the packer quite often fails to pack when pulseskipping is OFF.
And it always fails when I select 'disable optimization YES' + pulseskipping OFF.
error messages (stderr.txt):
value 131 out of range for op $F0 @01F41030
---
value 131 out of range for op $F0 @01F40F80
---
value 131 out of range for op $F0 @01F40D40
Btw. I couldn't see any huge rastertime increase(?) hmmmm.
Anyway, I never will touch that new feature since the old 'pulseskipping-method' is
perfect. :-O |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Fixed. Btw. it's reassuring to know that Magnus's crossassembler indeed catches branch out of range errors (which is what those errors were about), otherwise it'd be hardcore bughunting time :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Why tempo 2 could be useful? :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
For some ultrafast hardcore :)
Or, some time ago also one guy was implementing a Hubbard-to-GT convertor, and to have it work with maximum easiness tempo 2 would be required. Never heard of him since and he had bit of an attitude, so I don't know what became of the utility. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Interesting!
But now can I do this strange pitch change like in 'One_Man_and_His_Droid.sid'?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No, I don't think so. |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
i haven't tried hubbard slides yet, but they should be doable within the pattern with speed 2, like ...
e.g.
(legato)
c
b
c
a#
c
a
c
g#
c
g
c
f#
etc.
greetz |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Ah yes, didn't think of that, and at least with multispeed you get it sufficiently fast. Too bad it wastes a lot of pattern-bytes. To have actual support for it would imply yet another ghost-copy of the frequency, I guess the newest JCH-player gets away by writing to SID directly and not saving the frequency with a special wavetable command, but doing it this way wouldn't work with buffered writes :( |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
it could be a nice addition anyway, but ... i don't dare to ask for a feature again.
Nata? ,)
Greetz |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
btw, goat2.31 just crashed for the third time :P
greetz |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
It'd be in everyone's best interest to actually tell what you did to get that to happen, hmm?
If it's related to a song, then send it. Just telling "it crashed" doesn't do a lot of good.
(I assume you have redownloaded v2.31 after Nata's reports..) |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
i can't exactly remember what i was doing, just plain editing the pattern without actually playing it.
greetz |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hmm.. don't know if it was that, but shift+E/R (command copy/paste) couldn't have worked even in theory when marking several rows, fixed.
The weird thing is that I definitely remember it working at some point ;) |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
maybe it was, didn't encounter any crash today :)
Greetz |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: lo,
i haven't tried hubbard slides yet, but they should be doable within the pattern with speed 2, like ...
e.g.
(legato)
c
b
c
a#
c
a
c
g#
c
g
c
f#
etc.
greetz
Hubbard slides can be done with arpegios as well at 1x:
41 0c
41 00
41 0b
41 00
41 0a
41 00
41 09
...
or
41 0c
41 0b
41 0c
41 0a
41 0c
41 09
...
u can start at any pitch, $18, $24 or whatever.. (at least this is the method I used in Protracker and still use it sometimes in Goattracker) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hmm, I guess going down one halfstep at a time, in both methods, is too fast (?) Though of course it's all the same to me, I don't personally need to indulge in such retro-ism :) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: Hmm, I guess going down one halfstep at a time, in both methods, is too fast (?) Though of course it's all the same to me, I don't personally need to indulge in such retro-ism :)
woot.. no retro-ism? :)
anyhow, the slides are not spectacular, but sometimes it's nice to add a little retro touch. It's a sid tune after all. Besides, I still use GT 2.2, I'm always a step behind in life. |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
laxity had a different solution for that in his newplayer:
Quote:
There's one special case with the wave table where an offset of $80 is used. In this case the base note value + current transpose is recalculated and output. This does NOT mean that the internally stored frequency value is overwritten (which is actually the same, but can be altered by slide and vibrato). This enables you to make effects like the good old "Hubbard slide" (where every second frame plays the note and every other frame a continuous slide up or down). F.ex.
00 - $00 $21
01 - $80 $21
02 - $7f $00
If you apply a slide to this one, you'll get a "Hubbard slide".
that one works like a charm. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yeah, I posted about that above, problem is that to also work with buffered SID writes in the GT playroutine, it'd need yet another copy of the frequency, which I'd hate :( |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Where is the difference between a real tiny routine and GT's optimizations feature?
I have tried several times to compose something like 'Empty_512_bytes.sid'(by 4-Mat), but never managed to go under 1k because playroutine grows very quickly.... but anyway... :-O
Btw. Why it isn't possible to set pattern-length to 128? It would be very useful when composing in speed 3. It isn't really a good idea to (f.ex) run channel 1+2 with speed 6 and channel 3 with speed 3 - it only makes trouble when I try to synchronize the patterns in the orderlist.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
96 was not far from GT1's limit of 80 rows, a nice compromise where "pattern too complex" errors aren't still that probable. And it's the highest multiple of 16 or 32 that can fit in 2 columns in both hex & dec display.
As of v2.32, the limit is now 128, but the pattern complexity limit hasn't gone anywhere. So, don't complain of the relocator errors you will get!
A dedicated tiny player has hardcoded functionality, like "pulse only on channel 2", has table-based access for wave/arp at most, uses ugly hacks and likely doesn't give a shit about rastertime usage. It also models the pattern & song data for minimum size & easy access, not for a wide variety of features. Creating true tiny players algorithmically is out of the scope of my sanity, maybe some certifiedly insane person can do it though :)
Read the SIDin magazine with the tinysid compo players disassembled for some more insight. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
cadaver wrote:
'As of v2.32, the limit is now 128, but the pattern complexity limit hasn't gone anywhere. So, don't complain of the relocator errors you will get!'
But, there is a simple solution... sngsplit2.exe... :-)
I hope it can handle big patterns like 128... (?) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Released another version (v2.33), now there are optimizations for not using gateon/gateoff and not using any pattern commands at all.
Of course setting default tempo would still be nice? In fact you can now do this, by leaving instrument 63 unused, and writing the default tempo to its Attack/Decay field.
Btw. there was also a nasty relocator bug fixed, it was checking nonexistent pattern 208 at one point :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
I will go and test it :)
Btw. v2.31: SNGSPLI2.EXE does not split 128 to 64. (everything above 64 will be lost. :-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Tried the sngspli2.exe from the newest GT distribution? Naturally the older versions are still compiled for less data. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ah, ok! then probably everything should be ok. :-)
Btw. v2.33: has very nice playroutine optimizations - thank you! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Does GT uses an optimized playroutine in case I use only 2 or 1 channels?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
It could be argued that you can't use only 1 or 2 channels in GT, since if you have zero length in any of the orderlists, the song is illegal & playback won't start. :)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Now (v2.34) there is sort of support. To make a 1-channel tune, use channel 1 and have just empty pattern(s) on channels 2,3. For a 2-channel tune, use channels 1 & 2. Using sound effects or ghostregs makes it always use full 3 channels.
The rastertime gained is actually quite sweet. Size gain isn't that noticeable. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Nice! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi Cadaver!
What do you think about a "automatic slide calculator"? (as an alternateve way)
IMHO the current way is quite slow/uncomfortable when creating slides with the 3xy cmd.
Ok, maybe this would produce a lot of speetbl. entries, but there is a solution for that.
At the moment, when I f.ex write a 350 (effect cmd) in pattern editor, then the speedtabl. entry is 01 40. Usually such values aren't necessary.
The "automatic slide calculator" could create more "abstract" values:
00 10
00 20
00 30
.. ..
and..
01 00
02 00
03 00
.. ..
and..
10 00
20 00
30 00
.. ..
The idea behind is that this way will save memory when optimizing the song.
Of course, then we need a nice shortcut key, that allows to create "automatic slides"
I'm sure this way would speed up composing EXTREMELY! :O
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Sorry, I totally don't get the idea. :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Cadaver, don't you think I would be more comfortable and much faster to have a shortcut key that allows to calculate the "right" slide-speed between two notes?
It would be cool if this little (?) routine would produce in speed-table only values like:
table
00 10
00 20
.. .. and so on...
and..
table
01 00
02 00
.. .. and so on...
and..
table
10 00
20 00
.. .. and so on...
If I do it manually I just can guess (listen) what is the right value for the slide. (and it's slow)
So, why only values like mentioned above? Simple, it's more packer friendly. :-)
You can imagine: values like "03 20" or "03 10" makes no audible difference and only wastes memory.
If the routine calculates values like this (or somehow other):
00 13 ; -> 00 20
00 97 ; -> 01 00
02 32 ; -> 03 00 (always use higher values)
04 21 ; -> 05 00
spdtbl entry (for 3xy cmd):
00 20
01 00
03 00
05 00
confusing?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
IMO if there would be an automatic slide calculator, then there is no sense for that to produce unexact values. Either you reach the target in just the amount of steps you want (by using the exact speed), or you don't :)
But, it would not be comfortable anyway to specify the amount of steps, as you remember the target note has to be specified when the toneportamento starts.
You'd have to first put the target note to "wrong" place, ie. x steps apart, calculate the slide speed, and then move the target note right where the TP starts. In that time you could have tried speeds manually :)
(and no, I don't want to make a function that moves notes automatically .. too much potential for destruction, and better not cram too many pseudo-intelligent features into GT just for requests of one user)
Another remark: calculating slide speed requires knowing song tempo. Current pattern might not tell the tempo, and I rather not implement a "virtual player" to play up to that position & extract the tempo. Furthermore, the pattern could be used in several places in the song with different tempos, so I rather not implement a function at all than imprecisely (that's what I mean with pseudo-intelligent) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
:_(
Anyway, no problem! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, still I think the old way (from GT1) was more convenient. :-)
It's not that I don't like the speedtable (it's good for optimizing..), no, but (IMHO) it does some things that slows down composing.
IHMO shift+return would make really a sense, if it creates ALWAYS NEW entries (without pointing to one that already exists). Duplicates will be removed by the packer.
Well, here is an example how I create entries:
Usually I enter a 350 (as an approximate value)
c-401000
d-401350 ; old style entry, then shift+return
speedtabl.
01 01 40 ; ok, this will be created
Sure, value 01 40 is too fast. Therefore I set a lower one:
speedtabl.
01 00 80 ; seems to be ok
It would be great, if (f.ex) I enter 350 always will be created (invariably) a new entry.
It doesn't matter if there are values like mentioned above in speedtable:
01 01 40 ; packer removes dublicates
02 01 40 ; the same
03 03 00
04 00 80
05 01 40 ; the same
06 03 00
At the moment if I enter 350 (pattern effect), it would me point always to step 1 (right?).
That's really uncomfortable when you have to edit the value later on. (an if other instruments share the same value)
thats my opinion... :-I
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Now, that was a better suggestion :) Done in v2.35, let's see if there is a lot of hatemail now... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Thank you Cadaver! :-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Added one more thing (need to redownload v2.35, if you already did)
- Pressing SHIFT+ENTER over a speedtable-using pattern command while
the parameter is zero, goes to the next empty speedtable entry and
sets the command parameter to point to that entry. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Nice! Nice! Nice! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Sorry, just a short question (I hope it's not an 'irritating' one) :-]]]
I would like to hear your opinion:
Ok, how long a skilled coder would take time to port GT1 to c64? Days, weeks, longer?
And it is difficult/problematic to remove features (effects, delayed wavetable...) from the playroutine? How small/large the playroutine... should be if it is not planned to make a high-end player? (however, hardrestart should be ok)
...just a question... :)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
With lots of free time available, I guess a month would be close. That's assuming no unforeseen problems. Note that available song size would still be severely raped if not using extra memory. And it will never be as usable, due to slowness and keyboard layout (why not just use the tweak utility instead of dreaming of this)
Of the second question, I guess 1000 bytes is quite an usual size. Manipulating the player code like GT2 does by reassembling would be harder, but it could always output source code on disk to be assembled with Turboassembler etc.
And lastly: don't worry what I think of irritating or not, worry about the rest of the scene :)
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, thanks for answer!! (Even it is a bit sad) :_(
Anyway, the reason why I don't use (yet) the tweak utily is simple:
1. Does not support changing the length wavetables, filtertables, pulsetables (not even in a limited way)
2. You can imagine how uncomfortable it is: composing with GT, then copy to disk (when finished), edit (in a limited way), again copy to pc... and again, again... :)
It's faster to write a *.sid file and copy it to mmc64. (however, this doesn't solves the 'true environment' problem) :>
I can't imagine what's the problem with the keyboard layout????
And why not use several tricks to save memory? Simplify the whole edit system...limit pattern size... and so on. (whatever is required)
---
And no, I don't worry about the rest of the scene. It doesn't bother me what 'sceners' think about me. :]]]
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
To be honest, I can't imagine a difference in reSID & real enviroment playback that would require inserting rows in tables. Unless the song is badly broken to start with.
And you'd still have transfers to think about, unless MMC64 someday gets kernal read/write support, which I wouldn't count on.. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmmmm..... |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
A question to all: would it be useful to have 1 bit more precision in pulse modulation speed, for Galway's Rambo-like slow creeping pulse, or multispeed tunes etc.? As you know, right now pulse speed 1 is really 2.
Doing this modification would save 6 cycles (if all channels use pulse) and 1 byte from playroutine. Downside is that the really high speeds would get gutted, and would have to be implemented as consequent "set pulse"-commands.
Naturally it'd require bumping the song format version up, so that old songs would still get loaded properly (assuming they only contain pulse speeds $01-$3f, or $c0-$ff on the negative side) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Sounds good!
Whats about an adsr cmd in the wavetable? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Actually I have thought of a macro command in the wavetable, which would allow execution of most tick0 commands (set ad, set sr, set pulse, filter)
But this requires some more thinking.. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Wow, that would be very cool! ;-) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
However, just add features that you find useful... |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Now that the relocator doesn't assemble everything (unnecessary) things in anymore, I don't have to be as picky. When it's time to make music for Hessian though, I'll most probably use rawgoat or some new proprietary routine, so actually whether GT2 is useful or not isn't important to me anymore :)
Instead, the aim is gradual assimilation and putrefaction of C64 music scene. Ha ha ha ha, hm hm hm hm...!!! (did I say that already?) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
;-) |
| |
Yodelking
Registered: Apr 2002 Posts: 189 |
There's a Hubbard2Goattracker converter released today.
Knock yourself out! ;)
Hubbard2Goattracker V1.2 |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Very interesting!
I will download it tomorrow! |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
this is just not right.
why the heck did i try to figure how hubbard did his sounds when it's friggin easy to rip his sounds just like that.
anyway, welcome back stello. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
And the next tool will be a dmc2gt or a ich2gt - ha, ha, :-l |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
The tool seems not to rip pulsemodulation. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Therefore we have siddump ;) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Then, what's about the "1 bit more precision in pulse modulation speed" you mentioned?
What everything would be possible with macro commands in wavetable? Where is the benefit? ;)) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Have had no time yet, and would like comments from others too... |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
I'd definately appreciate a more precise pulse control. Go for it! :)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Updated to V2.4. Changelog:
- Added one bit of accuracy to pulse modulation speed. A new songformat (identifier GTS4) reflects this, old songs will be converted upon loading.
- Added possibility to execute pattern commands from the wavetable.
All commands except 0xy (do nothing), 8xy (set wavetable pointer), Exy (funktempo) and Fxy (tempo) can be executed. You use wavetable left side values $F0-$FE to do this, right side is the parameter.
For a simple example, see wavecmdtest.sng. It does sustain/release change in one instrument and a "one-shot" pitch bend in another.
As always, approach with caution, may yet be rough on edges, though I tested at least all the example-tunes.. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Wow!! :-O
I will download it tomorrow ...
I cant sleep anymore :-D
thank you cadaver!!! :) |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Cadaver , what do you think about stereo GT 2.x then ;-) I hope that Nata also would be glad to have stereo in v2... and maybe someone else too? ;-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I've said that I will do it when stereo SID productions (demos & games) start appearing in great numbers, and SIDplay supports it. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
However, it was a big fun to compose a stereo tune in mono ;-p
i doubt i will do a second tune ;)
... and maybe, the huge rastertime usage isnt very useful for games & demos.
but i can imagine how cool it could be to have 6 audio channels whitin a c64 game. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
IMO lack of required hardware owners is worse than rastertime concerns. Maybe PTV could start making 6-channel games :) |
| |
Raf
Registered: Nov 2003 Posts: 343 |
one 6-chn GT SID tune should eat a bit less rastertime anyway than 2x mono tune I think
@Nata: you mean you comosed your latest tune using mono GT? kinda crazy ;p I know it is rather difficult way of composing
how about using gt 1.53 stereo then? :) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: However, it was a big fun to compose a stereo tune in mono ;-p
i doubt i will do a second tune ;)
... and maybe, the huge rastertime usage isnt very useful for games & demos.
but i can imagine how cool it could be to have 6 audio channels whitin a c64 game.
huge?? nonsense, many 3 channel players require the same amount as GT1.53 6 channel player. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Updated the tweak utility to have version 2.4 features, and to have slightly less puritanistic pattern view/editing. Note: it loads only V2.4+ saved songs. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: one 6-chn GT SID tune should eat a bit less rastertime anyway than 2x mono tune I think
@Nata: you mean you comosed your latest tune using mono GT? kinda crazy ;p I know it is rather difficult way of composing
how about using gt 1.53 stereo then? :)
Well, Renegade 420 takes about $25 rasterlines. :)
No,I composed the tune in the 'stereo' version. (already one year ago)
BUT: In version 1.53 there is no real stereo output (mono downmix), so it was truly a pain to make these complex stereo-effects. :-D
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
It appears that SDL lib doesn't crash anymore in the same way as before, so I updated the stereo version for true stereo output. Also corrected the filewriter code, it was writing tons of shit :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: It appears that SDL lib doesn't crash anymore in the same way as before, so I updated the stereo version for true stereo output. Also corrected the filewriter code, it was writing tons of shit :)
:-))))))))
but resid interpolation isn`t available in stereo version... (?) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Now they do (1.53 stereo and 1.53 mono). However, now it's time to leave those festering corpses to rot, so no further GT2 feature/command requests on old versions :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Thank you! :-))) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Finally I found the time to test the new version... :)
Ok, GT will be terminated (when I try to pack) if I use the new pattern effects in wavetable:
'symbol mt_effectnum not found'
This happens if 'Disable optimzation' is set to NO.
However, I'm really happy with the new gt2.4 (I bet others too). The new pattern effects in the wavetabe allows to create extremely cool effects.
----
Btw.
One last and stupid thought about the old stereo version... (no, it is not a hidden request - just a thought) :)
I always have been wondered why it isn't possible to open gt1.53 songs with the stereo version...
I think this prevents a lot of people to do a mono to stereo-upmix of their tunes.
Now, since gt.stereo supports real stereo (hooray! ;D) it would be fairly easy to copy channel 1-3 to 4-6 and play around with pattern effects (volume, vibrato...). :)
Just imagine, what would be possible with Gt 2.4 Stereo.
I'm sure there will be support for stereo tunes in Sidplay2/w, if some more people will release stereo tunes (and if they are aware of good stereo editors)
---
Here a short stereo example:
http://rapidshare.de/files/20672988/stereo_test___D420_.rar.html
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Of course everything is a veiled featurerequest :)
- Redownload GT2 v2.4
- Redownload GT1.53 stereo, see program "mono2str" |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi Cadaver!
Very, Very nice! Thank you very much!
...and is there a way to convert GT2 songs back to GT1? (only the patterns + notes)? :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No and won't be. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, that's no problem (for me). :-D |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
GT 1.53stereo doesn't work very well in full screen mode (alt+Enter)
It's very hard to read the numbers on the screen (everything is blurred). I have tried to change the resolution, but it doesn't help. :_(
My graphic card (GeForce 4 Mx) allows a 'doublescan' mode for lower resolutions, but my monitor complains with strange error messages if I use doublescan. What can I do?
This only happens in the stereo version.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
GT1 stereo uses a nonstandard window size to fit in the channels, and SDL graphics library seems to do what it wants with the resolution / refresh rate :)
There may be some tweak programs for your graphics card, but I never remember their names.. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
:_(
but on your monitor it works fine?
I have no idea how to tweak :( |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Well, I have a laptop so any fullscreen modes generally fuck up. The stereo version doesn't display completely for me. However, in theory there is no reason (in goattracker's code) why it shouldn't display right. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
I bet with 16:9 screens it works perfect. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmm, sdl fits everything to the screen (4:3).
Shouldn't that be controlable by the user?
Of course, it works fine with the mono version, but with the stereo...
Imho it would help if there was a kind of upper and lower border to keep the aspect ratio. :)
edit:
gt mono runs at 720x400 and gt stereo at 640x480 in fullsreen. Hmm ..?!? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
It should add empty space to the borders so that the next legal screen resolution can be reached. But if it doesn't...
Maybe you should complain to SDL's authors :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Grrr, evil SDL... ;) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
'symbol mt_effectjumptbl not found'
Unfortunately I can't remember what I did... :-/
Ok I used delay and the F5 xy cmd in the wavetable.
But anyway....
Btw:
So, why the Dxy and Axy cmd (in wavetable) are useful?
What is the main benefit from it? :)
The ADSR cmds are quite interesting, but at the moment I really can't imagine what could be done with the others. Any idea? Wired examples?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I'll have to check all combinations.. it seems using some effects only in wavetable and not in patterns is still error-prone. Meanwhile I guess disabling optimization helps.
It's easier to allow (almost) all commands to be executed than to think what are useful :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
;-D
Then, the other cmds aren't useful?? :)
edit: shift-o removes entries that are used by wavetable effects. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V2.41 is out. Also got that Shift+O thing fixed. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Thanks!
Btw.
Cool! Now I know why 2xy & 1xy cmd are useful in wavetable....
Example:
SPEEDTBL
01: 00 22
Wavetable
21 00
0F 00 ;delay
F2 01
02 00
F1 01
02 00
FF 03 ; loop ps. 3
an alternative instrument vibrato... :))))))))) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yes but notice that it does not execute the command again during the delay.. could also be used for a detune effect, or other things not achievable with vibrato. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Its possible to split songs (with sngspli2) to different pattern lengths?
Maybe this would save memory? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I'm sure songsplit could use some much more optimized algorithm for finding optimal song size. However, I pretty much have no interest for that. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Aha!
However, it was only a question... ;-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Question = featurerequest.
Don't try to get clever :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
I found a bug (I hope it is one). Please look at the attached file. :)
There is only a correct output if 'DISABLE OPTIMIZATION' is set to YES. (even buffered SID writes doesn't help)
The 'wrong.sid' plays completely a detuned sound... :(
... and siddump produces wrong/different values.
http://rapidshare.de/files/21246937/gt_tst.rar.html
-------
'featurerequest' :)
- Pressing SHIFT+ENTER over 9xy & Axy (in pattern-editor) does not work.
IMHO, it should behave like the other cmds ('go to the next free position')
- Shift+U is quite a nice feature :)
If possible, it could be added as an command line option. This way it is available at startup.
- In connection with the 'shift+U' feature the following thing could be useful:
When the user switches through instruments (+ -), the right wave-,pulse-,filter- & speed-tables will be shown. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
v2.42 - Fixed frequency table size determination.
- Added SHIFT+ENTER when parameter is zero to get you into an empty
table entry for 8XY, 9XY and AXY pattern commands as well.
- Added adjustment of table views when changing instrument number
in unlocked table scrolling mode.
- Added ENTER over nonzero instrument number (in patterns) to go
editing that instrument.
No command line option, IMO generally the unlocked mode totally sucks and I never use it personally :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Thank you very much! :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Strange, why my arpeggio sounds better if pulse optimization/skipping is activated?
When i deactive skipping, it sounds quite flat (it doesnt sweep as cool as before)
i 've testet several songs...with the same result.
Hmm, what's wrong? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
With fast tempo (something like 3 or 4) the skipping is actually quite frequent. When the skipping is removed (optimization off), the feel of the modulation changes a lot. Obviously you should use what sounds best for each song.
You can verify the difference with siddump, for example. You should not see in any way different pulse value changes, but the gaps caused by skipping. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, thanks for the info!
I testet the songs with speed 4. :) |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
may I request another feature? :) i think it would be quite nice to have two more pattern commands:
- change attack/decay+tie-note (GXX)
- change sustain/release+tie-note (HXX)
what do you think?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
There are not really bits free for extra commands. Furthermore, I'd hate going outside hex notation. But couldn't you use a legato instrument (firstwave 00) and 5XY / 6XY? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
What do you think about a pattern shrink & expand command. Something that converts the whole song or only selected patterns to another speed.
Sometimes it could be useful to convert songs (f.ex) from speed 6 to speed 3 and similar (& backwards).
Example: If the song should converted from 6 to speed 3, pattern size will expanded (usually to 128 rows) + and it's content.
Speed 6
c-2 01F06
c-2 01000
c-2 01000
c-2 01000
c-2 01000
c-2 01000
Speed 3
c-2 01F03
000 00000
c-2 01000
000 00000
c-2 01000
000 00000
c-2 01000
000 00000
c-2 01000
000 00000
c-2 01000
Ok, I don't know if would be very useful, but who knows... :)
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Maybe lets forget this, since i request too much new features. :)
regards, |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Actually that shrink/expand is in quite many trackers, like Fasttracker 2 (I think)
I have another idea in addition to this. But then GT2 shall rest for a long time. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
HELP! =:-o
That new "one bit of accuracy in pulse modulation speed" seems to be very evil when I do 1:1 conversions. How can I calculate the old values, any wired formula?
The original pulse is like this:
From $900 to $F40 & backwards with speed $A0.
900
9A0
A40
AE0
B80
C20
CC0
D60
E00
EA0
F40
...
How do I convert this to GT? Dividing value $A0 to $50 doesn't help anymore (?) :(
----------
Something other:
Is there a difference between the keyoff in the patterns and the keyoff within instruments?
It seems that I can do keyoff's only in combination with waveforms: $10, 20, ...
----------
but now I will hide me :)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
When it was decided by three-man (?) consensus that the 1bit of accuracy was better, the downside is that effects like that now become possible only with repeated "set pulse" steps. I guess the general idea is that any modulation speed >= $80 is utterly unmusical :)
As for the keyoff, I have no idea what you're talking about, for I just tested it with a looping instrument with gatebit on, in both pattern & instrument editor.
(however, I now modified the pattern editor to also just clear the gatebit at keyoff, not kill the entire sound) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, "set pulse" works. (and it sounds like the original)
But it requires about 22 (!) settings.... :)
with 'set pulse' only:
909
9A9
A4A
AEA
B8B
C2C
D6D
E0E
EAE
F4F
EAE
original dump:
900
9A0
A40
AE0
B80
C20
CC0
D60
E00
EA0
F40
In this case the new accuracy in pulse isn't a problem... (because there is hardly any audible difference)
Unfortunately I can't understand, why it doesn't work if I try to convert it from limit-based format to the time-based format. Cadaver?
900 to F40 speed $A0
Which speed value I have to set for $A0? (in GT)
Maybe it's possible to do some manual offset, or something between?
----
Keyoff: It was only (really) stupid thought ... the more I think about, the more it is useless... :-D
I even can't remember why I have asked... :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
There isn't speed $a0 anymore. Remember, it's signed arithmetic, so the highest positive speed is $7f (127) and highest negative $80 (-128) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ahaaa! 8-)
i think speed $7f will work too. :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
How can i find out how much each single instrument takes memory? (filter, pulse, etc. included) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Depending on optimizations, the instrument body (parameters) takes some amount of bytes. This is same for all instruments. Look at the relocator results screen and divide the "Instruments:" value with the number of used instruments. Then, it's 2 bytes for each used table-row of each table. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Cool! Thank you for the info! :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Btw. Why the rastertime display looks different if i use the 25hz mode? (it seems to be transparent)
is this an advantage? |
| |
Frantic
Registered: Mar 2003 Posts: 1627 |
25 hz = player only called every second frame instead of every frame. Will make it look "transparent". |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Wow! Over 500 replies!
Shouldn't we get a price for that? :-D |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
In demos/games where screen update rate is less than 50Hz (vectors, for example) or which otherwise can spread the workload on successive frames, and highest possible average performance is desired, it is advantageous.
|
| |
Oswald
Registered: Apr 2002 Posts: 5018 |
Negative speed = tune is played backwards ? (o_O) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Ok, V2.43 out. As I said, this shall (other for bugfixes, and the new features truly have horrifying potential for bugs) be the last release for a looong time.
- Added duplicate pattern detection/removal to song optimize.
- Added pattern shrink/expand (SHIFT+O,P).
- Added pattern join/split (SHIFT+J,K).
Note that to use pattern join successfully, you need to select the first pattern of the pair from the orderlist (press RETURN on it, then SHIFT+J). This is naturally also written in TFM.
|
| |
Yodelking
Registered: Apr 2002 Posts: 189 |
Quote: Ok, V2.43 out. As I said, this shall (other for bugfixes, and the new features truly have horrifying potential for bugs) be the last release for a looong time.
- Added duplicate pattern detection/removal to song optimize.
- Added pattern shrink/expand (SHIFT+O,P).
- Added pattern join/split (SHIFT+J,K).
Note that to use pattern join successfully, you need to select the first pattern of the pair from the orderlist (press RETURN on it, then SHIFT+J). This is naturally also written in TFM.
Last release for a loong time?!?
Does this mean you're secretly working on V3.0 with dual digichannel support? ;) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V3.0 would be one channel beeper support in honor of PC :D
or who knows, maybe a port/remake of Compute Gazette's SIDPlayer so that we may enjoy another era of those patriotic hymns.. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Thank you! :))))
-------------
Ok, now I can remember about the problem with the 'gateoff'. :)
Example:
Song runs at speed 4.
Instrument 1: ADSR = 0069
wavetable:
21 00
21 00
20 00
40 00
FF 00
---------
Pattern:
00 c-5 01000
01 ... 00108
02 b-4 01308 ; slide with speed 0070
Well, I need to write new ADSR settings at row 02. (ADSR 006f)
Writing them before or after the slide isn't the same.
However, now I solved this problem with a delayed F66f cmd in the wavetable.
|
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
Yodelking: That plus a ring-mod to speech converter and full midi capabilities. Needless to say these features will be included in both GT3.0-Stereo and GT3.0-C64-port aswell.
Oh, did I mention the plans for the updates of the GT-Tools section yet? A .wav-to-wavetable converter is in the making plus a lot of other minor goodies such as SID2SNG and realtime filtering of AuxIn signals.
Top secret, tho!
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Actually, this is a concept idea I got. Total freedom from predefined effects and the outdated concept of instruments, patterns and pattern-orderlists at last!
GoatTracker V3.00 (F12=RTFM)
Channel 1 Channel 2 Channel 3 Common
FREQ PULS WV ADSR FREQ PULS WV ADSR FREQ PULS WV ADSR CTOF RC PV
00 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
01 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
02 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
03 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
04 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
05 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
06 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
07 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
08 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
09 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
:) |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Quote: Wow! Over 500 replies!
Shouldn't we get a price for that? :-D
this seems to be one of the longest and also surpirisngly creative disussion on the CSDb ever ;-) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Set vibrato in the wavetable seems to be more useful, than the normal instrument arpgeggio. :)
Example:
ADSR: 1D0C
01:11 01
02:11 00
03:F4 01 ; vibrato value 02 60
04:FF 03 ; loop pos. 03.
IMO it is more lively and even sounds good on higher octaves ...
---
Anyway, I found a problem in combination with this. (please look at the attached file)
http://rapidshare.de/files/21843139/test.rar.html
In GT everything sounds ok, but outside... (buffered SID-writes doesn't help, disable optimazion doesn't help)
Instrument 2 contains the vibrato in the wavetable (delayed for 05 frames)
It seems that it clashes with 1xx,2xy & 3xy cmds. (?) Some instruments works fine others not. :( I have no clue where the problem could be. It's possible to fix this "bug(?)"?
---
Btw. 'Join/split pattern':
So, how do I split patterns in the right way? Which is a good combination between files size and memory? What's about empty patterns - split them?
---
If there should ever be a new version ('the final' v3.0), then *only* TWO things are required.
- Note-independent portamento/vibrato. (however, it's possible to choose between (speedtable or automatic calculation)
- 4th digi-channel (that even works with 8580s)
... and maybe ...
- Stereo version :)
|
| |
Yodelking
Registered: Apr 2002 Posts: 189 |
Cadaver, when Nata says: "TWO things are required." he means "There's two things on my wishlist..." :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Nata, I'll fix the editor playroutine to work like C64. Whatever happens there, it's nonstandard :)
As for pattern splitting, it's your own headache. Remember that shorter patterns = longer orderlist. Btw. why even bother about memory before your coder tells you that music needs to fit in less space?
Btw. the next rapidshare-contained bug report will be ignored. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
cadaver wrote: "Btw. why even bother about memory before your coder tells you that music needs to fit in less space?"
Well, that is a good question! :-D
IMHO, a song should be as optimized as possible (even it isn't used in a demo...
edit:
cadaver wrote: "Btw. the next rapidshare-contained bug report will be ignored."
Ok, next time I will send it by mail. :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V2.44 out, now your song bugs in the editor in the same way as it should. (continuous pattern commands should only execute when there's delay or no-frequencychange in the wavetable)
If things go right, there won't be a next one :)
Btw. the difference in vibratos = according to tracker "standard", continuous effects never execute on tick0 (this also saves rastertime). But when you invoke effect from wavetable, this restriction doesn't apply.
To be honest, I'd have liked to add this restriction there too, but it might have resulted in too unpredictable behaviour. Except perhaps if the wavetable "waited" for the next frame then. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Now, do I have do convert all my wavetable vibratos to normal vib? wavetab. vibrato was a -cool- feature, but doesn't help me if I can't execute 1xy,2xy,3xy cmds :(((((((((((
---
cadaver wrote:"If things go right, there won't be a next one :)"
... and this means GT becomes 'unsupported'? :-I |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No, it means the ideal state is no more bugs/weirdness to fix.
Seriously, you have a weird kind of attitude problem/phobia about GT becoming "unsupported". SID composing is quite limited domain, at some point a certain editor is good enough, it doesn't mean it suddenly rots away and the old (or new) songs refuse to play :)
Actually it could be argued that only a stable platform can be learnt to be utilized fully (like the VIC-II chip), in retrospect I've possibly responded too eagerly to your whims and I guess there are people who have stuck to an earlier version 'cos some of the modifications (like $e0-$ef for silent waveforms) have been destructive to old songs :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Btw. you can have portamentos & wavetable-vibratos mixed by also calling the portamento with a 8XY command (have a toneportamento command invoke, which is looped constantly) You need a legato instrument to set the new note, and you naturally have to manually restart vibrato with another 8XY command after TP is finished.
It becomes rather like Ninjatracker -style programming, so there is a reason why instrument vibrato and normal pattern commands are better for most sane users :) And btw. it has to be a hallucination that the wavetable vibrato would be better for high notes. For a certain tempo, I'm sure you can calculate an equivalent sounding normal vibrato program. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Well, there is a difference! wavetable-vibrato sweeps slightly faster than normal vibrato....
But anyway, this is nothing special :)
----
Btw.
How the routine behind shift+L calculates the correct amount of time, f.ex if the pulse sweep shall go from $200 to $700 with speed 30 (and backwards)?
---
Sure, at a certain point the editor is good enough... |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Time = distance / speed. Then it's splitted to as many steps as needed (max. time per step = $7f)
The most complicated part is to follow the pulse table backwards to determine the starting pulse value. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, thank you Cadaver! ;) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Released one more version (V2.45) The optimization indicators are now shortened so that one more fits on screen, "RO". This means "realtime effects optimization" and if you click it or give the commandline option /R0, pattern commands, vibrato included, will no longer be skipped on tick0. As always, the price is rastertime.
(and it also breaks the tracker unwritten rules :)) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Released one more version (V2.45) The optimization indicators are now shortened so that one more fits on screen, "RO". This means "realtime effects optimization" and if you click it or give the commandline option /R0, pattern commands, vibrato included, will no longer be skipped on tick0. As always, the price is rastertime.
(and it also breaks the tracker unwritten rules :))
:-)
and therefore vibrato runs at a faster speed (swings faster)? :-D [if RO cmd isn't used]
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yes, normal and wavetable vibrato will be indistinguishable. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Sorry, me again. :)
Just some little thoughts (thought not featurerequest) for a later version (v3.0 or something between):
- A command line option to disable that evil (?) "one bit of accuracy"
- A command line option to disable the mouse support :)
- A tool that is able to merge several *.sngs to one module (subtunes)
- A 'key' (maybe a tool) that converts speedtable entries to the right speed if channels are transponsed in ordelist (+x,-x)
- Press shif+Enter over F1 xy, F2 xy, F3 xy, F4 xy ... in wavetable should work too.
- A mighty tool that allows to calculate cool sounding and non-linear filter slides for 8580 users. :-D
It's no problem if none of these features is ever included. :)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
<Message mostly ignored>
:)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V2.46:
- Added transpose of speedtable portamento speeds (SHIFT+Q,A,W,S)
SHIFT+W,S (octave transpose, multiply/divide by 2) also work in
pulse & filtertable.
- When editing the wavetable, RETURN & SHIFT+RETURN work for wave-
table executed commands as in patterns (go to table position
pointed by command, create new speedtable entries)
Btw. configurable 2x pulse speed won't come back; would lead to too much potential confusion as well as being a bitch to code, now that there's automatic conversion of old songs. You had your chance to veto it back then but apparently didn't think critically enough?
Also, far more comfortable to release incremental updates (of course at ever decreasing frequency) than think about a final release that cures cancer, hunger and makes coffee etc. :)
Finally, note that repeated application of SHIFT+Q,A in speedtable results in rounding errors (press SHIFT+Q 12 times and you won't get exactly double speed, but slightly less) |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
is gt still easy to understand for people who start with it right now?
---
oh, and may i request a commandline option that makes the whole thing look and work like jch? like, gt.exe /JCH. this would be awesome, thanks! |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I'd say it's still easier to understand than some prominent C64 music editors. Particularly if you have a background in tracker-like editors.
Actually, any of you are free to program the JCH mode and send the patch to me :) |
| |
Yodelking
Registered: Apr 2002 Posts: 189 |
Quote: is gt still easy to understand for people who start with it right now?
---
oh, and may i request a commandline option that makes the whole thing look and work like jch? like, gt.exe /JCH. this would be awesome, thanks!
If you want the program to work and look like JCH editor, I suggest running the JCH editor in CCS64 or Vice or on a real c64. I think that will save both you and Cadaver some time... |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
Quote: If you want the program to work and look like JCH editor, I suggest running the JCH editor in CCS64 or Vice or on a real c64. I think that will save both you and Cadaver some time...
i take it, you didn't spot the slight sarcasm in my original post :) |
| |
Yodelking
Registered: Apr 2002 Posts: 189 |
Quote: i take it, you didn't spot the slight sarcasm in my original post :)
Hehe, no... I think I would have understood it if you added a smiley, though... Reading some of the other requests here, I wouldn't be surprised if you were serious. :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Considering backwards/sideways sample playback (and with several channels software-mixed), JCH mode is nothing! |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: is gt still easy to understand for people who start with it right now?
---
oh, and may i request a commandline option that makes the whole thing look and work like jch? like, gt.exe /JCH. this would be awesome, thanks!
If you can whistle a ditty, you can also use Goattracker. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Though, for extra street cred, you could/should:
- Learn at most half of the effects/features (or 1/4 for extra credibility) and then proclaim on internet that GT sucks
- Extensively make use of the default instruments only (found in demo songs) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Cadaver, is there a way to make - audible - any sound-anomalies (ADSR bugs) in the editor??? (maybe a buffered/unbuffered SID-writes key? could help ;-P :-D ). So, everybody can hear if the current sound sucks or not. (stupid idea?)
Btw. it seems that there are always minimal bugs (often not really audible, but sometimes very ugly) in the packed songs (buffered/unbuffered).
- F.ex I've tried to load a song into my favourite noter (octanoter) - there are anomalies/bugs.
- I've tried your test player and there are somtimes minimal anomalies.
- I've tried PSID64 and it seems to be the most accurate for playback.
This accuracy problem already exists since GT 1.5x. So, it is always an extremely frustrating task to choose the right player for playback on c64. :-I |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
uh, there will always be small anomalies with emulation, if you want the real thing, use the real thing :=P |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: uh, there will always be small anomalies with emulation, if you want the real thing, use the real thing :=P
I don't use emulation for the final playback or testing my tunes. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
For playback to be totally accurate, the editor would have to contain a 6510 emulator, and always re-pack & relocate the song when you make a slightest change. Even in C64 music editors, differences between the editor & final playroutine's timing can cause trouble.
Consider that even if your song was used in a demo, the choice of raster position on invoking the player can cause differences (depending on badlines) to what you think is the "super correct" version.
Therefore it's impossible to make the editor reveal all kinds of anomalies that may result in *some* playback enviroment.
You just have to learn to be less anal, and to avoid troublesome ADSR settings.
In theory, you could achieve best stability by using the zeropage ghostregs player, but then you need to add code to dump the ghostregs to SID.
Old goattrackers used Hubbard-like hardrestart and thus were less susceptible to timing changes. You can blame Jammer & Smalltown Boy & CreaMD for requesting & instructing me in the ways of the "other" kind of hardrestart :) (I've always stated that I hate it myself, for causing totally unpredictable hiccups in NTSC mode, but such are the requirements to satisfy the demoscene)
Btw. it's never anyone but you that complains of ADSR bugs, do others
- just suck it up?
- use safe ADSR settings?
- don't care?
:) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Of course, if someone can tell me how to make the playroutine even more stable, it would be much more productive than bickering here :)
Now I added an experimental random delay to reSID writes to GT2.46, if you redownload now, you can test it. In theory it could flush out possible unstable ADSR settings.
For example goattrk2 /Z20 or /Z48 will introduce quite lovely bugs to an ADSR 00F1 instrument (delay of 20 or 48 cycles).
goattrk2 /Z0 turns the delay off. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Maybe, Shift+L (pulsetable - Limit-based modulation steps) could convert any speeds above $80 to "set pulse"-commands? :-D
Perhaps this solves the problem with the high speeds in pulsetable. (and it is more accessible than writing the cmds by hand)
---
Why gate gateoff timer can't be 2 if I song-speed is 2.
F.ex a song initially runs at speed 5.
I would like to convert it with Shift+P (expand) to speed 2, but gateoff timer 1 doesn't sound too good. No this ins't a feature request. I only want to ask if gateoff timer 2 would be possible. :)
---
Why siddump shows me:
08 ; testbit
20 , sawtooth+gatebit OFF
if I set in GT Hardres/1stWave to 00 and the wavetable contains a
E9 ; testbit+gatebit
21 ; sawtooth+gatebit ON
FF
Shouldn't it have the same effect like Hardres/1stWave 09 ? :-O
The 09 (or 01.., or 11...and so on) has to be always on frame 0? What would happen if it was possible to set (alternatively) from frame 1. How it would sound? Completely wrong?
(same here: this is no hidden feature request)
---
In v2.45 the packer removed at the beginning of a certain test-song the first or the third pattern (disable optimzation OFF). Unfortunately I can't reproduce this bug anymore (I've lost the testsong).
However, fixed that by adding a 'F06' command.
---
Now I shut up! :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
You seem to forget that firstwave 00 activates legato mode. This, among other things, means that gatebit won't be set back on, thus producing the expected dumped values. Use firstwave 02 or 04 if you want silence & gateoff without testbit. Of course you're free to experiment with whatever values, but usually gate off on first frame creates bad-sounding attack.
Playroutine cannot fetch new notes on tick 0 already, that's why gatetimer can't be equal to tempo. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok!
Now I will go and test the new version. :)
Edit: Hmm, for some strange reason it doesn't bug anymore in the newest version. (if packed, + without unbuffered SID-writes)
I have to do some further tests... |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I changed the unbuffered timing, now it's better in some cases (and possibly worse in others) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Worse in others? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
You have to test for yourself, when stuff fails, turn on buffering. Btw. v2.47 is now officially out and explains the changes. |
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
Quote:You can blame Jammer & Smalltown Boy & CreaMD for
requesting & instructing me in the ways of the "other"
kind of hardrestart :)
Impossible. I have never, ever, requested anything concerning hardrestart, for I don't know shit about it. :D
Quote:Btw. it's never anyone but you that complains of ADSR bugs, do others
- just suck it up?
- use safe ADSR settings?
- don't care?
- put the least bug-sensitive section into the troublesome channel?
- find some perfect hardrestart/ADSR settings and stick to them? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Ah, it may be that when remembering age-old emails, I confuse you and Jammer on occasion :)
Of course, the "new" hardrestart method generally produces much sharper results, so objectively it's better if a bit unstable.. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Old pulse settings are converted automatically to 'set pulse' cmds (if above 7f)? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No, only with SHIFT+L.
Because, it would be massive pain to make the conversion work properly in all cases. Consider for example a pulse loop which increases pulse by x amount and then runs back -x amount. It could be entered from multiple startpoints, but with "set pulse" steps, each startpoint would require an own program! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Shift+L doesnt creates negativ 'set pulse' settings...!? :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Fixed. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
The new unbuffered playroutine timing SEEMS to work quite fine. (for the most tunes).
Now, other songs like Stargate or Future Impulse need again buffered writes. :-D
F.ex the playback of a lot (or some) of notes is slightly choppy and some ADSR Bugs (f.ex F.Imp.) are back. (hehe, both songs use extremely dangerous ADSR settings)
..... maybe it's because I use headphones and I hear any minimal (not necessary ADSR Bugs) anomaly?
goattrk2 /Z20 or /Z48: Cooool! It shows unstable ADSR-settings (settings that CAN make trouble if the song is packed). :)
---
So, how do I use that zeropage ghostreg thing with you test-player.? If I save the tune with "Use zeropage ghostregs: Yes" I get only a mute playback...hmmm? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Bleh, changed back the timing. After all it only helped some quite extremely dangerous settings, and tick0 pattern commands could easily screw the timing.
To use example4, pack to $d000 (under IO) and choose zeropage address $02.
Of course you can also change example4 to play from $1000, but this includes various other haxoring; you might want to enlist help of a c0der for this. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, thank you! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
I need to do the following 'slide' with the legato. Song speed is 4 ticks/line:
A#4 11 0040 , frame 00
... .. .... , frame 01
... .. .... , frame 02
A#5 .. .... , frame 03
-----------
C-5 .. .... , legato starts here
... .. ....
... .. ....
C-6 .. ....
-----------
C#5 .. ....
... .. ....
... .. ....
C#6 .. ....
-----------
... but it seems to be impossible.
GT2 does the following:
... 01 0040 ,frame 00 ,HR. is disabled
A#4 11 .... ,frame 01
... .. .... ,frame 02
A#5 .. .... ,frame 03
------------
... .. .... , why legato doesn't start here?
C-5 .. .... ,legato starts here :_(
... .. .... , <- only one frame ...
C-6 .. ....
------------
... .. ....
C#5 .. ....
... .. ....
C#6 .. ....
------------
Is there ABSOLUTELY no way (a trick/hack or whatever) that allows to perform the example mentioned above? (but no playroutine-change)??
Isn't it possible to disable the gate-off timer (the 2frames hardrestart) if I use waveform values like 11,21,31,41,51,61,71, in 'HardRes/1stWave'? Any trick? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
You can disable the hardrestart, but notes will still not trigger/change on tick0. This is actually to make hardrestart and legato instruments appear to be in sync with each other.
I think you need a clever wavetable-program.. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Cadaver, please could you include a simple playroutine (dasm-source) that allows to use a second sid? (stereo) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
<Message ignored> |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: <Message ignored>
Why?
Then, I did everything for nothing :_(
and how i should use "/Lxx SID memory location in hex. DEFAULT=D400" instead, if not for stereo?
Isn't it possible to hack your example player "example1.s"?
(It should include two modules)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
It is trivial to hack example1, ask some coder to help. I don't want to help anyone indulge in masochism of composing left & right side separately, and clutter the GT distribution.
/L was primarily made for using other C= machines with SID addon mapped somewhere else. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, no problem! :-p ;) |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
just wondering, but do you guys talk to eachother via email too? :D |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: just wondering, but do you guys talk to eachother via email too? :D
:-D :-D :-D |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Hmm, I tested once again that shift+h command, but IMHO it isn't extremely useful. :-I
I've tried to create some "HIFI" vibratos, but it sounds like the hell. Do I use it in the correct way?
In fact it isn't too cool to use tons of 4xy cmd's - instrument vibrato is (for me) enough.
MAYBE it's possible to implement realtime calculation (some seperate cmd-line option could be useful) only for instrument vibrato? (Only if YOU want and if it will sound good)
!!!!!!Of course for some later, later, later, version!!!!!!
Anyway, I'm sure this question will get a nice <MESSAGE IGNORED> answer. :) :DDDDDD
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I think I've stated already that it belongs to another editor. GT ideology = no player intelligence, you tell exactly what speeds to use. Plus I'd hate to use command line options for something that totally screws playback for songs made with the "other" setting. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
:D
Ok, no problem. :) |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
OK, I havn't posted in this thread for along time now, but I must ask you nata, what are you up too? It seems like you look under every damn brick in GT and try to exploit it in the worst way possible or is that only my perception of it? :D Anyways, are you trying to make the Rolce Royce of a tune or something? :D I'm getting rather curious and expects some damn cool release soon.
Have fun!
/JackAsser
|
| |
Hein
Registered: Apr 2004 Posts: 933 |
The realtime vibrato can be usefull, but its not THAT important. A couple of handmade vibratosets is enough to satisfy this customer.
The most usefull feature lately is the wavetable 'pattern' command.
Isn't it about time to do a real finalsuperduperdeluxe Alpha version? I mean, skill can't be automated. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Alpha = as many bugs as to be unusable? (worse than beta) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
As in final. |
| |
TNT Account closed
Registered: Oct 2004 Posts: 189 |
Since when has alpha meant release stage? |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Dunno, since my memory allowed it to be, I guess. :)
Still, the point was a different one. You've probably missed it between the lines. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Couple of latest releases have been actually fixes for all shit introduced by adding features. It would of course help if I'd personally *use* the features, that way they might get tested :)
The concept of a final version is IMO not nice, because there will be releases afterwards anyway. Rather, it's more convenient to gradually slow down ... and ... stop (I pretty much see GT2 is in that state now)
If that's "becoming unsupported" then let Nata suffer :) |
| |
Linus
Registered: Jun 2004 Posts: 638 |
Natatracker IS in that state now indeed :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Natatracker IS in that state now indeed :)
Heee, cool idea!!! :))))))))))))))))))))))))))))) :-D :-D |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
What do you think about to include the following ... (hehe, just a joke) :-)
Well, I think my mission is accomplished. There is everything included, everything works perfectly and everything is as comfortable as possible. I'm sure a lot of future composers will be happy with this tool. (for many, many years)
To be honest, GT2 is the music-editor I've (and others too) ever dreamed about: It's a 'magic' editor. :)
---
One thing beside:
Are you sure that shift+h produces the same values as realtime-calculation (for vibrato) in other players?
I've tried to convert some melody-lines, but whatever I do it always sounds different. (sounds not good) :-I
Example:
my base value is 02 60:
A#4 01000
... 00000
... 00426 ; base value, shift+h creates a 00 1D
1. Why do I have to add on my self the speed value? (In this case 02)
2. Why doesn't it sound as lively as the original melody-line? (yes, my conversion is accurate)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
You didn't understand it right. Check readme again. Yes, it's a feature that you need to type the speed yourself, because the LEFT nybble is actually the amount of times to shift the result LEFT (multiply by two). This is rarely (if ever) used in C64 musicroutines, but included for completeness and for creation of fast speeds. You should actually leave the left nybble to 0 for most normal purposes, and then indeed, write the vibrato speed manually.
Compare your output with siddump and it should tell you the difference. :) Disable effect-skipping as required. (of course this is already quite far from what C64 music composing should be about)
Btw. v2.48 was released some time ago, fixes the /L sid baseaddress option to work with the assembled playroutine again. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Let's see if I've understood... :-I |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmm... :I
But what happens with my base value (02 20, 02 50, or whatever)? It seems that shift+h does what it wants. :-/
How I should know the amount of shift? Why a "shift left" + "shift right" is required?
Well, I know that I have to add my own speed value, but what's about the depth?
What happens if I enter the 4xy command some lines after the note (vibrato delay)? It's seems to produce different values.
... I have no idea...
Please, could you give some standard examples for note-independent vibrato?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Often there are a couple of right shifts (more consumes too much rastertime) - say 1 to 4. So you'd use 401 - 404 in the pattern, and Shift+H over that. Then keep using the same speedtableindex throughout the vibrato or it goes out of tune...
Speed is also often in the 1-4 range. Try & experiment, or use siddump.
Shift+H doesn't use any existing speedtable information (your "basevalue"), the only thing that matters is the note's frequency and amount of (right) shifts, just like in playroutines.
(actually the readme tells you that already, you just keep imagining things your way)
But IMO if you don't get it or don't get Shift+H to work satisfactorily, just ignore it. If you're converting a song, you can just look up each individual note's vibrato and enter that into speedtable directly. Sometimes btw. more advanced players use a sinewave form for the vibrato so that direct conversion is impossible anyway, then you can note the total frequency amplitude & time taken for each vibrato cycle, and calculate a roughly equivalent trianglewave vibrato (left as exercise :)) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmmm. But Siddump shows me only the "base value"?!
Perhaps siddump doesn't recognize everything. :_(
Well, I've re-worked some old conversion, but the problem is that the melody-line doesn't sound 100% (let's say 98%-99%). It's not that I'm fussy, but the melody's feeling must be 100%. I don't think it would be a good idea to guess or experiment around.
Actually, if I enter f.ex 401, 402, 403, 404, it isn't possible detect if the other player uses same values... but however. :D
Of course: I can't have all, I can't have all... :-))))))
Btw. siddump interprets the $09 (at frame 0) as $01 if the player is the 'magic' sosperec-editor. Funny? :)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
If you want 100% same feel, you must ensure that the frequency changes are same on each frame, when you compare the dumps of the original and your version side-to-side :) You're right that it's not easy to deduce the shift parameter from dump output; the player might not be using the "frequencydifference and shift" (Shift+H) method at all!
Siddump should not be "interpreting" anything; the player is using firstframe value 1?
Anyway, I'm quite sure this discussion is very funny to outsiders and (IMO) you should seriously consider what you're actually contributing to C64 music scene. What is the value in a 100% exact copy? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
...well, probably I do nothing contribute to the c64-scene. Everything is for own pleasure and fun with GT2. :)
100% accurate is if it sounds not different. Ok, minimal differences are allowed (something that only siddump shows), but the general feeling must be there.
Actually, one of the problems with 4xy cmd's is that they aren't very flexible. F.ex what happens if I have (must!) to set a new Release value at the same step when the 'hifi' vibrato begins??? Hmmmm? :)
c-3 00F06
... 00000
... 00402 ; ... I would like to set a new Release value ... :(
... 00402
... 00402
---
Yes, siddump shows me a $01 instead of a $09. :)
This happens only with the sosperec player.
---
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
And when I look at X-Out, there's even $08! Woohoo :)
You can make the sustain change happen in the wavetable. Btw. there are probably not many editors/players that allow any combination of effects at the same time or very close to each other.
Btw. it could be argued that even the very sight of someone writing on forums about exploits in siddumping & covering songs 1:1, as well as the finished releases themselves, are highly morally destructive and when someone currently inactive or considering quitting sees this, he definitely realizes that C64 music scene is doomed and must be quitted forever :)
..or then I'm just paranoid and look too much into things. But the point is, that everyone has responsibility, even when you try to hide it by saying something like "Everything is for own pleasure" and it's not simply that more releases = more good. We know that from the current C64 game scene already. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Actually, I can't see anything worse on my newest release. (maybe it's quite a boring tune?) :P
... and which responsibility?
---
Sustain change in wavetable works but isn't oldskool style.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Responsibility for the development & morale of the scene.
Ok, it's perfectly fine by me if you deny yourself a solution by saying it's not oldskool. :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Responsibility for the development & morale of the scene.
Ok, it's perfectly fine by me if you deny yourself a solution by saying it's not oldskool. :)
... but wavetable-pattern-effects aren't oldskool...! ???!? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Well, GT2 on the whole isn't oldskool in any meaning of the word. An oldskool editor has usually 20+ instrument parameters instead of any significant step-programming capability (beyond wavetable perhaps), and definitely doesn't dynamically assemble the playercode :) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: ...well, probably I do nothing contribute to the c64-scene. Everything is for own pleasure and fun with GT2. :)
100% accurate is if it sounds not different. Ok, minimal differences are allowed (something that only siddump shows), but the general feeling must be there.
Actually, one of the problems with 4xy cmd's is that they aren't very flexible. F.ex what happens if I have (must!) to set a new Release value at the same step when the 'hifi' vibrato begins??? Hmmmm? :)
c-3 00F06
... 00000
... 00402 ; ... I would like to set a new Release value ... :(
... 00402
... 00402
---
Yes, siddump shows me a $01 instead of a $09. :)
This happens only with the sosperec player.
---
Nata, your 8580 tunes sound different on a 6581. You intended it that way, or are you running out of luck? :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Oh, that means the autodetection code is broken again :) |
| |
Laxity
Registered: Aug 2005 Posts: 459 |
Quote: Well, GT2 on the whole isn't oldskool in any meaning of the word. An oldskool editor has usually 20+ instrument parameters instead of any significant step-programming capability (beyond wavetable perhaps), and definitely doesn't dynamically assemble the playercode :)
20+??.. You're kidding right!.. I think my old players (they have to be old enought to be truly oldskool, 1987) have 8 parameters per. instrument. Some slightly later version have wavetables, put no step programable stuff. No editor either ;) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: 20+??.. You're kidding right!.. I think my old players (they have to be old enought to be truly oldskool, 1987) have 8 parameters per. instrument. Some slightly later version have wavetables, put no step programable stuff. No editor either ;)
We're not all THAT old. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Nata, your 8580 tunes sound different on a 6581. You intended it that way, or are you running out of luck? :)
... another day, another bunch of questions... :)
1. Maybe you could explain why the frequency isn't set on frame 0 ?
This can cause bugs if waveforms $91,A1,C1, .... in "1stWave/Hardres" are used.
2. Why the gateoff timer can't be set to 0 ? Sync problems?
... maybe gateoff 0 could be useful?!
3. If someone would like to code on his own the note-independent vibrato .... Is this possible with the current playroutine?
IMHO shift+h is only a temporary solution and has nothing to do (or not much) with the real thing. :P
4. Shift+U is absolutely cool (not only my opinion), but always resets after closing GT2. Any chance for a cmd-line option? ... > please < ...
---
@Hein
May I ask you what you mean?? |
| |
Linus
Registered: Jun 2004 Posts: 638 |
are you seriously trying to tell us it's a problem to press 'shift+u' after starting goat? sorry but it is getting ridicoulus :)
what's next? 'compose-hit-autopilot'(press shift+alt+a)? :) |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
linus, that would be a cool addition indeed! either style could be predefined in the commandline, such as GT.exe -bohlen / GT.exe -fahrenkrog-petersen / GT.exe -farian .. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
Quote:
linus, that would be a cool addition indeed! either style could be predefined in the commandline, such as GT.exe -bohlen / GT.exe -fahrenkrog-petersen / GT.exe -farian ..
i totally agree with that :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Btw.
Bohlen ROCKS! |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I have the feeling that the issue of noteinit has been discussed already many times. The purpose of a silent frame is to stabilize the attack part of ADSR, as well as mask the inactivity & save rastertime. In all my experiments, making the first frame audible with this kind of playroutine (writing ADSR before wave, JCH-style) leads to very sloppy and bad sounding attack. If you write wave before ADSR, it's a whole different story, and a whole different playroutine.
And in GT, setting frequency is totally tied into execution of wavetable. It would be probably a trivial hack to start wavetable exec. directly on the first frame, and having then to execute a row of E9 00 manually if a silent 1stwave was desired, but that is for your personally selected codeslave, not me, as I don't like to support suboptimal operation of the playroutine in official releases :)
As a summary, IMO the solution is simple: do not make the 1st frame audible :) The player is not meant to support that.
You do realize that gatetimer 0 means fetching new notes (and at the same time, performing gateoff/hardrestart) and doing note initialization on the same frame? This is not possible in GT for the horrible rastertime utilization it would cause, and it would make no sense, for then there would be no full gateoff/hardrestart frames, and the ADSR would bug or not function at all like expected.
Finally, it's very funny (or maybe not) that sometime ago you wrote to the effect of "now I'm satisfied" and then a couple of days later there's another question/requestlist. If you like Sosperec editor so much, maybe you should stick to it :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Btw. that last post inspired to release v2.49, which adds /G command line option for a safety feature: gatetimer change in one instrument will affect all (as bugs easily result otherwise), and firstwave will always be in the inaudible range (00 for legato, 01-0F for hardrestart and 81-8F for no hardrestart).
On by default, turned off with /G0.
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Of course, I'm more than satisfied with GT. :)
And I do appreciate the (hard?) work YOU offer/spend for it.
Well, it wasn't supposed that this last questionlist contains requests (like a cmd-option for shift+u), but as it is a minimalist of request... :)
Sosperec: Well, in comparison to other DUR players it's quite 'userfriendly' and the player is advanced. But it is far away from the user-friendliness of trackers.
------
You wrote (some posts earlier):
"GT ideology = no player intelligence"
Hmmm. But Hard-restart contains intelligence? It is pre-calculated?
How we can detect where the "player intelligence" begins. Cadaver? :-D
From a 'musicians' point of view auto-calculation (In particular only: vibrato) is always (?) a good thing, since this means he can take care to more important things ...
Anyway, I think GT is very interesting for both (musicans&coders):
- If someone likes to include his music in demos/games or whatever GT offers already tons of optimzations. (Maybe it's possible to shrink the assembled playroutine a little bit more - who knows?)
- For musicians: "disable pulse-optimization" & "realtime effect skipping off"
(Something that satisfies me quite a lot) :)))
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
IMO hard restart contains no real intelligence, you tell it what to do and it always does the same thing when given same parameters. Or maybe you misunderstand what it means. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: IMO hard restart contains no real intelligence, you tell it what to do and it always does the same thing when given same parameters. Or maybe you misunderstand what it means.
.... maybe :)
Btw. nice update! |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No, it's not, it's supposed to piss everyone off ;)
And yes, you are welcome to try to shrink the playroutine. Otherwise, it's nearly 100% useless to make comments like "maybe it can be shrunk..." |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
and after v2.49 comes v2.50 ? ;) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Why, do you think it has some magic significance? As always, it's preferable that it will not come, but will be done if painfully necessary. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmmm. Shift+h still produces sometimes complete trash... :_(
... needless to say more ... |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
My guess is that you still can't use it properly. Notice that for vibratos, depth will be always ANDed to $00-$FF range, so you can't create very wide vibratos at high octaves. |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
@cadaver: Not that I have the faintest idea what you're talking about etc. but my bug-alarm just bleeped and I thought I'd share that an AND #$FF doesn't bound with saturation. Now I don't know if you want to bound with saturation or simply keep the value within a given range... :D
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yes, I changed the wording of the message later. :) Actually if you redownload v2.49, it now saturates vibrato parameter to $ff.
(of course it doesn't really matter what method is used to keep the value within range, if it goes over it's still not what the user wanted, but that's the system you have to work with) |
| |
Frantic
Registered: Mar 2003 Posts: 1627 |
Some (rough?) auto-generated statistics on the number of posts by different persons in this private, but still official, thread:
229 cadaver
224 nata
41 Hein
24 Linus
17 Raf
15 Randall
11 dalezy
9 Turtle
7 CreaMD
6 Yodelking
5 JackAsser
3 carlsson
3 Bordeaux
2 ninjadrm
2 Steppe
2 Puterman
2 Groepaz
1 anix
1 Twynn
1 Stryyker
1 Richard
1 Oswald
1 Mihai
1 Laxity
1 Kenho
1 Frantic
Cadaver and Nata are responsible for 74% of the 611 posts.
I really can't figure out what makes me follow this thread. I think I need help. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Thanks for this very meaningful contribution. Though I guess it's still more useful to talk in public about featureset, even if others don't contribute much. However, if you aren't interested in the featureset but still follow, then you're right, you need professional help. :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Well, my guess is that it wouldn't be a bad idea to include the "real thing". ;)
Why not let decide the user if he want's to use pre-calculated vibratos or not?
Shift+h will be there anyway, since it is required for "optimized" composing.
I'm sure a seperate cmd-line option would do a perfect job.
Personally, I can't see any "intelligence" behind realtime calculation. It's not more/less intelligent as other player components of GT. So, it wouldn't clash with GT's "no intelligence" philosophy.
4xy cmd's are only for masochists ...
I won't use them because they only wastes pattern-lines which usually are used for other (more important) settings. (And no, it isn't always possible to "underneath" 4xy cmds)
"huge rastertime" usage could be an argument against realtime-vibrato, but for me it isn't important at all. I doubt that it will be higher than in other standard players.
... that's my "enthusiastic" opinion. :)
Actually, I would be glad to see some code examples (with comments) of note-independent vibrato. Anyone?
---
About shift+U: Ok, a cmd-line option isn't required. However, IMO it should remember all it's settings when closing. (like most other pc program too). Why make an exception in this case?
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
.... maybe we should close this tread...?! :_( |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
... maybe nata should learn coding? :=P |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
..so that you won't be tempted to post more, or so that no-one else can post either? :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Well, unfortunately I will never learn to code.
However, it's just a question of time until I stop composing (so, any problem should be solved.) :-D
Cadaver wrote:
"..so that you won't be tempted to post more, or so that no-one else can post either? :)"
Hmm, the more I think about that.... :-P
BTW: Now this thread has nearly 10.000 views!!!!!!!! |
| |
Turtle Account closed
Registered: Jan 2002 Posts: 70 |
Maybe, I should release this GIGA-Thread at CSDb but I can't find the "wild" category....
It's somehow funny: 377 days and 617 replies meet in only 49 minor versions of improvement.... bah!! ;-)
cadaver: your stamina is absolutely admirable. Thumbs up!! |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
It's rather like the whole development of GT1, but condensed into one year. But of course that is good if I don't have to bother with further upgrades now :) |
| |
Turtle Account closed
Registered: Jan 2002 Posts: 70 |
To be honest, isn't there a "little nata" in everyone of us?
Technical equipment can be used for good or evil. If all your efforts in improving GT2 will be used to please the audience, every line of code was worth it. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: It's rather like the whole development of GT1, but condensed into one year. But of course that is good if I don't have to bother with further upgrades now :)
I had the same thoughts. :)
Btw. When is the fifth anniversary of GT? :-D
EDIT:
Now, it seems that shift+h works quite nice. Thanks! ;)
---
@Frantic: Nice statistic!! :-D
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi there!
I have some idea. :)
I think this could be very interesting for every GT user (the statistic created by Frantic tells these "interested" users/people). So, everyone who is interested - don't be shy and write what do you think about this ...
(Anyway, I know that Cadaver will read this but won't answer.) :P
The basic idea is a kind of limit-based pre-calculation of filter-slides and maybe pulse-slides too. (in pattern editor)
This would allow to create quite complex/advanced/modern slides in a quite easy way.
Example:
00 C-201A05 ; start value/cutoff $05 "task 1"
01 ...00000
02 ...00000
03 ...00000
04 ...00000
05 ...00000
06 ...00000
07 ...00000
08 ...00000
09 ...00000
10 ...00A80 ; end value/cutoff $80 for "task 1". / "task 2" start ...
11 ...00000
12 ...00A01 ; end value/cutoff $01 for "task 2"
13 ...00000
14 ...00000
15 ...00A07 ; ....
16 ...00000
17 ...00000
18 ...00000
Well, first you need to specify the start + end value. The problem is that this calculation needs to know the song tempo. However, the easiest way to get the tempo value is to check the first three patterns in the song (always the first pattern line), since it is quite common to store there the speed of the song.
> "task 1"
F.ex. If you press shif+h over "A05" (means cutoff = $05) the routine does the following (simplified):
1. Look for the song speed
2. Calculate: time/speed which is required to reach cutoff $80 at pattern step 10.
3. A speedtable entry is created. Note: For the first entry you have to add manually the "set filter" value.
> "task 2"
Then you press shift+h over "A80" (cutoff = $80):
1. Look for the song speed
2. Calculate: time/speed which is required to reach cutoff $01 at pattern step 12.
3. A speedtable entry is created. Note: This is a decreasing slide. (Creates negative modulation speed.
So, what do you (everyone) think about this "feature"? |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
I think you're too lazy to use the windows calculator... ;-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Any "intelligent" calculation that depends on measuring a distance from the pattern is a bad idea, 'cos you need to know the tempo the pattern is played at, and there might not be a single correct answer. And this is something that has already been discussed. :) |
| |
Soren
Registered: Dec 2001 Posts: 547 |
@cadaver: Well, some people just don't get it, how things are meant to be in c64 players :-)
No need for too much fancy stuff.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
@Jeff: it's of course trivial (when we talk about C and flat 32bit address space) to simulate-play the song in the editor up to the point that we know the tempo, but what bothers me is that there can be another occasion later in the song of the same pattern, played with another tempo. Therefore if I can't do a feature 100% right, I reserve the right to not do it at all :) |
| |
Soren
Registered: Dec 2001 Posts: 547 |
@cadaver: I follow you at that point... Also I think the fun part in doing c64 music is to think a bit creative, like what can I do with these features I've got in this player/editor.
Often there are other ways of doing things. :) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
I think it's a handy feature, but also doable with some trial and error using a handmade filtertable.
There is something else that I find a bit annoying myself, the vibrato table has very low resolution on fast vibratos. At 1x there are only a few vibrato speeds that are usable (personally I think $01 and $02 for melodies). The $80 speed (very very slow) is totally useless. Why not shift it twice, so at 1x there are 8 usable speeds, still keeping enough usable vibratospeeds for 2x, 4x and 8x songs. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Now I don't completely follow. The speedtable should allow you enough control :)
To recap: Left byte (speed) values:
00 - up 1x, down 2x, up 2x etc.
01 - up 1x, down 3x, up 3x etc.
02 - up 2x, down 4x, up 4x etc.
03 - up 2x, down 5x, up 5x etc.
all the way up to $ff. The $80 bit was actually for finetuning vibrato *depth* in time before speedtable.
Right byte (depth) is directly the value added/subtracted from frequency on each frame of vibrato. What's exactly that you want changed? There's no way (I think) to increase control without rewriting the vibrato algorithm.
I know other players might have table lookup-based vibratos, but this has been GT tradition for 5 years or so. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Well, it was never planned that it supports songs with different tempos. :)
But anyway, it shouldn't be a problem to temporary change the "start-tempo" to another value for calculation in other patterns (that runs with a different speed)
The routine should look for Fxy cmd's on position 00. It doesn't depend on pattern numbers.
pos.00
66
01
23 ; the Fxy is f.ex in pattern 23
---
It's always funny to see why nobody else requests interesting features like this. Maybe people are too shy or not interested? I don't know... ...
Anyway, since for GT2 no realtime calculation is desired, my suggestion would do a good job for everyone.
---
@jeff
Well, this tool runs on pc. So, every fancy stuff is allowed. ;)
And who knows, tomorrow it's maybe standard for every other player. :P
And furthermore: Maybe it's a point of view, but it isn't a good idea to limit the PC-player/editor. Not only because a lot of people will use it, but even it stops the progress.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Considering nonlinearity of filter, is it even useful, or musical, to think about reaching a certain cutoff value on a certain step? I mean, I don't think the brain can really imagine how the whole slide will sound, but rather trial & error is required anyway.
Pulse, on the other hand, usually goes on its own. Listen to Airborne Ranger maintune for some targeted pulse slides, they're ugly :)
Of course a nice editor would have all kinds of (pre)calculations, but preferably they'd be actually musically applicable. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Considering nonlinearity of filter, is it even useful, or musical, to think about reaching a certain cutoff value on a certain step? I mean, I don't think the brain can really imagine how the whole slide will sound, but rather trial & error is required anyway.
Pulse, on the other hand, usually goes on its own. Listen to Airborne Ranger maintune for some targeted pulse slides, they're ugly :)
Of course a nice editor would have all kinds of (pre)calculations, but preferably they'd be actually musically applicable.
8580 filters .... ;)
Of course there will be (at the beginning) some trial & error.
Cadaver wrote: "I don't think the brain can really imagine how the whole slide will sound"
Since people can compose even without any sound output - why not?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Does your brain know (without hearing) that for example a slide ending to cutoff $18 with speed $03 will sound sexier than one ending to $28 with speed $02, when there are voices playing notes X and Y on other channels :)
|
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: Now I don't completely follow. The speedtable should allow you enough control :)
To recap: Left byte (speed) values:
00 - up 1x, down 2x, up 2x etc.
01 - up 1x, down 3x, up 3x etc.
02 - up 2x, down 4x, up 4x etc.
03 - up 2x, down 5x, up 5x etc.
all the way up to $ff. The $80 bit was actually for finetuning vibrato *depth* in time before speedtable.
Right byte (depth) is directly the value added/subtracted from frequency on each frame of vibrato. What's exactly that you want changed? There's no way (I think) to increase control without rewriting the vibrato algorithm.
I know other players might have table lookup-based vibratos, but this has been GT tradition for 5 years or so.
There's always a workaround to every detail, and probably Im too much focused on using different vibos than the ones available. But simply put, what if I need a vibrato speed between value $01 and $02? A 2x tune allows for this, then it would be value $03, a 1x tune would need 1.5.
Maybe its needed to have frames that dont do anything for that to accomplish. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Does your brain know (without hearing) that for example a slide ending to cutoff $18 with speed $03 will sound sexier than one ending to $28 with speed $02, when there are voices playing notes X and Y on other channels :)
Well, IF it isn't the same then maybe YES. :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
@Hein: show me the code that will skip vibrato frames. Preferably in less than 16 bytes :)
You can probably program a wavetable loop that accomplishes a certain "inbetween" vibrato, though. |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: @Hein: show me the code that will skip vibrato frames. Preferably in less than 16 bytes :)
You can probably program a wavetable loop that accomplishes a certain "inbetween" vibrato, though.
...
Ah, that sounds like a good workaround. I will try that.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Another way to slow down vibrato is to put a fast tempo on a channel and make sure "realtime-effect optimization" is on. Each tick0, the vibrato will not run. |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
still, if it isn't too much hassle why not implement auto-depth calculation of vibrato by a command-line option? For tracks supposed to eat less rastertime it could be switched off.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hmm, I think I've explained enough times now that in my opinion it doesn't belong to GT. (it pays to read the whole thread :)) Anyone is free to hack it and use in a personal version (or even release that), though. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Cadaver, "Airborne Ranger" doesn't sound bad/ugly at all. :)
It's a good example to show what could be done with GT2 + "limit-based" programming of filters/pulses in patterns. IMO it would be very, very, very flexible and comfortable + advanced.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
During the time it took you to listen to AR and write the reply, I'm sure you could have calculated quite a lot of filter & pulse slides with calculator :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Then, tell me how to calculate...
Calculating with calculator isn't composing and not fun. Plus it is extremely slow. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
To be honest, if you can't figure it out yourself, I have no interest & obligation to tell ;)
Think a bit yourself, instead of "gimme gimme gimme" everytime things aren't exactly how you want them. This is afterall the csdb which is supposed to represent the best c64scene has to offer, before everything sinks into the mediocrity of lemon and other romz sites :)
Hint: it's not complicated. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmm, how can I convince you to implement this feature?
Money? Where is the donate button?
Then, maybe even a nice digi-channel comes true... :-D
---
Sorry, but I'm not patient enough for haxoring around with the calculator.
For my taste it's really unmusical.
The only thing I wish is to compose in a unconcerned way. :)
But however... :-I
Nobody would compose with GT:
If f.ex the frequency of every note has to be calculated every time with the calculator. Don't you agree?
About: "gimme gimme gimme":
Well, everytime if things aren't exactly how I want - I switch on my brain and consider "Which kind of features I can request, in order to make Cadavers life more difficult?" :))))))))
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
a digi channel....now thats something i would like too.... if i would ever come around doing a tune again :=D |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
@Nata: not only the reason I've already stated, but filter slides would rarely reach the destination on the intended spot. Next you'd be begging for more accuracy in the cutoff frequency.
And another helpful hint: whenever you find yourself spewing tons of text, it's probably not going to help you. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Btw.
"Optimize everything" erases instrument 63 if used for controlling the tempo. :)
The packer works fine! It doesn't remove it.
---
It's interesting to see how useless the repeat-cmd's are. (if "optimzation" is "ON")
Even in "normal mode" they hardly have advantages. :)
What I mean? Well, if the song is already optimized with sngsplit2.exe, then repeat-cmd's only increase the playroutine and the file size. ;-P
---
Have you ever thought about a kind of songsplit that is accessible from packer? It should be as good as sngspli2.exe, but automatically find the best split (compromiss between filesize & memory-usage)
For me it's no problem to use the cmd-line tool, but as I see many people don't recognize that they have to split their songs... :-D
Further, It would be quite useful to see more statistics within the packer: file size of single instruments/optimized tables, included routines and everything what could be useful.
---
Do I never get tired of GT? Probably not!
But maybe, now it's time to make holiday from it. :)
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: @Nata: not only the reason I've already stated, but filter slides would rarely reach the destination on the intended spot. Next you'd be begging for more accuracy in the cutoff frequency.
And another helpful hint: whenever you find yourself spewing tons of text, it's probably not going to help you.
Hmm? cutoff isn't accurate enough? ;) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Fixed the optimizer bug, and also multispeed default tempo (v2.5 out now) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Fixed the optimizer bug, and also multispeed default tempo (v2.5 out now)
Heee, but v.2.5 hasn't any new & cool features? :-I |
| |
Yodelking
Registered: Apr 2002 Posts: 189 |
Quote: Heee, but v.2.5 hasn't any new & cool features? :-I
Did you try /digi in the command prompt? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Did you try /digi in the command prompt?
Heeeeeeeeeeee! :_( |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Did you try /digi in the command prompt?
Is this a joke? |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
I did a quick test with the Turbo Outrun samples and it seems to work fine here. Hit Strg+Shift+D in the editor to get to the digi patterns. Great job, Cadaver!!! \o/ |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
@steppe + Yodeling
Hey, why you both make such stupid jokes?
And why there should be a secret digi-channel?
Btw. Any oldskool-digi implementation is pure shit. Looping samples are the minimum. 8580 support should be standard. And not to forget: Audible editing is an absolute -> !!! ABSOLUTE!!!! MUST!!
No "audible" editing is one of the reasons why 99% of all c64-editors are on my personal hate-list.
---
Edit:
Anyway, now I did my own 3+digi editor. Still it looks very raw, but it works quite fine for me. Please don't complain - there won't be daily updates, because YOU can't have all.
Ok, here you can see a first picture of it:
http://img81.imageshack.us/my.php?image=trackerdigi5dj.jpg
|
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
I think GRG's custom digiplayer has some of the features listed, for it sounds very advanced. But it is, FORTUNATELY, unreleased, and we don't have to face a flood of painfully amateurish pseudo-4-channel tunes, made up from example samples, badly looped and all in all unlistenable.
If you don't agree, look at the amount of Reflextracker tunes available. How many of them (leaving PVCF's works out) are actually good? Two? Three? Some tools should never reach public hands. |
| |
Yodelking
Registered: Apr 2002 Posts: 189 |
Quote: @steppe + Yodeling
Hey, why you both make such stupid jokes?
And why there should be a secret digi-channel?
Btw. Any oldskool-digi implementation is pure shit. Looping samples are the minimum. 8580 support should be standard. And not to forget: Audible editing is an absolute -> !!! ABSOLUTE!!!! MUST!!
No "audible" editing is one of the reasons why 99% of all c64-editors are on my personal hate-list.
---
Edit:
Anyway, now I did my own 3+digi editor. Still it looks very raw, but it works quite fine for me. Please don't complain - there won't be daily updates, because YOU can't have all.
Ok, here you can see a first picture of it:
http://img81.imageshack.us/my.php?image=trackerdigi5dj.jpg
Nata, sorry if you thought it was a stupid joke, I actually thought everyone understood it was a joke.
Since Cadaver said digichannel will never come, and he said 2.50 is just another version number, not a number where he would add something special, I thought it was quite obvious that I was just joking. |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
It was just a joke, calm down. I hate holding up that "irony" sign if it's really obvious... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: I think GRG's custom digiplayer has some of the features listed, for it sounds very advanced. But it is, FORTUNATELY, unreleased, and we don't have to face a flood of painfully amateurish pseudo-4-channel tunes, made up from example samples, badly looped and all in all unlistenable.
If you don't agree, look at the amount of Reflextracker tunes available. How many of them (leaving PVCF's works out) are actually good? Two? Three? Some tools should never reach public hands.
Fortunately unreleased? :-)
Well, I don't agree. Not anybody is a professional composer. IMHO everyone should have the opportunity to compose digi music (in a simple way). It doesn' matter if it sounds worse.
Ok, I own the version from 2003, but there is no audible editing of digis. This is something that sucks. :-( |
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
C64 digis are something that sucks. Most of the time. Sucksucksucksucks. It's hot in herre produced by the neptunes and I'm slowly getting out of my mind, I'll be back in a few weeks. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: C64 digis are something that sucks. Most of the time. Sucksucksucksucks. It's hot in herre produced by the neptunes and I'm slowly getting out of my mind, I'll be back in a few weeks.
Maybe oldskool digis suck, but not newskool. :))))) |
| |
Laxity
Registered: Aug 2005 Posts: 459 |
Quote: C64 digis are something that sucks. Most of the time. Sucksucksucksucks. It's hot in herre produced by the neptunes and I'm slowly getting out of my mind, I'll be back in a few weeks.
You forgot to mention that c64 digi sucks.. So I'll do it for you: "c64 digi SUCKS... Badly" |
| |
Tch Account closed
Registered: Sep 2004 Posts: 512 |
Quote: You forgot to mention that c64 digi sucks.. So I'll do it for you: "c64 digi SUCKS... Badly"
Not on my C64II they don´t! ;) |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Quote: I think GRG's custom digiplayer has some of the features listed, for it sounds very advanced. But it is, FORTUNATELY, unreleased, and we don't have to face a flood of painfully amateurish pseudo-4-channel tunes, made up from example samples, badly looped and all in all unlistenable.
If you don't agree, look at the amount of Reflextracker tunes available. How many of them (leaving PVCF's works out) are actually good? Two? Three? Some tools should never reach public hands.
I hope what you had written is not serious.
if GT Weren't public you also couldn't compose your own music , right? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
GT isn't the only editor in the universe? :) |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Hey , Cadaver ;p Randall uses GT mainly or only to my knowledge :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: GT isn't the only editor in the universe? :)
Of course, it is the ONLY for PC! ;) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
god forbid using a c64 editor in an emulator! OH NOES! |
| |
Raf
Registered: Nov 2003 Posts: 343 |
@nata: actually there is one more PC-sid tracker , from the maker of sidulator :) supports hardsid and resid emulation.
and... I consider composing using GT and hardsid/fake hardsid composing on real thing :)
yesterday I just setup my c64 near PC to use it fot gt and listeting to sid-music. and shitty win xp supports it too after some fighting :)
men , it's way better than resid and muuuuch cjeaper way than hardsid , and there is no fucking latency in editor at once! and you can use vice with real C64 sounds too ;p |
| |
Raf
Registered: Nov 2003 Posts: 343 |
oh my post @ 2006-07-12 00:21 was the 666th if I counted it properly...am I devil? ;-) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: @nata: actually there is one more PC-sid tracker , from the maker of sidulator :) supports hardsid and resid emulation.
and... I consider composing using GT and hardsid/fake hardsid composing on real thing :)
yesterday I just setup my c64 near PC to use it fot gt and listeting to sid-music. and shitty win xp supports it too after some fighting :)
men , it's way better than resid and muuuuch cjeaper way than hardsid , and there is no fucking latency in editor at once! and you can use vice with real C64 sounds too ;p
Let's see if this other Pc-sid tracker rocks.... :-I
Btw.
... where I can find Hardsid fake drivers? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Heh, it'd be beneficial if nata takes up knorbul as his primary tracker, and thus featurerequests are redirected :)
Though if the website was up-to-date, there's still some way to go (like adding C64 replay code) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Bleh, that other pc tool seems not to produce familiar SID music?!?! :D
knorbul: a veeery inspiring name
---
Btw. latency sucks! :)))))) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
Quote:Bleh, that other pc tool seems not to produce familiar SID music?!?! :D
hu? if this: http://mc.sys5.se/music/Mindcooler%20-%20Dark%20Force.mp3 doesnt sound like SID music to you, you arent familiar with it at all! |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I guess nata means it doesn't sound hifi and modern enough.
Hifi and modern ... grim & necro of the C64 music scene :)
(EDIT: Ahaha, postcount 666, SATAN IS STRONG IN ME!!!)
(EDIT 2: We need musiceditors to enforce rules of SID music, they can't be allowed to save a song without pulsemodulation, otherwise someone might think that's all the editor can do! God forbid anyone try covering Wizardry in GT...) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
strangely enough, quite a lot of my alltime favourites (super huey, aztec challange, killerwat...) are terribly non hifi. and i love it. thats rock'n'roll for ya! screw those polished sissie sounds :=) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
I think GT does a better job. That other tool is quite confusing. Plus I only can see a white pattern editor??
But anyway, I CANT HAVE ALL :P
Edit:
Yeah, that tool (I cant remember its name) seems to produce only something like atari 8bit. I guess it isn't really modern/hifi enough. :) |
| |
Laxity
Registered: Aug 2005 Posts: 459 |
Quote: strangely enough, quite a lot of my alltime favourites (super huey, aztec challange, killerwat...) are terribly non hifi. and i love it. thats rock'n'roll for ya! screw those polished sissie sounds :=)
I know EXACTLY what you mean.. HiFi up the bum!.. Composition comes before nifty sounds. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmm, what happens if a song contains transpose values?
It's absolutely impossible to enter any usable note values since the pattern is "out of tune", but not the instrument. (with the same amount)
Ok, I think should be hard to detect the current transpose value - so it's not a bug. :)
---
@Laxity
Laxity wrote:"Composition comes before nifty sounds"
I think there aren't many c64 musicians that are able to compose a nice song with advanced/nifty/up-to-date instruments. :I |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
@Nata: maybe you should start a knorbul thread and not clutter this one
(at least I assume that's a knorbul question, 'cos it doesn't seem to make sense for GT) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
Quote:
I think there aren't many c64 musicians that are able to compose a nice song with advanced/nifty/up-to-date instruments. :I
that said, where are yours? or are you trying to blame your tools for your inabilities?
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Btw.
Cadaver! Have you ever thought about to make a REAL tracker for the c64? (Of course you have thought about that)
There are a lot editors that abuse the name "tracker", but actually are DUR based. :I
Unfortunately your NINJA is not TRACKER. :-]]]
F.ex:
"Acid Track Creator" = DUR.-editor
"Doubletracker" DUR.-editor
"Sadotracker" = DUR.-editor :)
"Voicetracker" = DUR.-editor
"Ninjatracker" = DUR.-editor :)
...
I guess, It would be quite interesting to see a real "Ninja"-TRACKER, or something that is inspired by trackers. (Yes, now I know that "standard" trackers only wastes memory)
But anyway! I think, a good Tracker doesn't need tons of (pattern) effects. (no need for a pattern-vibrato-effect)
First I had my doubt's about a Tracker that puts everything onto one screen.
But now I think it is quite a clever idea. (Of course, patterns can be enlarged to full screen if desired) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Hmm, what happens if a song contains transpose values?
It's absolutely impossible to enter any usable note values since the pattern is "out of tune", but not the instrument. (with the same amount)
Ok, I think should be hard to detect the current transpose value - so it's not a bug. :)
---
@Laxity
Laxity wrote:"Composition comes before nifty sounds"
I think there aren't many c64 musicians that are able to compose a nice song with advanced/nifty/up-to-date instruments. :I
@cadaver
about transpose: NO!!!! It's a GT question!!!! :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
You mean for the Shift+H function? It doesn't care of transpose and never will. Notice, however, the keys to "transpose" speedtable values halfstep or octave up/down, they may come handy. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: You mean for the Shift+H function? It doesn't care of transpose and never will. Notice, however, the keys to "transpose" speedtable values halfstep or octave up/down, they may come handy.
No I mean for the orderlist. If I transpose the whole pattern. :)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Well, I still don't understand, for I've used orderlist transpose without trouble for years. You don't have to use it if you think there's something wrong with it :)
Ah, you mean for hearing the entered notes, transpose is not in effect and won't be :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
It's nothing wrong with it (I hope).
I think it's not possible to transpose the audible entering of notes as well. (+,-) if I write notes into transposed patterns. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Well, I still don't understand, for I've used orderlist transpose without trouble for years. You don't have to use it if you think there's something wrong with it :)
Ah, you mean for hearing the entered notes, transpose is not in effect and won't be :)
Ok, I have expected this. :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
People have had 5 years to complain about that, but it hasn't seemed to be a problem :) IMO you have a bad habit of exaggerating problems ("It's absolutely impossible")
And btw. thanks for letting me know what you'd want, now I'll make sure to never make that kind of C64 musiceditor :) To be honest, the thing is that when/if I make an editor to run on C64, it is for my exact needs (game music creation) with concern only for memory & rastertime, not features. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Well it's no problem. I think it's only nitpicking from me. :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Actually, now that I think of it, it makes no sense to use transpose if the pattern isn't also first played untransposed, and usually at that time you also compose the most of the pattern. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: People have had 5 years to complain about that, but it hasn't seemed to be a problem :) IMO you have a bad habit of exaggerating problems ("It's absolutely impossible")
And btw. thanks for letting me know what you'd want, now I'll make sure to never make that kind of C64 musiceditor :) To be honest, the thing is that when/if I make an editor to run on C64, it is for my exact needs (game music creation) with concern only for memory & rastertime, not features.
but GT2 is quite far away from YOUR personal & exact needs. :P
Anyway, it's not hard to find out what kind of music-editor I want/prefer.
I guess every (or almost every) music-routine coder will only include that what he needs or finds useful. :)
about GT2 + NTSC: Hmmm. Are there any NTSC composers? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
GT2 doesn't run on C64.
Playroutines are fun, but coding editors sucks :) Start learning coding now and when you know what you want, you can write the routine & skip the editor & compose directly in sourcecode... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Why coding editors sucks? And playroutines not...? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Playroutine is considerably smaller amount of code, and close to the metal. The editor is almost like any boring application :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: GT2 doesn't run on C64.
Playroutines are fun, but coding editors sucks :) Start learning coding now and when you know what you want, you can write the routine & skip the editor & compose directly in sourcecode...
... but I already know what I want ... :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
So don't waste your time posting here, go learn to code now!
(of course expressing what you want in terms of SID-writes and musicdata format is another thing, even if you know how to code) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
I don't think this would help much.
I think there is a good reason, why some people are coders and others ONLY musician. :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
It would help these forums greatly. :) (assuming you'd have no coding n00b questions) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Btw.
And NinjaTracker hasn't a nice + simple interface? (I like it) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
That's your first project then, hack JCH hardrestart to it and be satisfied for ever. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmm. :I
I think it would be cleverer to replace JCH's interface with something that looks like GT. :D |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Would this include hacking the feature-set also? Otherwise, I have the feeling that just learning the interface would be more cost-effective.
Of course, you could always start looking for a paid codeslave... |
| |
Raf
Registered: Nov 2003 Posts: 343 |
@Nata: I PM'ed you already - sorry for delay but I forget my CSDB password and I had troubles recovering it due to so badly dealyed mail arrival on my primary account (very annouyg that most of email I get is delivered susually 3-4 days after sending (this happens since about 3 weeks ))
and for others: fake hardsid is no more avaiable on the net but I own a copy due to courtesy of Booker. if anyone is interested I may send you required archive.
Cadaver: would it be hard to add 2x hardsid support in GTSTEREO? I mean using two separate one-sid hardsid cards or one hardsid quattro utilizing two sids...
I know you're not interested at hacking it just now but I always wondered about this possibility ... |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
@Raf: I guess it's not really hard, though one might have to insert some code from GT mono back to the stereo, because I think I ripped the hardsid support code completely out.
I don't have two cards so I rather not do features I can't test. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
a bit OT, who cares? ;-)
nah I should back to high-level code ;-) writing an fake dll for stereo over pc64 this time wouldn't be that hard , especially because hard software supplies complete DLL functions prototypes. driver on C64 side is less than 50 bytes anyway, disassembling and hacking should uncover the idea... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
@cadaver
Hadn't I mentioned that I also would pay for it? (* Where is the donate button? *)
Anyway, the music-editor I envision isn't too complex.
about: "interfaces can always be learned":
Yes but GTs interface + handling is simply the best. (I extremely enjoy it's ingeniously orderlist + the the way of testing instruments)
Personally I don't like JCH's way of editing patterns/orderlist. (Needless to say, that I hate Super/slide cmd's) But the instrument editor is Ok.
So, why I should change to another system? Hmmm?
... and btw: I don't think that my standards are far away from any healthy composing. :)
but now enough about that!
------
Attention! Now follows a questionlist:
(everybody who is not interested: IGNORE IT!
- what do you think (just if YOU like) about a "Poly-Play" function?
So, GT could be used for live-play.... :)
- about 25hz-mode: would it be possible to divide the frames into smaller pieces?
I mean, 1 frame is too much in 25hz mode. Half the frame? Is that possible?
This would increase the sound quality.
(hehe, just a few questions - I know that nothing will come) |
| |
Soren
Registered: Dec 2001 Posts: 547 |
poly play in sid editors is not what you need. especially if you have a filtered sound, it will easily get "distorted" when playing it with more than 1 voice... and besides... I am quite sure Goattracker and most other sid editors weren't meant to bw used for liveacts. Atleast not if you were thinking of it like a synth you can jam on.
:-)
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Well, no distortion with 8580 SIDs :)))))) |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Quote:
- about 25hz-mode: would it be possible to divide the frames into smaller pieces?
I mean, 1 frame is too much in 25hz mode. Half the frame? Is that possible?
This would increase the sound quality.
I wonder what do you exactly mean... but I think i get it right
simple 25Hz playing rate means you poll player every second frame but you want have have even less raster usage but every frame.... but it's not that easy and why did you thought it could made sound better? IMO it wont because you have to decide to what to split to be played on each "odd" and "Even" frames ... and this probably would need speciallly designed player... anyway It's interesting what Cadaver will say on this ;-) (no , I don't want you to implement this , just I'm curious how would you do such a player inside :D ) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I'll just let you ramble on this feature, and others :)
But yeah, I can guess that any uneven "split" in frame timing would sound ugly. Btw. a 25Hz frame is 40 ms. Split it in half and you get 20 ms, which is ... wohoo ... 1x speed! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Cadaver! Is there a trick for vibrato that simulates a depth slide? (something like for filters/puls).
F.ex it "slides" automagically from "02 20" up to "02 ff"
Ok, I could use some 4xy cmd's in pattern, but that's a bit too luserish since it's not always possible to set a new 4xy cmd. :)
Maybe it's possible to link the vibrato with a loop/slide cmd in another table (wavetable)??
Cadaver?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No such trick.
To keep things in tune, make sure you only change depth when the vibrato cycle restarts, for example each 6 vibrato ticks for speed 2 ( cycle length = (speed+1)*2 )
Switching realtime-optimization off helps a lot, as then vibrato is executed on each pattern tick. If you use tempo 3 in the above example, you can mix other pattern commands inbetween. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Quote:
But yeah, I can guess that any uneven "split" in frame timing would sound ugly. Btw. a 25Hz frame is 40 ms. Split it in half and you get 20 ms, which is ... wohoo ... 1x speed!
I wrote some shit , I didn't mean exactly that :) I thought about doing some things on one frame then playing sound on the other + doing rest things - hope this sound more clearly now ;-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yeah, it'd be sort of what Dante's Inferno does (Fred Gray was given very little rastertime.) And we know it doesn't sound pretty :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: No such trick.
To keep things in tune, make sure you only change depth when the vibrato cycle restarts, for example each 6 vibrato ticks for speed 2 ( cycle length = (speed+1)*2 )
Switching realtime-optimization off helps a lot, as then vibrato is executed on each pattern tick. If you use tempo 3 in the above example, you can mix other pattern commands inbetween.
Hmmm. :I
Yeah, but the depth should increase automatically. (instrument setting) Would be a nice little feature. :)
Cadaver?
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmmm.
I have tried to experiment with "sliding" vibrato but nothing works here. At least not as it should.
---
Cadaver!
It seems that v2.5 is more or less the final version!?!?
Won't there come any new & fresh features? :_(
I think the features I've requested in the last time would easily increase version number to v3.0. :D
---
Btw. Maybe a included 6510 emulation could be useful/interesting. :)))) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Some idea for a theoretical GT2 port to C64:
Wouldn't it be possible to manage music memory dynamically? This would save a lot of memory!
I mean the editor could 'compress' patterns that currently aren't used.
What do YOU think about that?
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Dynamic memory handling = need to move stuff around to make free space continuous (and thus useful again) = slow editor
IMO in any editor, it's better to give hard limits (for example 128 patterns and 8 subtunes), but then you can be sure that those can be used to the fullest. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
use this HSDClone (Hardsid clone) , connect real C64 to PC and forget about spending 100E on hardsid ;-) the only problem is need to build PC64 cable - who has got userport plugs nowadays? [let's make DB25 cannon in c64 or solder cable directly to UP - I have taken both solutions in the past] |
| |
Laxity
Registered: Aug 2005 Posts: 459 |
Quote: Dynamic memory handling = need to move stuff around to make free space continuous (and thus useful again) = slow editor
IMO in any editor, it's better to give hard limits (for example 128 patterns and 8 subtunes), but then you can be sure that those can be used to the fullest.
I was thinking of doing exactly that for a PC port of SID Factory.. Now that I think of it, I was considering realtime packing in my 64 editor too, but skipped it as it was a bitch to do in assembler, and I'd much rather get the editor working fast ;).
You don't need to allocate memory dynamically either! I think the biggest problem is to ensure that replaying doesn't go out of sync, if you're editing a pattern currently played. Anyway, not so interesting to discuss, but interesting to implement. You'd probably have to make yet another fileformat for Goat if you do :P |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
In Ninjatracker patterns are also always being compressed into memory, with 256 bytes reserved for each (the maximum the playroutine can handle, same as in GT) and I don't give a shit whether realtime editing results in the playback going out of sync :)
The way I think of it, always packing the edited patterns would be just the *first* step to make a theoretical, cut-down C64 GT2 even possible. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
--- |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
Your point being, nata? Is "---" an expression of joy, hate, fear, agreement or refusal? Or an attempt at having the last word despite having nothing to contribute? ;-) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
+++ (gate on) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Your point being, nata? Is "---" an expression of joy, hate, fear, agreement or refusal? Or an attempt at having the last word despite having nothing to contribute? ;-)
Not really. Unfortunately there is no DELETE BUTTON. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: +++ (gate on)
Sorry, ... :)
about 1stwave:
Personally I would prefer if I write (f.ex) a 'C1' to 1stwave (only in that case) the new frequency is set as well on 1stwave. (would be a great benefit for sane composers) :D
I must say that I really don't like the traditional way of disabling hardrestart in GT2 (81 or 89 isn't soft enough).
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Too complicated. There would be one simple & raw solution but it would break existing use of value $80, as well as the use of legato instruments if someone uses them with constant gateoff, so I'd rather not do it.. and actually to stay in time with the rest of the instruments, frequency is not anyway supposed to be initted until the next frame.
For Follin-like flute leads, have you tried firstwave 10, 90, 11 or 91?
Sane composers probably know when to switch to another editor, though :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Too complicated. There would be one simple & raw solution but it would break existing use of value $80, as well as the use of legato instruments if someone uses them with constant gateoff, so I'd rather not do it.. and actually to stay in time with the rest of the instruments, frequency is not anyway supposed to be initted until the next frame.
For Follin-like flute leads, have you tried firstwave 10, 90, 11 or 91?
Sane composers probably know when to switch to another editor, though :)
Is there a difference if I use for legato $80 or 00 ? |
| |
Hein
Registered: Apr 2004 Posts: 933 |
$91 first wave is quite soft. \o/ |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Too complicated. There would be one simple & raw solution but it would break existing use of value $80, as well as the use of legato instruments if someone uses them with constant gateoff, so I'd rather not do it.. and actually to stay in time with the rest of the instruments, frequency is not anyway supposed to be initted until the next frame.
For Follin-like flute leads, have you tried firstwave 10, 90, 11 or 91?
Sane composers probably know when to switch to another editor, though :)
Hi!
I attached a file.
Do you hear the ugly pitch-bug when the snare sound plays?
http://rapidshare.de/files/28289033/test.zip.html
---------------------
052D (D#2 9B) 31 ....
.... ... .. 30 0F00
.... ... .. .. ....
.... ... .. 01 00A5
---------------------
03A9 A-1 95 21 ....
0AF7 (E-3 A8) .. ....
F820 (A#7 DE) 80 ....
.... ... .. .. ....
---------------------
F820 A#7 DE 31 1089 ; new waveform starts, but pitch isn't reset
.... ... .. 81 ....
0685 (G-2 9F) 31 ....
.... ... .. 30 ....
---------------------
.... ... .. .. ....
0685 G-2 9F 31 ....
F820 (A#7 DE) 81 ....
045A (C-2 98) 31 ....
---------------------
Btw.
I have re-downloaded GT, but still the packer fucks up the whole song. :(
I use instrument $3F for speed, but no pattern effects.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
If this is a test to see whether I've forgotten my principles, well, at least I remember this one: I promised to ignore any further files from rapidshare :)
As for the other issue, see your email. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: If this is a test to see whether I've forgotten my principles, well, at least I remember this one: I promised to ignore any further files from rapidshare :)
As for the other issue, see your email.
:D
... but you already have downloaded the test file... ;) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Btw.
Where is the problem with rapidshare?? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hello???
Then shall WE live with these pitch bugs??? :( |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
By using unsilent firstwave you're firmly in unsupported territory. Get clever with the wavetable or creating alternate versions of instruments for any trouble spots. |
| |
Linus
Registered: Jun 2004 Posts: 638 |
Hi Cadaver. I wonder if it would be possible to add another wavetable with the size of $FF available positions since I'd really love to try my luck with an 8xspeed track. I obviously need more than $FF wavetable positions to do so. Any chance? :)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: No.
*by the way* :D
Why instrument vibrato isn't audible if I use toneportamento cmd 300 (tie note)? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Because playroutine is branching to toneportamento code instead of vibrato code. :-I |
| |
Hein
Registered: Apr 2004 Posts: 933 |
There aren't many singers who can do that both at the same time, I find it fitting. It adds something natural to a melody. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: By using unsilent firstwave you're firmly in unsupported territory. Get clever with the wavetable or creating alternate versions of instruments for any trouble spots.
This solution isn't really satisfying. :_( |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: This solution isn't really satisfying. :_(
Reminds me of that song by The Rolling Stones. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmm :-I |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Yo!
about 1stwave:
That /G command line option is quite funny. *LOL*
Only things can be entered "that makes sense" :P
Why there is a cmd-line option for this & shift+U not? (hehe, again shift+U)
I always forget to activate it manually. Hmmm!
However, the point is that a fully functional 1stwaveform is very important for an advanced editor.
--- (gate-off)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
If I remember correctly, the /G switch was specifically implemented to piss you off, so that's why. And btw. GT1 or 2 have never aspired to be "advanced" editors (more like "compromise"), so? Maybe you can start another thread about the featureset of an advanced editor, to not clutter this one. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: If I remember correctly, the /G switch was specifically implemented to piss you off, so that's why. And btw. GT1 or 2 have never aspired to be "advanced" editors (more like "compromise"), so? Maybe you can start another thread about the featureset of an advanced editor, to not clutter this one.
Hi!
.... and what I forgot ...
What do you think about a "don't show zeros" function? (a cmd-line option)
Please look at the following picture (no, it isn't rapidshare) :)
http://img272.imageshack.us/my.php?image=zeroed1.jpg
... but now I'm OFF for real... ;)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
v2.51 out. Fixes a long time irritating out-of-sync error when using different gatetimer in different instruments on the same channel. As a bonus, it became available that by setting high bit ($80) of gatetimer wave/pulse exec starts right on the note initframe, ignoring the 1st wave parameter, but watch the rastertime grow :)
The tweak utility was also updated. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
Nice update! Thank you very much!
Then, a "don't show zeros" function wasn't a good idea? |
| |
CreaMD
Registered: Dec 2001 Posts: 3035 |
Nata is a real pain in the ass but until he has a positive influence on Cadaver's motivation to make updates of his "jewel of a software" *we* can let him alive...
....harharhah ha haaaa.....ar cough cough cough... cough.. hrmpfz...
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
CreaMD: it's however interesting that anyone didn't really complain of the gatetimer-"bug" during over 1 year of GT2's existence, so it was largely selfmotivated. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Then, for legato I still have to create 2 instruments?
F.ex. If I would like to start my note with waveform 11 from frame 0 I have to set for GATEOFF TIMER: '82', then write a '91' to HardRes/1stwave and afterwards the wavetable? Is '91' necessary?
Isn't it possible to set the GATEOFF TIMER to '80' = no gateoff?
Anyway, didn't discovered yet how exactly this new feature (in GT2) works.
Up till now I always have used the other way that caused pitch-bugs....
Maybe you could explain how to convert the following instrument to the new "system".
F.ex:
ADSR: 0089
Gateoff timer: 02
HardRes/1stWave: B1
Wavetable:
81 DF
31 00
30 00
FF 00
That *new* high bit seems not to work like $91,A1,B1,C1,... waveforms in 1stWave. I get only buggy sound, but the pitch errors are disappeared. But, it doesn't sound as smooth as before. (Please check the example song I've send you last week)
Anyway, what do I wrong? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Add one wavetable row.
You still can use firstwave 00 for legato. Gateoff timer's value still determines on which tick to get new notes, so it obviously can't have value 0.
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Doesn't help. It sounds different than before. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Then, I guess retaining the last note's last pitch was an important part of the sound. But in any case I'm satisfied that the feature added was not really satisfying to you :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Then, I guess retaining the last note's last pitch was an important part of the sound. But in any case I'm satisfied that the feature added was not really satisfying to you :)
:-/
Anyway, audible waveforms on frame 0 are quite a nice feature, which is very useful. :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Other day, other problems... :)
It's interesting to see that vibrato-delay always resets on new notes, even if I use 3xy cmds.
Isn't that illogical? Shouldn't it start/continue after the slide/glide is finished (no delay)?
Example1:
Instrument 1+2 has delayed the vibrato for $D frames
c-4 01F06 ; start instrument/songspeed 6
... 00000
... 00000 ; ins. vibrato starts here
... 00000
... 00000
c-4 02000 ; legato instrument
... 00000
e-4 02301 ; portamento
... 00000
... 00000 ; ins. vibrato starts here :/
How can I start the vibrato after the 3xy cmd?
I've tried to do it with 4xy cmds (or with a different instrument that has no delay), but then the whole vibrato-speed goes out of sync. This doesn't sound good at all.
Example2:
+ ; vibrato from instrument
+
+
+
-
-
-
-
+
+
+
+
-
- ; instr. vib. cuts ...
+ ; 4xy cmd overwrites the old parameter
+
+
---
Btw. Why the GT2 zip contains now a freeze.c64 file? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
The vibrato delay is supposed to emulate a classical singer's training, so it happens regardless whether the note is slided into or not.
Continue toneportamento (3xy) as long as necessary, then go directly into a 4xy command (leave no 000's inbetween). I didn't have any problems with this when I tested, your mileage may vary.
Reason for freeze.c64's: http://www.lemon64.com/forum/viewtopic.php?t=20652
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: The vibrato delay is supposed to emulate a classical singer's training, so it happens regardless whether the note is slided into or not.
Continue toneportamento (3xy) as long as necessary, then go directly into a 4xy command (leave no 000's inbetween). I didn't have any problems with this when I tested, your mileage may vary.
Reason for freeze.c64's: http://www.lemon64.com/forum/viewtopic.php?t=20652
Ahaaa! It trys emulate a classical singer's training ... :)
It sounds to me like player intelligence. :D
But anyway. ;) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Now, seriously,...
... after some experiments I think the combination instrument-vibrato + 4xy cmd has only a minimal influence ...
... but It seems that there is a kind of accuracy problem when using 3xy cmd's.
Example problem:
I wrote a nice melody line in some DUR.Editor and wanted to port it to GT2.
Whatever I try, the portamentos doesn't sound as lively as in the original.
dur.04
F-4
gld.1f
g-4
gld.1f
d-4
End.
The only thing that works is to copy the whole sequence from siddump directly to a GT wavetable. :( |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hello? |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
Quote: Hello?
Hello there! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Now, seriously,...
... after some experiments I think the combination instrument-vibrato + 4xy cmd has only a minimal influence ...
... but It seems that there is a kind of accuracy problem when using 3xy cmd's.
Example problem:
I wrote a nice melody line in some DUR.Editor and wanted to port it to GT2.
Whatever I try, the portamentos doesn't sound as lively as in the original.
dur.04
F-4
gld.1f
g-4
gld.1f
d-4
End.
The only thing that works is to copy the whole sequence from siddump directly to a GT wavetable. :(
Cadaver?
Why it sounds different? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
How should I know? Siddump knows much better.
Some ideas: use fast tempo to control effects at higher resolution, switch optimizations off. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: How should I know? Siddump knows much better.
Some ideas: use fast tempo to control effects at higher resolution, switch optimizations off.
Because there is a difference between gld-cmds & 3xy ?
Btw. optimization is always OFF :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: How should I know? Siddump knows much better.
Some ideas: use fast tempo to control effects at higher resolution, switch optimizations off.
What exactly do you mean? Change the song tempo? How get I activated that high resolution mode? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
For example if you have tempo 6, use tempo 3 and expand the pattern. I don't recommend going below 3 though..
But anyway, it's quite pointless using vague terms such as "lively" and asking here about how effects work or should work on detail-level. I don't think there's a standard how a "glide" command should be implemented, much more useful is to analyze exactly how the frequency changes, then try to reproduce that in GT2. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: For example if you have tempo 6, use tempo 3 and expand the pattern. I don't recommend going below 3 though..
But anyway, it's quite pointless using vague terms such as "lively" and asking here about how effects work or should work on detail-level. I don't think there's a standard how a "glide" command should be implemented, much more useful is to analyze exactly how the frequency changes, then try to reproduce that in GT2.
And if my example song is speed 4 ?
Well, I have analyzed, but whatever I do it doesn't sound as good as in the dur. player.
Actually, I don't know where the difference is, but it seems there is one.
Maybe it would be interesting to know what a "gld.1f" exactly writes to the player. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
If you don't know what the gld.1f does (what speed it actually uses, and how soon it starts), you can't really say you've "analyzed" anything.
Tempo 4 -> no luck if you need more resolution.
I assume you do know the very old trick of using a 1xy or 2xy command together with the first note, before you state the target note and do 3xy? |
| |
Hein
Registered: Apr 2004 Posts: 933 |
darn, he's good! |
| |
Turtle Account closed
Registered: Jan 2002 Posts: 70 |
Quote: darn, he's good!
Ah, com'on!! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: If you don't know what the gld.1f does (what speed it actually uses, and how soon it starts), you can't really say you've "analyzed" anything.
Tempo 4 -> no luck if you need more resolution.
I assume you do know the very old trick of using a 1xy or 2xy command together with the first note, before you state the target note and do 3xy?
Sure I do know that trick...
The problem with gld.1f is that siddump doesn't show a nice speed value. (f.ex +00 30)
Sooner or later I will find out the correct value... :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
The speed won't be shown if the slide is so fast that it crosses into another note each frame. But you can calculate it from the absolute frequency values shown in the left column. Refusing to do that is just lameness :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Original from dur.player
24E1 C#5 BD 41 0050
.... ... .. ..
.... ... .. 21
.... ... ..
---------------
.... ... ..
.... ... ..
.... ... ..
.... ... ..
---------------
.... ... ..
.... ... ..
2761 (D-5 BE)
2965 (D#5 BF) ; destination note
---------------
29C5 (+ 0060)
2A25 (+ 0060)
29C5 (- 0060)
2965 (- 0060)
---------------
.... ... ..
26E5 (D-5 BE)
2465 (C#5 BD)
21E5 (C-5 BC)
---------------
1F65 (A#4 BA) ; destination note
1F03 (- 0062)
1EA3 (- 0060)
1E43 (- 0060)
---------------
1EA3 (+ 0060)
1F03 (+ 0060)
1F63 (+ 0060)
1FC3 (+ 0060)
---------------
1F63 (- 0060)
1F03 (- 0060)
1EA3 (- 0060)
1E43 (- 0060)
Anyway, now I found some suitable values. :)
---
Btw.
What do you think about a key that allows to start the song from any place in a pattern?
The cursor could tell the current start position.
Btw2
A 'don't show zero's' option (for patterns) would be quite comfortable. So, what do you think about? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yeah people, get commenting! (I have nothing to comment.) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Yeah people, get commenting! (I have nothing to comment.)
Hmm? Why? What's wrong? |
| |
Hein
Registered: Apr 2004 Posts: 933 |
"Btw.
What do you think about a key that allows to start the song from any place in a pattern?
The cursor could tell the current start position. "
Thats a good idea... |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
v2.52
- SHIFT+ENTER in orderlist view takes the next available pattern if pressed on a repeat or transpose command.
- Added SHIFT+SPACE to start playback on a specific pattern row. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: v2.52
- SHIFT+ENTER in orderlist view takes the next available pattern if pressed on a repeat or transpose command.
- Added SHIFT+SPACE to start playback on a specific pattern row.
Ah, nice! Thank you! :) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
beeing able to loop any range of patterns in the orderlist would be nice....or can you already do that? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
You can jump from the end to any position, but you can't create loops in the middle. The latter has been discussed and at least I have found it too disgusting to implement; one would have to sacrifice something for it, since there are no unused bytes in orderlist data (amount of patterns? transpose range? repeat range?) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
uhm i am not talking about orderlist commands for actual use in the tune, but something that only works in the editor... its kindof annoying when you are working on some patterns in the middle of a tune and have to hit f3 all the time again and again to check them out while playing with instrument data for example. could be easily implemented as a counter that is initialized when tune is started at start position, then counts down and when it underflows it loops. and yes that would only work if patterns in all voices have the same length, but thats not much of a problem imho.
another thing that would be nice would being able to play the pattern under the the cursor in the orderlist, without having to move the song-start marker there. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
v2.53
- Fixed F3 to always play the currently visible patterns.
- Added BACKSPACE in the orderlist editor to set playback end position.
Only effective when starting playback from position, not beginning.
(note: use SHIFT+BACKSPACE to set/unset endmark on all channels, if patterns have same length. Otherwise set separately per channel)
Now just don't start thinking you can get the digichannel, it's only in the innercircle special edition, and these guys don't hesitate to kill :) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
no worries, i have my own sample player and i can live with tracking them seperatly :=D |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
... the 5 years GT special "gold" edition... :]
@Groepaz
I guess your digi-player is controlled *only* by monitor/source ? :D
Btw. IMHO your "Tracker Preview" from '98 looks quite nice. :) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
Quote:I guess your digi-player is controlled *only* by monitor/source ? :D
yes ofcourse, since i want to use it in my next demo it must be specifically tweaked for whatever i want to use it for anyway... and tracking some percussions in source isnt *that* annoying either :)
Quote:Btw. IMHO your "Tracker Preview" from '98 looks quite nice. :)
hehe you would probably think different if you knew how simple (and naive) the actual player is :o) it hardly can do anything you would expect from a modern player these days :=P |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: v2.53
- Fixed F3 to always play the currently visible patterns.
- Added BACKSPACE in the orderlist editor to set playback end position.
Only effective when starting playback from position, not beginning.
(note: use SHIFT+BACKSPACE to set/unset endmark on all channels, if patterns have same length. Otherwise set separately per channel)
Now just don't start thinking you can get the digichannel, it's only in the innercircle special edition, and these guys don't hesitate to kill :)
cadaver wrote:
"Fixed F3 to always play the currently visible patterns."
Hmm,
should I understand that??
IMHO the old system was really OK, but now it totally sucks.
It makes no sense, is completely confusing & uncomfortable. (sorry for the harsh words)
I usually load a song, then press SHIFT+,. (Move song startposition) and press F3 (or SHIFT+F3 to make the current patterns visible). This doesn't works anymore. (Now, the red cursor always remains at pos. 00.) :-I
Let's hope you won't get too many hate-mails for this questionable 'feature'. :D
However, rest of the new stuff works pretty fine. (as usual)
------
About the optimzation feature (playroutine):
Usually it isn't a good idea to set it to "NO", since introduces some decent timing-bugs (or something between) if the song is more complex. (buffered sid writes doesn't help)
I don't know why this happens, but it is there. :)
------
What if someone would like to include a more longer author info in the module?
Would it possible to enhance it? (A theoretical question)
|
| |
dalezy
Registered: Apr 2002 Posts: 475 |
Quote:IMHO the old system was really OK, but now it totally sucks.
It makes no sense, is completely confusing & uncomfortable. (sorry for the harsh words)
pearls before swines[tm] eh?
cadaver, i have still no idea why you do all that when it results in nata being a prick about anything that doesn't fit his likings.
(and yes, i'm still bitter because i never got my requested volume-effect in 2001!) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I think nata grossly exaggerates the fanaticism of rest of GT2 users, for we all know only he is fanatic about it. Furthermore he's overly confident that his opinion of subjective matters is shared by said imaginary fanatic user group :)
However, I guess the real problem is that the rewind function didn't update the pattern view. By downloading v2.54, this is remedied.
As musicroutine authors can tell, sometimes even the small difference in the code (and thus in timing) can cause ADSR bugs appear after packing/relocating. That's why for example SidWinder uses exactly same playroutine & data in both the editor & final song, but that makes for some uncomfort in editing. And I get the feeling this has already been mentioned many times before... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Thanks! Now it works VERY well! :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
@beers for fears
To solace you: I don't get every feature I request. (just check other posts in this thread, and you will see my crazy thoughts) :D
And I'm sure I never will get a cmd option for Shift+U.
---
@cadaver
Somehow the problem still exists. IMHO it makes more problems than it should.
F.ex You start a song with F1 or F2. Move the cursor to some postion, press shift+space and afterward F3. What happens? The cursor is at some position in the song, but plays position 1 (because it is visible). If this isn't confusing... :D :I :(
Anyway, WE have to learn to live with it....
---
May I ask why filter slides sounds quite bad if I combine different slide speeds?
It sounds bad if I change the speed or time. (Usually there is a staircase effect)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
I'd say that earlier the pattern-play was incorrectly implemented, because it was not possible to play patterns not yet in the orderlist. Now, when pattern-play is active, it's not really anywhere "in" the song, it just plays the patterns visible in the edit screen. But it seems you have become too accustomed to the side-effects of the former implementation.
And, whether or not you get each feature you request doesn't change the fact that each time you behave like an ass, you still make yourself a fool even if you don't realize it yourself. My very good virtual friend put it nicely when he said that previously you acted like a "friendly lamer" but since then you have adopted more hostile & confrontational behaviour (not just this thread, but many others). Well I can tell you, it doesn't help you in the least, on the contrary. It's actually pretty sad to see someone getting so worked up & obsessed about an open source piece of software, as well as c64 musiceditors / playroutines in general. For example from the infamous hardrestart thread one almost got the picture that each musiceditor-author owes you "good" HR, even if they quit the scene 10 years ago :) Furthermore it's quite alarming that whenever you say you will shut up or are "satisfied", next week (or day) you're back with more. You could just quit saying that.
But anyway, for your "solace" you can be assured that any of your requests or ramblings that don't seem to have any sense or benefit for other GT2 users will not be thought of much or at all. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
about F3:
Boahhh, the old way was wrongly implemented for -> 5 long years <- and NOBODY complaint about it? Maybe because it worked very well? Hmmm? :)
---
Now seriously, EACH time I behave like an ass? Could you explain that?
Your statement was very interesting, but it doesn't bother me if get a fool.
---
about requests & ramblings that make no sense:
Now you really should explain what everything makes no sense.
And why (f.ex) it should be wrong (or make no sense) to include a key that allows to use limit-based programming of filters/pulses in pattern-editor?? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
You probably misunderstood / misparsed. Here's the relevant phrase for you again:
Each time you behave like an ass, you make yourself a fool, even if you don't realize it yourself.
So I was not saying that each time you request something you behave like an ass. Only sometimes :)
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Aha! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
What do you think about a key that allows to enter notes in wavetable like in pattern-editor? (will be converted automagically to relative hex values)
IMHO this would be very comfortable (+ easier & faster) when creating more complex tables (especially arpeggios and melody lines)
My other idea is a key that allows to take a marked area in pattern-editor and convert it into a wavetable. This would be very, very flexible. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
that doesnt make a lot of sense imho.... afterall the wavetable is (most of the times) about using intervals, and not absolute notes.
right now i could use a pattern command to delay notes any number of frames so i dont have to abuse the wavetable for that. but i'm just lazy, ignore me :=D |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
@Groepaz: the standard answer has to be used here: there are already the maximum of pattern commands, so one would have to be sacrificed. Plus I'm sure it would make a mess of the playroutine. If you can handle it otherwise (no need for other commands at the same time), IMO best way is to simply adjust the channel tempo for this. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
yes i know, just kidding :) infact, i dont use any pattern commands right now at all, pretty much everything i need can be done simply by tweaking the instruments :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: that doesnt make a lot of sense imho.... afterall the wavetable is (most of the times) about using intervals, and not absolute notes.
right now i could use a pattern command to delay notes any number of frames so i dont have to abuse the wavetable for that. but i'm just lazy, ignore me :=D
@Groepaz
Doesn't make a lot of sense??? Tsssss... F3 makes NO sense.
I really can't understand why nobody complains. (guess, the most people aren't up-to-date)
Anyway, I think I have to declare "F3" as looserish. :P |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
@cadaver: I have two questions about GT2.x.
1) How do I wait for a tune to finish?
2) How can I set start track/pattern/whatever?
Please give me referenses into some player source of yours, not into the binary code because I'm using a rather modified version of your player so I have to apply the "patches" into my own source later on.
/JackAsser |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
@JackAsser:
1) See when each channel's mt_chnsongptr resets to zero or to the loop repeat value. Or hook the sequencer jump routine ("lda (mt_temp1),y ; cmp #LOOPSONG ; ...")
2) To play from song position: set mt_chnsongptr to desired position, set mt_chnpattptr to 0 to force sequencer fetch. Preferable time to do this is when mt_chncounter has the value 1 (just before sequencer execution)
To play certain pattern: set mt_chnpattnum to the pattern number you want, and mt_chnpattptr to 0. Preferable time to do this is when mt_chncounter has the value 0 (just after sequencer execution) |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
@cadaver:
As for waiting for the tune to complete/loop, do you mean something like:
finishMusic:
lda mt_chnsongptr+0
and mt_chnsongptr+14
and mt_chnsongptr+28
cmp #$ff
bne finishMusic
I mean, would that detect the case correctly? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hmm, mt_chnsongptr never actually gets the value $ff, so rather:
lda #tune
jsr $1000
wait1:
lda mt_chnsongptr
ora mt_chnsongptr+7
ora mt_chnsongptr+14
beq wait1
wait2:
lda mt_chnsongptr
ora mt_chnsongptr+7
ora mt_chnsongptr+14
bne wait2
finished:
But this seems a bit bad, as you first must wait for the false positive condition (first pattern the first time) to go away. Maybe it's indeed better to hook the songloop routine in some way. |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
@cadaver: Hmm yes, indeed that would be the nicest. However, this particular tune I'm using seems to reset the chnsongptr to #$02, so this simple check worked:
finishMusic:
lda $0fbd+0
ora $0fbd+7
ora $0fbd+14
cmp #$02
bne finishMusic
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
@JackAsser
What do you have customized on GT? |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: @Groepaz
Doesn't make a lot of sense??? Tsssss... F3 makes NO sense.
I really can't understand why nobody complains. (guess, the most people aren't up-to-date)
Anyway, I think I have to declare "F3" as looserish. :P
The number of times I hit F3 is quite high. No reason to complain about it I guess. Then again, I spend a lot of time adding sensitivity (read 'live performance feeling') to my music, so it's necessary to check if the result is pleasing. |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
@nata: Uhm, the register writes for 4x-speed. It stores all registers on stack so that I can POKE them interleaved in my raster code. Kinda like the ghost-player, but it stores all 4 runs. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: @nata: Uhm, the register writes for 4x-speed. It stores all registers on stack so that I can POKE them interleaved in my raster code. Kinda like the ghost-player, but it stores all 4 runs.
@jackasser
Thanks for the info!
@cadaver
good bye! |
| |
CreaMD
Registered: Dec 2001 Posts: 3035 |
Bye Nata. Your music will be missed. Your personality - not. Live long and prosper. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
@Cadaver : I'd like to have a small request - can you add backspace key in file selectors as "go to parent dir" ? ;-)
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
That is certainly doable (already done now). An easy way to increment the versionnumber :) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
btw, would it be a lot of hazzle to add a remapping feature for the keyboard? for once, QWERTZ vs QWERTY is kindof a problem, and then i have used GT on my powerbook on a party recently and the lack of pc-like insert/delete keys was pretty annyoing there (i had to solve it by mapping some other keys in X windows, which in turn made those keys unavailable :/). using the remapping feature of the OS isnt really a good solution here i think, i could live with it if it was only about the swapped Y/Z, but on the powerbook its a real problem that cant be solved easily (or atleast not without a fucked up hack). |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yes, it certainly would be a hassle. The problem is that GT reads keyboard in different ways for different purposes (ascii, rawkey etc.) and furthermore it all goes first through the SDL library. It's best left for someone who knows what he's doing, I don't, but patches will be well received :) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
mmmmmmh....didnt SDL have a remapping feature? *shrug*
anyway, you'll add a mapping thingy if i write a wrapper for the SDL calls? (sounds like the easiest solution atleast). |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hmm... I'll look if SDL has something like that, but no promises |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
i might look into it too....but obviously you are a lot more familiar with your code (i'm not even really familiar with SDL) so its probably easier for you to have a look first :=) |
| |
Jammer
Registered: Nov 2002 Posts: 1289 |
whoa! i have no energy to search all the 8 hundreds posts so i'll list some suggestions quickly ;)
- paste works also after pressing the very 'v' and that can be really annoying if i intend to press 'b' :D
- transparent mode of pasting would be helpful - empty steps from the clipboard don't overwrite destination pattern (quick way of doing echo for example :)
- i know that's the fault of new resid but somebody could fix it. try to make bassline with long attack/release and set its filter to lowpass with minimum or even $03 cutoff, eh eh :) the same effect when playing it with winamp's sidplay 2; not sure about vice. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
@cadaver
Have you ever thought to create a free VSTi version from the instrument editor of GT2? (Hope, that it is allowed to ask since I'm a interested forum-user) :)
Anyway, another stupid idea from an former scener. :I |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Quote: @cadaver
Have you ever thought to create a free VSTi version from the instrument editor of GT2? (Hope, that it is allowed to ask since I'm a interested forum-user) :)
Anyway, another stupid idea from an former scener. :I
why not use quadrasid? it allows more precise control over sound than real sid... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmm. QuadraSID istn't really amazing + it isn't free.
I've tried to do drums with sexy note-init, but it sounds not perfect.
It would be interesting to see a VST insrument that is more traditional.
However, the most negative point is the inaccurate 8580 emulation. :_( |
| |
Laxity
Registered: Aug 2005 Posts: 459 |
If a VSTi were to be made from the Goat engine, it would probably be very hard to make it latency free since the SID emulation would have to rely on some sort of gate off periode before gate on. At least if hard restart is desired!. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: If a VSTi were to be made from the Goat engine, it would probably be very hard to make it latency free since the SID emulation would have to rely on some sort of gate off periode before gate on. At least if hard restart is desired!.
I have expected that it could come to such problems.
(Of course, hard restart is desired) :) |
| |
Laxity
Registered: Aug 2005 Posts: 459 |
Yes, I had the notion that you were in favor of that :)
It would still be interesting even though there would be the delay, but significantly harder to work with than other plugs. |
| |
Soren
Registered: Dec 2001 Posts: 547 |
hard restart is overrated... I don't use that so much anymore :-) |
| |
Laxity
Registered: Aug 2005 Posts: 459 |
Oh, go fart some place else. ;) |
| |
Soren
Registered: Dec 2001 Posts: 547 |
ok.... /me leaves so he doesn't disturb the master anymore... *FART* |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: hard restart is overrated... I don't use that so much anymore :-)
Aha! Overrated?
(Of course, it's suggested to use HR only if required) :) |
| |
tlr
Registered: Sep 2003 Posts: 1714 |
Quote: If a VSTi were to be made from the Goat engine, it would probably be very hard to make it latency free since the SID emulation would have to rely on some sort of gate off periode before gate on. At least if hard restart is desired!.
This would be a problem for realtime play.
For sequencer play back the VST standard supports specifying the latency, so the note could be handed in a long time in advance.
You could make a version of goattracker that is insertable as VSTi, and that slaves to the sequencer.
One boring issue is that the VST sdk is not released under an Open Source compatible license so you'll have to deal with that!
|
| |
Raf
Registered: Nov 2003 Posts: 343 |
another request ;-) Cadaver , is this easily applicable to change sid driving frequency to something else than 0.98/1.02 Mhz? I mean 264 series' SIDCARD runs sid @ 0.88 MHz (PAL) , haven't checked the NTSC one - and this target machine is in my interest just now :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
... and don't forget to include 'automation' :-D ;-) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Quote: another request ;-) Cadaver , is this easily applicable to change sid driving frequency to something else than 0.98/1.02 Mhz? I mean 264 series' SIDCARD runs sid @ 0.88 MHz (PAL) , haven't checked the NTSC one - and this target machine is in my interest just now :)
Check V2.56 and /F option (clock frequency as cycles per second). Whether reSID actually was supposed to support this kind of operation is open to guessing, but at least the sound appears pitched. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Aha! What happens if I overclock CPU too much? (Not that I still would be interested in GT.) ;) :D |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
A script is triggered to randomly hack a CSDB account, login, and downvote you. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: A script is triggered to randomly hack a CSDB account, login, and downvote you.
Aha! And who cares? ;)
|
| |
Raf
Registered: Nov 2003 Posts: 343 |
thanks :)
and.. surpringly... I googled this:
http://en.wikipedia.org/wiki/GoatTracker |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: thanks :)
and.. surpringly... I googled this:
http://en.wikipedia.org/wiki/GoatTracker
Too bad, it's extremely outdated.
"this article provides insufficient context"... *LOL* |
| |
T.M.R Account closed
Registered: Dec 2001 Posts: 749 |
Quote: Check V2.56 and /F option (clock frequency as cycles per second). Whether reSID actually was supposed to support this kind of operation is open to guessing, but at least the sound appears pitched.
How about TED sound support...? [evil grin =-] |
| |
Raf
Registered: Nov 2003 Posts: 343 |
@TMR: use SID emulation on TED instead ;p |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Would it be a problem to boost the SID resonance. (8580 emulation)? Or a little option for manual configuration? |
| |
T.M.R Account closed
Registered: Dec 2001 Posts: 749 |
Quote: @TMR: use SID emulation on TED instead ;p
Nah, that's just cheating... check all the Cosine C16 and Plus/4 releases, all TED sound. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Quote: Nah, that's just cheating... check all the Cosine C16 and Plus/4 releases, all TED sound.
I checked a few in the past... some games by others playing sound on TED too, and IMO unfortunately they sound not too nice... more alike atari anyway.. and older (pre cca 1990) bad tunes sounds just like having two pc speakers - with 2 channels , normally pulse + only one can be set to be used as noise you can't track many outstanding tunes anyway I think... however certainly there are low-tech music fans out of here too :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
@cadaver
What do you think about a GT2 that contains Mono/Stereo in ONE version?
Please look at the following picture (it's an animated GIF)
http://img55.imageshack.us/img55/9788/stereovh1.gif
With a cmd-line option the stereo mode could be activated.
My idea is that some command allows to duplicate every pattern/instument + tables (as long there is enough memory) from the first 3 channels to completely new one. (Because you need slightly different instruments to make the stereo-effect)
So it would be quite easy to create stereo sound... :)
|
| |
Raf
Registered: Nov 2003 Posts: 343 |
Nah , go on , let's make quadro-sid version instead of two sid ;-)
------------------------------------
www.vulture.c64.org |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
@cadaver
I would be glad to hear your opinion. :)
Thanks! |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Does anybody knows why GT2 wont't start from a windows live cd (build with BartPe)?
Need Help. :) |
| |
Stainless Steel
Registered: Mar 2003 Posts: 966 |
Might be that it wants to write to some file. Check it with Filemon from sysinternals.
|
| |
Raf
Registered: Nov 2003 Posts: 343 |
or check that in source code ;-)
you may also try to make an ramdisk in that window$ (of course with additinal software coz m$ provided ramdisk only for pure dos last time (Well.. actually it may work with 9x too but this makes system unstable in many cases)) and run GT from ramdisk instead of direct run from CD.
www.vulture.c64.org |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmm, I'm not sure how this ramdisk stuff works, but it doesn't work.
The GT2 window appears, but it's content remains black. :(((((((( |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
<nelson>HA-HA</nelson> |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: <nelson>HA-HA</nelson>
@dalezy
earth2dalezy.exe |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
Quote: @dalezy
earth2dalezy.exe
not earth2dalezy.exe, please! :( :( :( |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Btw. I noticed again many ADSR Bugs. Not even buffered SID writes helps or changing the instrument. :_(
Isn't it possible to increase buffer size? (manually) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Haven't you quitted and stopped using GT? Anyway, read up on the alternative methods of HR in the HVSC-collection article and modify the player :) I tested it (the method where high *attack* parameter is used to make sure the delay-bug happens always) but I wasn't sure that the decays stayed as they should, so can't use that officially. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Well, I have the problem in 25Hz mode.
http://www.rogepost.com/n/0381032951
(hehe, this time NO rapdishare) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
So, there isn't any solution to fix ADSR Bugs in 25Hz mode?
(seriously, many times it doesn't help to make "safe" instruments)
It's always the same. Inside GT2 there are no bugs, but if packed ....
I've tried to fix them (even buffered writes doesn't help), but there was absolutely no way.
IMHO people should reconsider there attitude about the 25hz mode. It's possible to create HI-FI instruments with it. :) |
| |
Laxity
Registered: Aug 2005 Posts: 459 |
I'm speechless... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: I'm speechless...
May I ask why? |
| |
Laxity
Registered: Aug 2005 Posts: 459 |
Who has got an attitude?.. You seem to think this is somthing we all have in common about this 25hz thing.. Why? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Added an experimental, alternative SID-writeorder player to V2.57, which is activated by setting full attack in the hardrestart parameter (like F800 or FF00). This may be more reliable against ADSR bugs. Or maybe not. And as I said, the character of the envelope may also change. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Thank you Cadaver. You are the best! :)
@Laxity
Erm... sorry, my fault. :)
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
It seems that it doesn't help.
If I use f.ex FF00 then the following happens:
http://www.rogepost.com/n/7453839690
If I use buffered writes the music sounds (the envelope) ok, but the ADSR bugs are still there. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
... but anyway, it's no problem if if the ADSR bugs cannot be removed.
I only wanted to find out if it is possible to create HIFI sounds with the 25Hz mode. :)
|
| |
ChristopherJam
Registered: Aug 2004 Posts: 1378 |
Firstly, stupid question: What is a HIFI sound?
Second stupid question: could you not avoid ADSR bugs in 25Hz mode by having the first tick of each instrument ungated with a release of zero? Sure it would delay all notes by 40ms, but there's enough time there to allow the rate_counter to be recaptured, so at least there would be no jitter, and the rest of the note would be 'sexy' (yes that's really what it's called :-P)
btw - I tested my theory about any release less than the following attack being sufficient to avoid the bug, and it works :) But cadaver is right - it is much simpler to just use a release of zero. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
ChristopherJam: "hifi" is nataspeak for always having the delaybug in the start of each note (common in most musiceditors nowadays.) Most often used case I guess is a high frequency noise in the first audible frame, which then will be only 0,5 frames long because of the delaybug.
Of course the whole concept of "hifi" in 25Hz mode is dubious, since the first wavetable row will be used for 2 frames, with delaybug included that's 1,5 frames.
I won't do any 25Hz mode specific hacks, but I guess there's easily 2 or 4 frames of gateoff+release 0 with default settings :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: ChristopherJam: "hifi" is nataspeak for always having the delaybug in the start of each note (common in most musiceditors nowadays.) Most often used case I guess is a high frequency noise in the first audible frame, which then will be only 0,5 frames long because of the delaybug.
Of course the whole concept of "hifi" in 25Hz mode is dubious, since the first wavetable row will be used for 2 frames, with delaybug included that's 1,5 frames.
I won't do any 25Hz mode specific hacks, but I guess there's easily 2 or 4 frames of gateoff+release 0 with default settings :)
cadaver wrote:
> I won't do any 25Hz mode specific hacks, but I guess there's
> easily 2 or 4 frames of gateoff+release 0 with default settings :)
I'm not completely sure what you mean....
Then, do I have to write something like this in wavetable?
F6 00
E8 00
F6 A9
81 DE
21 00
FF 00
The ADSR bugs mainly occur ifs songspeed is 3 and instruments play on every pattern line.
The main problem is still the same. Within the tracker there are usually no bugs. It's an extremely painful work to test the song many, many, many times. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No you don't. That's what the normal hardrestart is for. Looking into the testsids it seems you're misusing the 1stwave settings to make 25Hz mode do what it was never supposed to. Specifically, 1stframe waveform should never have gatebit off or the benefit of HR is completely nullified, since we're no longer having zero release when gatebit goes on the next frame. Just because something happens to work in the editor, doesn't mean you should necessarily be doing it.
But for "sexy" notes at 25Hz, try HR-param $ff00 - Gatetimer $81 - 1stwave $09 (actually it's not used, just make sure it's nonzero) - Attack/Decay $00 - then write your wavetable normally.
And anyway, if GT2 is too painful to use, no-one is still forcing you. |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
i asked this before but still i didn't get why it wouldn't be possible to add another wavetable with $ff steps. one could utilize the 8-speed player then. seriously, this is not meant to sound like bitching at all, i am just curious as there are other editors that provide more than $ff wavetable steps. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Well, I just don't feel like doing it :) Done whatever way, it would be quite a lot of modifications and quite a lot of pain, make the player code yucky, and include a songformat change. |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
okay :) so no chance for a dedicated 'more than 4-speed' songformat either? see, it's fairly impossible to do anything serious in higher speeds in that case ;) *ducks* |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
That would be a prime opportunity for someone who would actually have an interest in improving the program, like that enhanced 1.53 some time ago. I pretty much don't, anymore :) |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
quite understandable *sigh*. well, thanks for the best editor ever anyway :) |
| |
Hate Bush
Registered: Jul 2002 Posts: 453 |
Sascha, why the $ff long wavetable isn't enough for you? With note delays, I'm able to create over 20 good instruments even in 8x speed o_O
However I can understand that 20 or so instruments could be too limiting, as I usually use all the available slots :) |
| |
A Life in Hell Account closed
Registered: May 2002 Posts: 204 |
Quote: No you don't. That's what the normal hardrestart is for. Looking into the testsids it seems you're misusing the 1stwave settings to make 25Hz mode do what it was never supposed to. Specifically, 1stframe waveform should never have gatebit off or the benefit of HR is completely nullified, since we're no longer having zero release when gatebit goes on the next frame. Just because something happens to work in the editor, doesn't mean you should necessarily be doing it.
But for "sexy" notes at 25Hz, try HR-param $ff00 - Gatetimer $81 - 1stwave $09 (actually it's not used, just make sure it's nonzero) - Attack/Decay $00 - then write your wavetable normally.
And anyway, if GT2 is too painful to use, no-one is still forcing you.
Actually, it'sa funny story - last night a pack of rabid ninjas broke into my house, tied me up, and forced me to use GT2. Quite the odd experience... |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
michal, if I wanna take full advantage of 8-speed (that includes some 'dirtifying techniques', freq- and waveform changes in the beginning of instruments) it is close to impossible for me to stay within in the $ff range. a simple lead for example eats $1a steps and i don't wanna talk about arps :) i know it can be done using wavetable delays but in that case the full potential 8-speed offers is gone, hands down :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
@cadaver
Hmm, it doesn't work. It only produces very inaccurate (everything but not sexy) sound.
This is my technique the create sexy instruments:
Gateoff timer: 81
HardRes/1stWave: 09
ADSR: 00F9
E8 00 ; testbit (waveforms with x0)
21 A5
11 A5
10 A0
10 98
10 85
FF 00
BTW, I noticed that the ADSR Bugs completely disappear if the packed song plays not 3 channels. I guess there is some timing problem in 25Hz mode.
Anyway, it's not that important. :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Sure you can bang your head to the wall as much as you like, but using gateoff just after the sound has been triggered (and ADSR set to instrument values) you're inviting nothing but unpredictability. I recommend trying in any other editor, don't think the results will be much more stable. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok, now I did some other examples. Now it seems to work. :))))
Anyway, there is a little problem with filtered sounds. It's because cutoff isn't set at frame 0. This is a problem since it forces choppy instruments if they are filtered. (25Hz mode)
25Hz mode, HR: 0F00
Gateoff timer: 81
Hardres/1stwave: 09
snare sound:
41 B4: last cutoff freq continues on frame 0
80 DF: new cutoff starts here
FF 00
So, f.ex if you have running on the same channel the bass sound with cutoff 5, the "41 B4" from the new instrument goes "lost". :( |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Nata, may I know why 25hz tracking is so important for you?
www.vulture.c64.org |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Nata, may I know why 25hz tracking is so important for you?
www.vulture.c64.org
.. because it's more sexy than multispeed. :) |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Seems 25hz isn't so sexy, because you encounter quite some problems. (Though Hubbard proves it can be sexy, he must be a pragmatist) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Seems 25hz isn't so sexy, because you encounter quite some problems. (Though Hubbard proves it can be sexy, he must be a pragmatist)
25Hz is sexy.
Yes, I had a few problems, but now they are solved. (except the filter problem)
As far I can remember RobH. did not use HR for 25Hz. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
a) do sounds with gatetimer < $80 (ie. using 1stwave parameter normally)
b) hack player to execute filter last
When did Hubbard use 25Hz? In Synth Sample shittunes? |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Educational by Hubbard is a masterpiece, and I enjoyed the oings, pjieews from Final Synth Sample I alot when I was young.
But no, Musical Joke cover is 25hz. (Harvey Smith Show Jumper) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: a) do sounds with gatetimer < $80 (ie. using 1stwave parameter normally)
b) hack player to execute filter last
When did Hubbard use 25Hz? In Synth Sample shittunes?
Hmm, thats not really satisfying.
Couldn't you make the 25Hz mode work correctly?
This mode requires a "set filter" cmd on frame 0. Why not include it in the standard version? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No, the whole wavetable-on-firstframe hack was just an ugly hack and afterthought, and shouldn't really be used :) It takes so much rastertime, it's disgusting.. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Well, I use it quite often. It's useful. :)
For me it's no problem if it takes a lot of rastertime, as I don't include the songs in demos/games or something between.
Anyway, it would be cool if you would do certain hacks. :)
(You know what you are doing) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Actually, just to remind, it's quite futile of you to expect any major "favors". Your not-so-distant past idiocy is remembered, you know :)
In fact, I was thinking.. anyone else using the gatetimer high bit to start wavetable right on note init? If not, it could "mysteriously" vanish from the next version, thus solving the filter problem wholly, and making the playroutine conceptually much more consistent again. |
| |
Frantic
Registered: Mar 2003 Posts: 1627 |
@cadaver: If I were you, I would kick it out right away. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Actually, just to remind, it's quite futile of you to expect any major "favors". Your not-so-distant past idiocy is remembered, you know :)
In fact, I was thinking.. anyone else using the gatetimer high bit to start wavetable right on note init? If not, it could "mysteriously" vanish from the next version, thus solving the filter problem wholly, and making the playroutine conceptually much more consistent again.
> Actually, just to remind, it's quite futile of you to expect any
> major "favors". Your not-so-distant past idiocy is
> remembered, you know :)
I'm sorry! Can you forgive me?
---
Please, don't remove it!
---
Theoretical question: It's technically possible to slide up/down a melody and the vibrato continues?
Btw: I saw that Cybertracker can slide up/down arpeggios. This is really a cool feature + it sounds extremely good. Ok, maybe it's more rastertime consuming. But who cares about RT anyway? :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
It's not a matter of forgiving, it's of the free will & free time that we each expend on c64 scene activities. Everything forgiven, nothing forgotten, activities chosen & prioritized accordingly. And your requests are pretty near rock bottom, considering they'd also usually take the editor in directions I personally oppose. And considering I pretty much don't listen to anyone else either nowadays :)
|
| |
Raf
Registered: Nov 2003 Posts: 343 |
like ppl shouting for stereo GT2.x for example ;-)
www.vulture.c64.org |
| |
Jammer
Registered: Nov 2002 Posts: 1289 |
nata, does such 25hz satisfy you? done in gt 2.55:
http://trinity.unreal.pl/ForPals/HalfQuality.sid
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: nata, does such 25hz satisfy you? done in gt 2.55:
http://trinity.unreal.pl/ForPals/HalfQuality.sid
Jammer,
the tune sounds quite nice! Unfortunately it sounds more like a short sample that is repeated over and over.
And maybe the drum instrument isn't that sexy as it could be...
Anyway, don't get me wrong - it's just my opinion. :)
Cadaver,
I understand your point. I will respect that. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Quote: nata, does such 25hz satisfy you? done in gt 2.55:
http://trinity.unreal.pl/ForPals/HalfQuality.sid
moon patrol goes funk-disco? ;-)
www.vulture.c64.org |
| |
Jammer
Registered: Nov 2002 Posts: 1289 |
nata >> you won't do anything better with drums (snare to be more specific) working in 25 Hz, i assure you ;)
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Just a short sample (done right now):
http://www.rogepost.com/n/9922518421
Use something else than sidplay2w to listen. :)
Jammer, you have to use gateofftimer "81". Wavetable will be started directly with the desired waveform on frame 0. (without the $09)
Anyway, filters doesn't start at frame 0, so you must use a few tricks to make filtersounds not buggy. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1378 |
@Nata - nice instruments! Certainly proof that you can do good work in 25Hz
..but I'm glad I listened first on a real c64. Are there any emulators that this track sounds remotely correct on? Sidplay 3.4.1 and Power64 are both failing utterly, despite the the former using reSid in some form or other.
I'm certainly starting to think that if I do any kind of non-c64 native editor that not only would communicating with a real SID be imperative, but emulation would likely be fairly pointless. So much for composing on-the-road with my laptop. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
VICE? Sidplay/W? |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1378 |
OK, I just reinstalled VICE (the Mac port isn't particularly native (x11) and two years ago was pretty buggy), and the hi-hat(?) is still noticeably off, but the drums sound much much better.
I did use to VICE (and regular transfers to real c64!) for instrument repair at LCP2004 once I discovered that all the instruments I'd been testing under power64 were broken. I know now it was the ADSR delay bug, but at the time I wasn't familiar with it, and just resorted to a fast attack and several gated frames.
*tries to feel motivated about launching virtual PC*
*fails* |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: VICE? Sidplay/W?
or Hoxs64..
Personally I would not recommend Sidplay/W.
--
Anyway, I hope that people finally start to compose their killer tunes in 25Hz mode instead of multispeed. :)))))) |
| |
Linus
Registered: Jun 2004 Posts: 638 |
"Man's got to know his limitations" - Harry Calahan.
:) |
| |
Jammer
Registered: Nov 2002 Posts: 1289 |
Quote: Just a short sample (done right now):
http://www.rogepost.com/n/9922518421
Use something else than sidplay2w to listen. :)
Jammer, you have to use gateofftimer "81". Wavetable will be started directly with the desired waveform on frame 0. (without the $09)
Anyway, filters doesn't start at frame 0, so you must use a few tricks to make filtersounds not buggy.
'nie ucz ojca dzieci robic'
which translates literally as:
don't teach father how to make kids :D
i really know every trick with hardrestart in gt, the way i've done it in my example is strictly controlled as it was my purpose to make it sound just like that :P i planned to make the most realistic 25hz snare possible and probably accomplished the mission :P
|
| |
Raf
Registered: Nov 2003 Posts: 343 |
said by the most modest scener over all the world ;-)
www.vulture.c64.org |
| |
Laxity
Registered: Aug 2005 Posts: 459 |
Quote: Just a short sample (done right now):
http://www.rogepost.com/n/9922518421
Use something else than sidplay2w to listen. :)
Jammer, you have to use gateofftimer "81". Wavetable will be started directly with the desired waveform on frame 0. (without the $09)
Anyway, filters doesn't start at frame 0, so you must use a few tricks to make filtersounds not buggy.
Nice..
I wouldn't have guessed that this is half speed, but the "quality" doesn't surprise me either. Since the ADSR bug causes a gate on delay of roughly one and a half frames, one can still make the usual short initial noise etc..
What's the catch with SidPlay/w, why is it "bad"? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
... because it has (IMO) an extremely low quality audio output. :-D
1. 6581 filters: where is the distortion?
2. 6581/8580: there is something missing in the noise waveform.
3. 8580: Damn, resonance is too low in reSID. (it's the same in GT)
4. Emulation: Where is the high quality mode? (resample, interpolation)
And it seems that the emulation isn't that cycle exact (sometimes) like the real thing.
Anyway, here an example:
http://www.rogepost.com/n/2206993644
|
| |
Raf
Registered: Nov 2003 Posts: 343 |
then use
x64 -vsid <filename.sid>
;-) - you have control over all the params using additional cmd line switches.
www.vulture.c64.org |
| |
Jammer
Registered: Nov 2002 Posts: 1289 |
laxity >> sidplay 2/w has totally screwed up hi pass filter. instead of 'ssssss' you hear 'shhhhh'. above $80 there's no difference in cutoff at all. i personally recommend sidplay 2 for winamp, it sounds practically like goat tracker and vice (however i've noticed minor adsr bugs in my one tune but still it's better than sidplay 2/w). moreover, 8580 combined waves sound much better with sidplay 2 for winamp.
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: laxity >> sidplay 2/w has totally screwed up hi pass filter. instead of 'ssssss' you hear 'shhhhh'. above $80 there's no difference in cutoff at all. i personally recommend sidplay 2 for winamp, it sounds practically like goat tracker and vice (however i've noticed minor adsr bugs in my one tune but still it's better than sidplay 2/w). moreover, 8580 combined waves sound much better with sidplay 2 for winamp.
... or a real 8580 :)
@raf
which are the additional parameters? What can be changed?
|
| |
Raf
Registered: Nov 2003 Posts: 343 |
'help|command line options' shows them all , however ... here is a brief list of what's really useable if oanyone is interested:
-soundrate <value>
Set sound sample rate to <value> Hz
-soundbufsize <value>
Set sound buffer size to <value> msec
-soundsync <sync>
Set sound speed adjustment (0: flexible, 1: adjusting, 2: exact)
-sidengine <engine>
Specify SID engine (0: FastSID, 1: ReSID, 2: Catweasel, 3: HardSID)
-sidstereo
Enable second SID
-sidstereoaddress <base address>
Specify base address for 2nd SID
-sidmodel <model>
Specify SID model (0: 6581, 1: 8580, 2: 8580 + digi boost)
-sidfilters
Emulate SID filters
+sidfilters
Do not emulate SID filters
-residsamp <method>
reSID sampling method (0: fast, 1: interpolating, 2: resampling, 3: fast resampling)
-residpass <percent>
reSID resampling passband in percentage of total bandwidth (0 - 90)
-residgain <percent>
reSID gain in percent (90 - 100)
and.. probably -pal and -ntsc may be used to set this 'flag' too :)
www.vulture.c64.org |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmm, but why should I use cmd line options if I everything can set under "settings"? :) |
| |
Jammer
Registered: Nov 2002 Posts: 1289 |
Quote: Hmm, but why should I use cmd line options if I everything can set under "settings"? :)
you're not oldskool enough :P ah, just foolin' around :D i also hate programs which include commandline options, uncomfortable like hell. |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Quote: Hmm, but why should I use cmd line options if I everything can set under "settings"? :)
when you play directly from cmd line then it's quite nice to set params too , especially considering nothing shows up when VSID mode is enabled , so I guess you didn't even try to fire up vice with vsid switch or are trying to be joker.
and.. cmdline is very nice way to use many programs , but with today generation of "ppl who can't use computer w/o arrow on the screen" many 'ordinary' users don't even know about console and take console users as magicans writing spells...
www.vulture.c64.org |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hi!
It's not directly a bug, but...
Often it makes sense to use relative instead of absolute note values.
It's quite common to use something like this:
81 D4 ; absolute pitch
21 00
FF 00
However, this works in the most cases but sounds sometimes really boring.
81 3C ; relative pitch
21 00
FF 00
It's a lot more diversified, but unfortunately there is no boundary control.
This way the pitch would never go higher "47" if someone uses relative pitch values. (because everything above will be silent)
---
About Arpeggios & 1xy, 2xy cmd:
It is natural restriction or intentionally disabled by you?
When I play an arpeggio it's absolutely not influenced by an 1xy, 2xy cmd.
Anyway, it would be cool if you could enable this feature since GT2 already has a lot quality features which take a lot of rastertime. (I think that an average of $17 lines isn't very much) Plus, people can enable all restrictions if they want low rastertime. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Shrug? |
| |
Linus
Registered: Jun 2004 Posts: 638 |
lo,
Nata: 1XX and 2XX affect an arp if you set frequency to '80'.
Example:
41 00
08 80
41 03
08 80
41 07
08 80
41 0b
08 80
ff 01
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Nothing has been deliberately disabled, this is the way my musicroutines have always treated frequency (arp sets the absolute frequencyvalue, discarding any modification done by vibrato or slide). And this is certainly not the time or place to completely revamp that. So get cranking out those unofficial versions :) |
| |
Raf
Registered: Nov 2003 Posts: 343 |
Quote: Hmm, but why should I use cmd line options if I everything can set under "settings"? :)
you can't change sid to '8580+digi click boost' inside GUI menus
www.vulture.c64.org |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Nothing has been deliberately disabled, this is the way my musicroutines have always treated frequency (arp sets the absolute frequencyvalue, discarding any modification done by vibrato or slide). And this is certainly not the time or place to completely revamp that. So get cranking out those unofficial versions :)
I wish there would be any unofficial GT2 versions with cool & new features. :_(
@raf
Ok that's true but IMO quite lame. :)
|
| |
Raf
Registered: Nov 2003 Posts: 343 |
Ther learn C and make them , Cadaver's code is open and free :)
www.vulture.c64.org |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: Ther learn C and make them , Cadaver's code is open and free :)
www.vulture.c64.org
@linus
unfotunately it's not the same as a real arpeggio slide. At the moment it is impossible with GT2. :_(
@raf
I won't learn it. music is already hard enough.
Plus, Cadaver is the best and he knows how to include cool features. :)))) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
V2.58 fixes rastertime peaking. Let's see if I get my downvote back :) |
| |
Bexta Account closed
Registered: Dec 2006 Posts: 1 |
Quote:I wish there would be any unofficial GT2 versions with cool & new features. :_(
@nata
u may seem to have all time in the world for these ideas. but please remember. other ppl have other things to do. like living. and since wen is Cadaver ur personal code slave???
i have lots of time on my hands. and have plenty of ideas for c64 music routines. thats why i *am* learning to code on the c64.
im not lazzy enuff to expect sum other poor sod to do sumthing i realy shud do myself.
@Cadaver
i have the deepest simpathy for u. and think gt2 rox bigtime, even without most of these features. its a credit to ur good name. so is ur devotion to making it wat it is.
lv, bex.xXx |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Do you really have removed these VERY important feature?
"* Gatetimer high bit to start wavetable immediately"
How sad is this? I bet you did it only to stultify me.
IMO you seem not to understand why it is important to start waveforms on frame 0. :_(
... however just another sad day... :_(
|
| |
Raf
Registered: Nov 2003 Posts: 343 |
then do not upgrade your gt ;-)
www.vulture.c64.org |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: then do not upgrade your gt ;-)
www.vulture.c64.org
Sure, I won't upgrade it anymore.
BUT, what is if GT2 gets maybe a new feature which I would require? (for ex. reSID update)
it's only sad :_( |
| |
Raf
Registered: Nov 2003 Posts: 343 |
resid update can be apllied by keeping old source and borrowing new resid from newer source - this is how see it
www.vulture.c64.org |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: resid update can be apllied by keeping old source and borrowing new resid from newer source - this is how see it
www.vulture.c64.org
Sadly if have only a backup from version 2.54.
---
Cadaver, why don't you remove every quality feature? Hmmm?
|
| |
Raf
Registered: Nov 2003 Posts: 343 |
I have 2.56 , may share with you if you wish.
www.vulture.c64.org |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: I have 2.56 , may share with you if you wish.
www.vulture.c64.org
Yes please!
---
Somebody knows where I can get the "MinGW development enviroment"?. (Can someone send it by mail or upload to rapidshare?) Thanks!
I would only require a minimal version in order to recompile GT2 |
| |
Raf
Registered: Nov 2003 Posts: 343 |
http://www.mingw.org/
however I dunno it the basic download will allow to recomiple GT. moreover you surely have to download SDL additionally and compile it.
I suggest this : http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup..
and inside you can downloads additional libs (including SDL) by built in tools easily :) - actually I never succeded in manually configuring mingw so I could compile win32 VICE myself , and devcpp let me do that.
http://www.ryomanhattan.addr.com/raf/goattrk256.rar
may contains some of my personal files - just ignore ;-)
PS. pity that nobody is hosting sth like "winamp's heaven" site containg every version of GT released ;-)
www.vulture.c64.org |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
nata: Actually it was just to keep the player logical and consistent (the filter-start thingy), and shouldn't ever have been there in the first place, for the rastertime really was atrocious when used on all instruments, I didn't remember how atrocious!
(but it's true that without your recent flurry of messages, I wouldn't have started re-checking things..) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Tsss, why don't you remove the multi-speed feature?
It really would clean up the playroutine.
And why not? High rastertime usage is so disgusting...
Let's see if Linus, Jammer, & Randall still would be happy with it.
Anyway, If you start now to remove several features to keep the player logical just wait and see... |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Again, you're descending into the childish & ridiculous. It's only a musiceditor for fucks sake :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
@raf
I'm not sure what I have to download from http://www.mingw.org/
Where is the *.exe?!? This site is quite confusing to me. :(
cadaver: no, it is not! |
| |
Raf
Registered: Nov 2003 Posts: 343 |
http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download
this is the basic set containing compiler and linker and other absolutely necessary things.
www.vulture.c64.org |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
A change I wanted to do for a long time, separating control of gateoff disable (legato) from the 1stwave parameter. As always, approach with caution. Old songs should be auto-converted... Tweak utility was also updated.
v2.59 changelog:
- Songformat version update (GTS5/GTI5)
- Gateoff Timer parameter bits control now hardrestart disable ($80) & gateoff disable ($40).
- 1stFrame Wave can be any from $01-$8F (implies gateflag on), $00 to leave both waveform & gateflag unchanged, or $FE / $FF to control gateflag but leave waveform unchanged.
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
@raf
Thank you very much for the links! :)
---
@cadaver
Aha! So, you officially started the downgrade phasis of GT2? :D
For the next version don't forget to remove ADSR cmds, wave delay, freq 80 (man, it eats rastertime) and everything that isn't logical. I wish you happy coding. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
So does that wish imply you're quitting this thread finally? :) Or was that just wishful thinking? Anyway, good luck with cybertracker modifications. |
| |
ice00
Registered: Apr 2002 Posts: 54 |
@PS. pity that nobody is hosting sth like "winamp's heaven" site containg every version of GT released ;-)
Actually I have stored about 61 versions of GT2 (with beta versions too, maybe only some versions are missing) to be released in HVMEC as soon as I will have space hosting for that. Maybe one day...
If one is look for a particolar old version, drop me a mail |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: @PS. pity that nobody is hosting sth like "winamp's heaven" site containg every version of GT released ;-)
Actually I have stored about 61 versions of GT2 (with beta versions too, maybe only some versions are missing) to be released in HVMEC as soon as I will have space hosting for that. Maybe one day...
If one is look for a particolar old version, drop me a mail
ice00: why don't you switch your internet provider? (Or, I'm sure there is someone that can share a few Megabytes webspace) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: So does that wish imply you're quitting this thread finally? :) Or was that just wishful thinking? Anyway, good luck with cybertracker modifications.
No, we will continue till 1000+ posts. :D
---
So you did the modifications only to keep me away from GT2?
Or was it just for your own satisfaction?
Anyway, it's more than sad.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Neither really, 'cos I don't really derive satisfaction from using or developing GT :) but I believe a feature that was not working properly anyway (the filterstart, again) and giving an ungodly rastertime hit was worth replacing with a lot of added control for HR/gateoff/gateon/1stwave behaviour.
Of course I'd wish you'd be a little more consistent in your decisions, considering how fine anti-GT avatars you had at lemon64 at one point :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Hmm, but you said that you have forgiven me. (some posts earlier)
(Yes, I still have the avatars - just in case they are required sometime) :-D
Personally, I have never had any bigger problems with the "filterstart", but yes, in 25hz mode it was sometimes a bit disgusting.
And hey, now your dreams come true. I'm consistent: There is absolutely no reason to update GT2 to the newest version. :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No, you still don't get it, I'm not mad at you for using anti-GT avatars, or anything else :) I took that as another way of saying "I don't use goattracker". Yet you still seem to be using it...
I'm quite sure though, that despite what you're saying now, in a few weeks or months time you're again back with new requests ;)
(and just as a sidenote, it's perfectly possible to do stupid immature things that permanently hurt your reputation, without really offending anyone and therefore not needing to be "forgiven" by anyone. Like when you started changing your csdb-username several times after quitting.) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Ok! :)
To be honest, I was rather sad & disappointed to see that you have removed one of my favourite GT2 features (the most of my worktunes are incompatible now). I won't explain you why it is so important for me, but seriously, in this case it makes no sense to request new features nor use the new version.
---
Btw. T.S.o.B.W. takes only $15 rasterlines even if I have used "Frame 0", "HIFI-Vibrato", "Pulse optimization = OFF", "Realtime command optimization = OFF" and "Arpeggio-Vibrato". :) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
... but of course, it's quite hard to not request features for several months. (without GT I wouldn't be here at csdb) |
| |
A Life in Hell Account closed
Registered: May 2002 Posts: 204 |
Quote: ... but of course, it's quite hard to not request features for several months. (without GT I wouldn't be here at csdb)
I can't believe you don't shut the fuck up. How the fuck do you not realise that it's time to stop speaking? What the fuck is wrong with you, sir?
|
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote: I can't believe you don't shut the fuck up. How the fuck do you not realise that it's time to stop speaking? What the fuck is wrong with you, sir?
What the HELL is wrong with youuuu??? ;-) |
| |
AüMTRöN
Registered: Sep 2003 Posts: 42 |
HAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHHA!
No, really. |
| |
A Life in Hell Account closed
Registered: May 2002 Posts: 204 |
Quote: What the HELL is wrong with youuuu??? ;-)
Aparently, being able to - despite my otherwise horrific spelling and grammer - spell 'you' with a single u, and end questions with a single piece of punctuation, is what the hell is wrong with me. |
| |
fade Account closed
Registered: Mar 2002 Posts: 290 |
that's grammar btw :) |
| |
Style
Registered: Jun 2004 Posts: 498 |
Can someone please help me.
Im using goattracker on my pc, but cant find any instructions on how to get it to actually track goats. My goats are running around all over the place, I keep losing them, and I have no idea how many I actually have.
Does the software use RFID tags on the goats or something?
Thanks for your assistance. |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
Neh, it's done manually: Mark your goats with paint (in HEX!!!), then track them manually as they run around on your meadow. Then enter the numbers of your goats into Goattracker (in HEX, dummy!!!). That's basically all. I think. Not quite rocket science, even shepherds like me use it and it works like a charm! |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1378 |
Sorry to be on-topic (boring I know), but I have a question for Cadaver (or it may be down to @nata's useage!?).
Is there any particular reason for disabling the low-pass filter when no voices are being filtered? I am spotting sequences of writes equivalent to
lda#$f0:sta $d416
lda#$f1:sta $d417
lda#$1f:sta $d418
and
lda#$f0:sta $d417
lda#$0f:sta $d418 /* redundant? */
in 25hz_4.sid when voice one changes to/from a filtered state. Is that just to make the code simpler, or does it affect sound quality in some circumstance? |
| |
fade Account closed
Registered: Mar 2002 Posts: 290 |
Quote: Can someone please help me.
Im using goattracker on my pc, but cant find any instructions on how to get it to actually track goats. My goats are running around all over the place, I keep losing them, and I have no idea how many I actually have.
Does the software use RFID tags on the goats or something?
Thanks for your assistance.
Really ?
Fucking
Idiot
Detected.
yeah u herd me (!) |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Btw. with the new version you can't anymore do songs like 25hz_4.sid in 25Hz mode. :D :P ;-) |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1378 |
Bwaha - I'll just have to write my own tracker, oh yeah I was! ;) ;)
In the mean time, my disassembler can still only read GT tunes; another 6 instructions to emulate before I can play back Kinetix... |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
I wouldn't be surprised if Cadaver covertly works on v3.0 or at least v2.60final. :DDDDDDDDD |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1378 |
I was about to point out my Windows allergy, but then I discovered.. GT 2.25 for OS X!
*downloads*
But no, that style of editing still hurts my brain. Back to my overambitious never to be realised grandiose plans.
Where would the scene be if not for NIH, eh? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
GT 2.25 ???? =:-O
Maybe they missed to update....
Anyway, Still I'm lookin' for a way to run GT2 from a Live-CD.
It seems not to work with BartPe - maybe with some mini linux? (I would like to use Puppy Linux)
IMO it would be interesting to have a GT2 distribution that directly runs from CD. So, it would be possible to compose at PC's with minimal configuration but with maximum power. :)
Anybody could help? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Cadaver, do you still have the tweak tool for version 2.57? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No. |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
:_(
Anyone else? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
I guess I found it now. :)
It seems to be GTS4.
Anyway, it seems that it cannot play correctly my songs (v2.57). Why? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Bleh, it doesn't recognizes when a song has disabled HR.
|
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
The versioning is actually there because something actually changed in the way the playroutine should work (!), not to piss off people randomly |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Aha! And? |
| |
Conrad
Registered: Nov 2006 Posts: 833 |
Hello.
Just thought I'd leave a message on this super-long thread, and so...
@Cadaver: This is an excellent tool! Keep up the good work man! :-)
Aren't you getting tired of this thread BTW ? |
| |
Bamu® Account closed
Registered: May 2005 Posts: 1332 |
Quote:Aren't you getting tired of this thread BTW ?
For sure he is already tired for ages (when I'm involved)... ;-D
|
| |
Conrad
Registered: Nov 2006 Posts: 833 |
Back to this old thread again as I have a question/idea for Cadaver, ( this a sensible discussion btw )
Me and Linus had a talk about this idea on IRC.
Could you be able to implement a note detune parameter either in the instrument data, or as a track command (or maybe both.)? Having this would allow to create some very nice detune/flanger effects at lower speeds like 50Hz.
Also, Linus mentioned about vibrato "auto calculate" routine, where say for example, vibrato plays such a rate at note "C-4", and will also play at the same rate and power at note "C-6". It doesn't seem to happen in the current version. This would shorten the number of vibrato programs to use as well. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
There's no room for more track commands. If you want to be clever, you can do detune by running a portamento command for one frame through the wavetable.
Slide/vibrato intelligence has been extensively discussed before, and my conclusion is that it would suit a hacked version better. I want to retain official GT as sort of raw and lean, and furthermore the probability that I actually do any major modifications is very slim, so better get hacking :)
|
| |
Conrad
Registered: Nov 2006 Posts: 833 |
hm, yes hacking would probably be the best alternative since i can code as well.
and yes your method on detune with slide seems to be just as good, as I just gave it a test a minute ago. no probs :)
thanks Lasse :) |
| |
Linus
Registered: Jun 2004 Posts: 638 |
I disagree :) If you want to play a melody using two voices (one of them slightly detuned) preserving exact the same detune amount you need tons of slide parameters without auto depth calculation - which is obviously a pain in the ass. So ... pleeeeaaassseeeee with a cherry on top add a proper detune routine or auto depth calculation :) It's the only feature missing from an otherwise perfect tracker :) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Well... few hours later CRD's post actually got me thinking of a quite simple way of adding realtime calculated vibrato/portamento, so it is done in V2.62. I'd be surprised if I didn't fuck up something in the process, though.
Calculation is enabled by adding high bit ($80) to speedtable left side. For vibrato, it also contains the dir-change speed as usual. Right side then becomes the amount of right-shifts done to the frequency difference between this note and next, you can go up to $ff for extremely high rastertime, and to add insult it's calculated every frame for simplicity ;)
Detune still has to be done with the wavetable-controlled portamento method. |
| |
Conrad
Registered: Nov 2006 Posts: 833 |
Quote:I'd be surprised if I didn't fuck up something in the process, though.
Doesn't seem you have at all. I just tried v2.62 with one of my worktunes and everything works fine, both in editor and exe... the vibrato is now much better :) when the high bit is set of course.
And yes, the rastertime does go sky-high when you use larger values in the right table, but I think it will be quite unlikely we'll use higher values for vibrato, because lower values output the same vibrato rate, which is good :) As for portamento, we'd better stick to the original method ;) Obviously I deliberately put larger values in the speed-table to test it - no problems at all. One thing we need to take care of though is portamento up and down, as now the porta range is from $0000-$7fff.
Anyway, thats great work! Thanks for implementing that cadaver :) Respect! |
| |
Linus
Registered: Jun 2004 Posts: 638 |
Thank you very much, Cadaver! Gonna try it tonight :) |
| |
Mace
Registered: May 2002 Posts: 1799 |
It's not that I have any knowledge of GoatTracker, so I'm just blurting a thought here:
Aren't there any spare bits or bytes left in the instrument settings that allow for a 'detune' feature?
So doing a detuned track would require the use of another instrument, instead of control bytes or whatever else there is... |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No, there are no spare bytes. And GT2 is an unintelligent player that doesn't understand the concept of base frequency + detune frequency like some players do.
By making a new songformat to add a byte to the instrument data, and modifying the player quite a lot, a "proper" detune could be added, but I don't see the point as it can already sort of be done now.
EDIT: Yes, I managed to fuck up the detection whether the new code should be used (in the relocator, a classic off-by-one error), so if you want that to be tested reliably, redownload :) |
| |
Fanta
Registered: Jan 2002 Posts: 26 |
quite cool! i think what's still really missing is the possibility to run both vibrato and wavetable at once like with an arpeggio (bad example but still...). any changes to fix that somewhen?? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
No, frequency is & will be "direct" controlled in official GT, so it's not like there's something to "fix", that'd be a paradigm change and would probably break many old tunes. So there's at least a prime opportunity for hacking.. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Did somewhat important fix in V2.63 for the calculated vibrato/portamento: it's now calculated from the last note set in wavetable, not the last pattern note. This means that you can for example set the note one octave higher in wavetable (xx 0c), and vibrato/portamento will still be same as if it was octave lower. Also toneportamentos are being calculated according to the start note.
Edit: Also, make sure that the GT V2.63 zip you got has timestamp 13:45 or later, there was a nasty error where channel 3 was missing a variable, leading to it possibly corrupting channel 1 playback :) |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
this is just too tempting, i'm about to convert back to goat again, or at least try it out again for a motivational change. now all i have to do is get arsed to understand how the pulse+filtertable work, because they're somewhat different to jch. :D |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Some additional hints:
- If you use only calculated speeds, the normal speed code will be optimized away, leading in slightly shorter & faster player.
- If your song doesn't start all channels at once, it's a good idea to not have calculated instrument vibrato in instrument 1 (the default on startup), otherwise the speed calculations start right away on all unused channels, leading to greater rastertime use. |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
there's a problem that really bugs me with the current version :D
for some reason, goattracker sometimes refuses to play anything. i did a drum-sound, put the sound into pattern #1, try to play it - nada. the player is being initiated with a click and the cursor moves with the first note, but it stops abruptly and i get the 'stopped' message at the bottom of the screen.
the same happens when i load some worktunes from ~2000 (i guess that was the time of gt 1.2/1.3?) - the tune loads perfectly, but nothing happens when i want to play the tune. madness! =) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
The editor playroutine stops whenever there's something that makes the tune unplayable after packing/relocating. Try pressing F9 and maybe it'll tell in detail what's wrong. |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
where's the reply i shoot off on saturday? i wonder if that's anything to do with the secret causing-too-much-load messages that appeared here lately.
anyway, f9 seems to stop working once a crippled tune has been loaded and more tunes follow in the same session, f9 doesn't give out any error-table-messages until i start gt all over.
but yeah, basically f9 does solve it - once it works. =) |
| |
Conrad
Registered: Nov 2006 Posts: 833 |
When you load one of your older version tunes (are they under 2.0 btw?) do some of the data tables miss out the end values? ($ff) because used table data without $FF does cause an overflow error when you compile. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Dalezy: after which kind of relocator error does F9 stop working? Please reproduce the error message here. Or if it doesn't give a message even on the first time, send me one of your crippled tunes that causes this. |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
crd, yeah, they're way older than 2.0 (some where done in the first ever released version of gt =)
cadaver, gotta seek them out at home again |
| |
dalezy
Registered: Apr 2002 Posts: 475 |
yay. i was the last one to post, the above problem is long solved now.
now for something completely refreshing. i couldn't find it in nata's wishlist for some reason, so i'll put it on mine instead: buzz and renoise for example have this excellent feature to automatically increase or decrease values by marking a specific region, putting a start value on top and an end value on the bottom, by pushing a key combo the values inbetween are being automatically calculated.
so, in practice for, let's say filter- or adsr-commands inside the pattern it would look like something like this:
x0f < start value
x0e
x0d
x0c
x0b < end value
or, depending on the length:
x0f < start value
x0f
x0e
x0e
x0d
x0d
x0c
x0c
x0b
x0b < end value
this could also come in handy if you want to do noteslides into various directions, from let's say g-4 down to g-3 without wanting to type it all in by hand.
does that sound like a great thing to have? of course it does! :) |
| |
Jammer
Registered: Nov 2002 Posts: 1289 |
transparent paste is something useful, too (1 channel echoes ;P zum bei spiel) |
| |
Linus
Registered: Jun 2004 Posts: 638 |
Any chance for a reSid-fp version of GT2, btw? =) |
| |
Mr. SID
Registered: Jan 2003 Posts: 421 |
From cadaver's webpage:
"V2.68 adds Antti Lankila's improved reSID distortion code. See /I command line option." |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
Unfortunately it doesn't sound like any SID model I've heard... |
| |
GT Account closed
Registered: Sep 2008 Posts: 308 |
Quote: yay. i was the last one to post, the above problem is long solved now.
now for something completely refreshing. i couldn't find it in nata's wishlist for some reason, so i'll put it on mine instead: buzz and renoise for example have this excellent feature to automatically increase or decrease values by marking a specific region, putting a start value on top and an end value on the bottom, by pushing a key combo the values inbetween are being automatically calculated.
so, in practice for, let's say filter- or adsr-commands inside the pattern it would look like something like this:
x0f < start value
x0e
x0d
x0c
x0b < end value
or, depending on the length:
x0f < start value
x0f
x0e
x0e
x0d
x0d
x0c
x0c
x0b
x0b < end value
this could also come in handy if you want to do noteslides into various directions, from let's say g-4 down to g-3 without wanting to type it all in by hand.
does that sound like a great thing to have? of course it does! :)
Weird and time consuming command protocol. I remember when doing music on the Amiga AHX editor, same sad thing. One command is enough, change it when needed. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Apparently resid-fp sounds weird out of the box. It probably needs a configuration to be applied (like vice does.) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yeah, now got finally some time after nanowrimo :) and released V2.69, in which there's yet again newest code from Antti Lankila, and configurable parameters for the filter/distortion (look into the end of goattrk2.cfg file)
As a default setting, Alankila6581R4AR_3789 is used.
|
| |
pvcf
Registered: Feb 2005 Posts: 18 |
@cadaver
did you fixed the multiframe sid-export bug ? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
At least not consciously.. probably my memory fails. What was it, how do you repro? |
| |
pvcf
Registered: Feb 2005 Posts: 18 |
the player recognize the multi-frames, but not the positions of called interrupts, it seems it plays together, at the same position , for a 2frames sid, like
jsr$1003
jsr$1003
rts
without giving the time between the 2 frames like in goattracker, the result is to play only every first frame
of the wavetable,
eg
41 00
41 0C
ff 00
only 41 00 will be played. (i think this is the problem...i'm not a coder)
so multispeed songs, saved to sid, sounds like played as singlespeeder, but with correct songspeed. |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
The calling interval of playroutine should be correct (because GT2 adds an init code to adjust CIA timer speed) but there may be small timing differences that result to the note starts being different. Fiddle with the buffered writes -option and see if it helps.
Typically, when using normal "hard" hardrestart in a 2x speed song (if you adjust the gatetimer value to 2x compared to the singlespeed value, so 4 default) the first wavetable row *should* be inaudible. |
| |
pvcf
Registered: Feb 2005 Posts: 18 |
ho cadaver,
i did'nt understand you right; the problem which i found:
in goattracker itself it sounds fine and mulitspeed worked perfektly as it shoult,
BUT if i export the song to sid-format, just for listening in acid64 or sidplay, the problem occours ;(
so its the exporter which doesnt handle the cia-timer correctly, shell i make a example for you, so that you can hear the problem?
ps.: thanx for taking care 8) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Yeah you can make an example, but I'm 99% sure it's due to small timing differences: when GT2 editor writes to reSID to achieve sound output, it doesn't take the actual C64 playroutine code, and how many machine cycles that takes, into account. It just assumes a fixed amount of cycles between each SID write.
So, if you depend on things that are timing-sensitive, it's only after exporting you get to know how exactly the song sounds like, and in that case the editor is "wrong".
If the exported song didn't set up the correct CIA timer value, you wouldn't even hear the song played at correct tempo.
|
| |
pvcf
Registered: Feb 2005 Posts: 18 |
hey cadaver, i tried to make a demo, but i found out that the bug is gone... (1) tested it with 2.67 and 2.68.
but there is a other problem, please listen to 2xsnare.mp3 and 2xsnare.sid,
mp3 is recorded direct out of goattracker (recordet on hardsid-pci with an old sid).
the high-claves sounds very bad in the exported sid.
second thing (its not a major one): pls listen to aah_test.mp3 vs the aah_test.sid,
the mp3 is exact at the same freq-shift like the goattracker, where is it from recorded.
(hardsid pci) and if i play it from acid64 or sidplay2 the frequnce table seems to be shifted up
a halftone.
(maybe thats the same probleme like in the 2xsnare where i used ringmodulation...?)
http://www.reflex-studio-storage.com/temp/freq_bug.zip (526kb)
(1) since i have plugged a 6581 instead of my good 8580 ... wtf... i'll check it later again with new sid model.
edit...
after on more test:
if i export the 2xsnare after loading the song WITHOUT press play, the exported sid and the claves sounds exactly like in goattracker.
if i start the song in goattracker, press stop, go on export, the sid sounds bad like the one in the package...
can you second this behavior ? (v2.68) |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Hardsids operate on a different frequency than a C64, therefore the tuning will be different.
As for playing/stopping affecting the exported output, couldn't reproduce. |
| |
pvcf
Registered: Feb 2005 Posts: 18 |
Quote:Hardsids operate on a different frequency than a C64, therefore the tuning will be different.
thanx for testing 8)
and why hardsid sound different in goattracker+hardsid and acid64+hardsid and sidplay+resid (acid64+hardsid and sidplay+resid have the same tuning) ? |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
pvcf: you are forgetting what i told you...
a .sid needs installed code to do the CIA timer stuff, so it will be multispeed.
|
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Quote: Quote:Hardsids operate on a different frequency than a C64, therefore the tuning will be different.
thanx for testing 8)
and why hardsid sound different in goattracker+hardsid and acid64+hardsid and sidplay+resid (acid64+hardsid and sidplay+resid have the same tuning) ?
uh what ? :D
HardSID runs at 1.0 Mhz, not 0.987.... like C64
so hardsid tunes are in fact all playing too fast! |
| |
McMeatLoaf
Registered: Jan 2005 Posts: 105 |
I only have one thing on my wish list:
- To be able to change the freq tables.
What I'm talking about is, being able to use different freq tables than the default A440 (on PAL), and instead being able to use e.g. "A440 on NTSC" (like in the PRG), like most oldskool stuff ;).
Or perhaps why not A429 on PAL? Stuff like that.
I would really, really appreciate a function like that.
On the other hand, I *could* change the freq tables afterwards, by hand, using a hex editor, but that's _very_ time-consuming. |
| |
booker Account closed
Registered: Jul 2003 Posts: 333 |
Quoting Jan Harriesuh what ? :D
HardSID runs at 1.0 Mhz, not 0.987.... like C64
so hardsid tunes are in fact all playing too fast! \
That's a pitty. |
| |
booker Account closed
Registered: Jul 2003 Posts: 333 |
Any chance to include C64 font in GT? |
| |
Jammer
Registered: Nov 2002 Posts: 1289 |
Quote: Any chance to include C64 font in GT?
i don't think so ;) |
| |
booker Account closed
Registered: Jul 2003 Posts: 333 |
Quote: i don't think so ;)
Well... ok. Sourcecode is there. I guess.
Gotta find some friendly coder and buy few beers.
Heck, C++? Will booze myself and hack da thing! |
| |
Conrad
Registered: Nov 2006 Posts: 833 |
On odd times, Version 2.7 seems to crash after it's been running for a bit. Nothing serious though because you can still save your work... something to do with the audio driver maybe? |
| |
cadaver
Registered: Feb 2002 Posts: 1153 |
Some time ago I changed the sound buffer update logic to get rid of clicks caused by sometimes producing too few samples. So maybe it now produces too much, causing a buffer overflow (there should be checks, but you don't know of what reSID might do...)
If you want to be ninja, you could try compiling revisions from the svn (look for changes to gsid.cpp and gsound.c) and see when the crashes started.
GT2 should probably transition to cmake based build at some point so I could also build on MSVC and debug better... |
| |
Peacemaker
Registered: Sep 2004 Posts: 243 |
Hello,
i am working with goatracker and would need some help. want to create a certain bass. i tried to rebuild it for hours without any luck. maybe someone of the aces here want to help me? i would be realy thankful.
contact me via PM here and leave your icq/skype etc number and i ll contact you.
thanks
|
| |
la_mettrie
Registered: Feb 2012 Posts: 21 |
One rather small thing which has been annoying me is that time counter is reseted after stopping the song. I always forget to watch how long the song was X)
(my version is 2.70) |
| |
taaadpole Account closed
Registered: Jan 2011 Posts: 6 |
I've got detune going, using the 1-frame portamento command in the wave-table method.
It works great, as long as I'm not using the 3xx command for portamento. As soon as I use portamento, the note goes back up to normal pitch (no detune).
Is there a way to get the detune + portamento at the same time? |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: I've got detune going, using the 1-frame portamento command in the wave-table method.
It works great, as long as I'm not using the 3xx command for portamento. As soon as I use portamento, the note goes back up to normal pitch (no detune).
Is there a way to get the detune + portamento at the same time?
You can try to use command 8xx pointing to your 1-frame portamento command, right after your 3xx command is finished. |
| |
taaadpole Account closed
Registered: Jan 2011 Posts: 6 |
Thank you, Hein. Got it working. Only thing is, it doesn't work when the 8xx command is in the very next row after the portamento command. For some reason, there has to be an empty row of commands after the portamento, then the 8xx command. |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Maybe because of the mechanism in the play-routine. I think Cadaver included alot of optimisation tricks (for minimum rastertime), it might be so that the tone-portamento is still running one frame into the next tick, not triggering the instrument command on that tick. |
| |
tlr
Registered: Sep 2003 Posts: 1714 |
Is there any later build than 2.68 for osx? |
| |
FATFrost Account closed
Registered: Sep 2003 Posts: 211 |
I once found a port of 2.72, but cannot find it anymore, it was unnoffical. |
| |
tlr
Registered: Sep 2003 Posts: 1714 |
There's apparently a branch here: http://sourceforge.net/p/goattracker2/code/126/tree/goattrk2/br..
Unknown (to me) state and no binaries. |
| |
Yzi Account closed
Registered: Sep 2011 Posts: 6 |
There's no fully working 2.72 for Mac. Even the latest changes left some funny Mac-specific bugs. For example, pressing Alt+Fn+Backspace not only inserts stuff, it also moves to the previous pattern number, which essentially renders the function unusable, except when editing pattern number 0. Or something.
Here's an unofficial compiled 2.72 Mac version, a couple of years old. It does contain unfixed bugs and may do funny things. I take absolutely no responsibility for it, and I will not start bug-fixing it even if you find bugs. :) Though if you do find bugs, please describe them and submit the descriptions somewhere.
http://www.kameli.net/~yzi/GoatTracker_Mac_2.72.zip |
| |
Frantic
Registered: Mar 2003 Posts: 1627 |
@tlr: Hehe.. now that was easy! I checked out the sources, opened the xcode project by clicking on it, and then clicked the "Build and Run" button, and voila! :D Can't remember when something compiled that easily (and quickly!) last time. :D
Haha.. |
| |
tlr
Registered: Sep 2003 Posts: 1714 |
@yzi: Thanks for the binary, I'll try it out.
@frantic: So what's broken and can it be easily fixed? |
| |
Frantic
Registered: Mar 2003 Posts: 1627 |
@TLR: Not sure. I've never used the program before so I don't find my way around, so to speak, and nothing to compare with. |