# TCS - Tone Color Script



## TheoKrueger (Apr 22, 2006)

Hi all,

There is a new script on the K2 page called TCS - Tone Color Script. (third one)

www.theokrueger.com/Kontakt2.htm



> Put simply; the Tone Color Script automatically transposes your samples up or down on the keyrange and then retunes them to that key.
> 
> You can get some very interesting and exotic results with one shot instruments such as Piano and Harp. A Piano at -10 colour can sound similar to a Harpsichord while a Orchestral harp would sound more like a Celtic harp.



As you can see it's more of a sound manipulation tool, you can get some crazy pads and textures by manipulating sustain samples or you can change single shot samples. It's like changing the body of the instrument and the strings, so a harp at -9 color would sound like a much smaller harp with smaller strings.

The idea is very similar to what the Edirol Hyper Canvas uses so it's nothing new, but now you can do it with any samples from within Kontakt 2.

There is no full documentation as this is a small side-release, but there is a simple Readme.txt file that explains the functions and should cover you.

Again the author is our Bib Bob. Thank you very much Big Bob!


----------



## kotori (Apr 22, 2006)

Wow, Big Bob never seem to rest!
I recently saw someone posting on a forum a script that does the same thing, but Bob's script takes this to a whole new level of flexibility with the keyswitches (and documentation and well-commented code as well!). 
If I may be so bold to suggest, it would be nice with a possibility to also control the coloring using MIDI CC.

Very nice demos - cool effect with the harp!


----------



## TheoKrueger (Apr 22, 2006)

Yeah, it sounds good Nils!

I was trying it earlier with brass..... man, it's amazing what effects you can get! If you put a trumpet at -20 it sounds like a muted-squeeling trumpet, a french horn can sound like a strange tuba or a bright trumpet and all sorts of other unique effects with brass! 

There is a problem with the voice counter, it doesn't get reset all the time so the polyphony climbs up and you get hung notes. I'm off to let BB know about this now and hope its something small.

Also one small problem with DFD and negative color values. The notes seem to cut off right after the portion that is loaded in RAM. Probably because the samples need to stream faster from the hard-drive..


----------



## kotori (Apr 22, 2006)

I thought it would be unnecessary to bother Bob with implementing the MIDI CC control of the coloring, so I did it myself. 
The script code for my *unofficial*(!) modification is available for a limited time here: http://nilsliberg.se/ksp/scripts/TCS_V003_unoffical_modification.html
To use the code, paste it into my editor, press F5 and then press Ctrl+A followed by Ctrl+V to paste it into the internal Kontakt script editor, and finally press 'Apply'. The default MIDI CC of -1 means 'inactive'. To control the tonal color with the mod-wheel set ColorCC to 1.

Hopefully these modifications will be integrated in some new official version. I hope it's ok to post this Bob. (Btw. I didn't make any other changes besides adding this and adjusting the layout slightly to fit a pair of new UI controls)

Nils


----------



## Thonex (Apr 22, 2006)

kotori @ Sat Apr 22 said:


> I thought it would be unnecessary to bother Bob with implementing the MIDI CC control of the coloring, so I did it myself.
> The script code for my *unofficial*(!) modification is available for a limited time here: http://nilsliberg.se/ksp/scripts/TCS_V003_unoffical_modification.html
> To use the code, paste it into my editor, press F5 and then press Ctrl+A followed by Ctrl+V to paste it into the internal Kontakt script editor, and finally press 'Apply'. The default MIDI CC of -1 means 'inactive'. To control the tonal color with the mod-wheel set ColorCC to 1.
> 
> ...



Hi Nils,

Great!!!

As Bob suggested to me once... just make sure you put a new version name and some info about the changes in the header of the script... this way if the script gets out and changes need to be done... we can keep track of which version is being changed.

You may have already done this, but I'm not in my studio so I didn't download the script.

@ Bob....

Get some sleep!! :wink: 

T


----------



## Big Bob (Apr 22, 2006)

kotori @ Sat Apr 22 said:


> I thought it would be unnecessary to bother Bob with implementing the MIDI CC control of the coloring, so I did it myself.
> The script code for my *unofficial*(!) modification is available for a limited time here: http://nilsliberg.se/ksp/scripts/TCS_V003_unoffical_modification.html
> To use the code, paste it into my editor, press F5 and then press Ctrl+A followed by Ctrl+V to paste it into the internal Kontakt script editor, and finally press 'Apply'. The default MIDI CC of -1 means 'inactive'. To control the tonal color with the mod-wheel set ColorCC to 1.
> 
> ...


It's more than OK Nils, I'm glad to have your help. In fact, if you want to just sort of take this over it would be wonderful. The TCS is just a little something I did for Theo a while back and then he asked me to add release sample correction. Since I was in the middle of SIPS at the time, I told him I would add the code for tuning the release samples as soon as SIPS slowed down a little. So, a day or so ago I hammered it in but, I'm still up to my eyeballs in SIPS stuff, so if you are willing, how about you kind of taking this over? 

God Bless,

Bob

BTW I haven't finished with all my email yet but I think I see something from Theo about a (ahem).. BUG in the TCS. I can't imagine how that could be do you? :oops:


----------



## José Herring (Apr 22, 2006)

Some people feel like they need to knock others down when they're being successfull. Don't let this mahal or anybody else knock you down Bob.

I just played a piece for my wife using your legato scripts and she said it was the most amazing thing she'd ever heard. I'll be done with it in a few days and I'll post it.

I appreciate the work you're doing. Keep it up and don't let the b#@tards get you down.

Best,

Jose


----------



## kotori (Apr 22, 2006)

Hi,
I'd be glad to maintain this script Bob. Especially if it means more time for you to work on SIPS. When it comes to KSP wisdom you're hard to match, but I'll do what I can.
Theo, I believe you have my email right? Feel free to mail me about the problems if they have not already been solved (or post them here).

Sorry to hear about that PM. I'm sure it must be based on some kind of misunderstanding. It seems like he think you based your script on his code while you actually did your own implementation of Theo's idea. The technique of transposing and pitch-bending back has been around for long now and the idea is simple enough to be implementable in four lines of code, so I don't really see any reason to fuzz about it anyway. Eg. here's a complete four-line script (except for release groups and UI settings) where you can use the mod-wheel to control the color:
*on note*
__change_note($EVENT_ID, $EVENT_NOTE + (%CC[1] * 48 / 127 -òL–   8cL–   8dL–   8eL–   8fL–   8gL–   8hL–   8iL–   8jL–   8kL–   8lL–   8mL–   8nL–   8oL–   8pL–   8qL–   8rL–   8sL–   8tL–   8uL–   8vL–   8wL–   8xL–   8yL–   8zL–   8{L–   8|L–   8}L–   8~L–   8L–   8€L–   8L–   8‚L–   8ƒL–   8„L–   8…L–   8†L–   8‡L–   8ˆL–   8‰L–   8ŠL–   8‹L–   8ŒL–   8L–   8ŽL–   8L–   8L–   8‘L–   8’L–   8“L–   8”L–   8•L–   8–L–   8—L–   8˜L–   8™L–   8šL–   8›L–


----------



## ComposerDude (Apr 22, 2006)

Nils, thanks for the thread reference. The post there begins _"Anyone who has worked with Kurzweil samplers should remember the fantastic "Timbre Shift" option, which allowed dramatic changes of a sound by changing one simple value. Here's the same thing for Kontakt."_ So idea-wise, he is referencing the Kurzweil, and offering his own implemention of someone else's idea.

Perhaps some of the problem is due to the post date - April 16, 2006 - which is shortly before Bob posted his work. I'm speculating that perhaps Theo saw the post and mentioned the idea to Bob, but it could even have been Theo's independent, original, and coincidental idea. After all, the concept of Tmbre Shift is implicit on a small scale in the TKT technique already.

-Peter


----------



## Big Bob (Apr 22, 2006)

Hi Guys,

Thanks for all the kind words and supportive statements. But maybe Nils is right, I might have read more into what he said than what he meant. I'm going to paste it here and then you will all have a better idea whether or not I over-reacted. At first I didn't see the TCS caption, and since the PM came to the NS forum, I thought he was talking about SIPS. Thus my first response. When I discovered he was talking about the TCS, I sent him the 2nd response.
---------------------------------------------------------------------------------------------
PM from mahal

Hi Bob!

Nice script 

Would be nicer if you had kept the LGPL message in the header 

No, it's ok. Keep on hacking!

Greetings
Marc
-----------------------------------------------------------------------------------------------
Response #1

I'm sorry that I don't know what *LGPL* stands for but, by the snide tone of your message, are you implying that I hacked someone else's code? If so, I assure you I did no such thing. 

However, the simple principles that my scripts are based on are not difficult for any number of people to come up with. I do not claim any kind of 'secret' or 'proprietary' principles, nor would I claim to be the first to use these techniques. Furthermore, everything I do is an open book.

Now, if I have accidentally duplicated something that someone else before me did, then have the courtesy to direct me to that work.

If I misunderstood what your rather cryptic message is saying, then I apologize and ask you to clarify further.

God Bless,

Bob
----------------------------------------------------------------------------------------
Response #2

You know, I just now noticed that you were not talking about SIPS but rather about the TCS.

I wrote the TCS at the request of Theo Krueger and merely implemented what he asked for. I have no idea where he got the idea from, so, whether or not someone else did this same thing I wouldn't know. Theo is also the one who decided to post the TCS for others to use. I think you had better contact Theo with your complaint, I just did a favor for a friend and wrote a script that did what he asked for.

God Bless,

Bob
--------------------------------------------------------------------------------------
Well there you have it. Just one more bump in my road of life.

Have a Great Day Guys,

Bob


----------



## kotori (Apr 22, 2006)

Bob, that's indeed cryptic. For some people 'hacking' is synonymous to 'coding'. I'll wait to draw any conclusions before you have received an answer from Mahal. Whatever he meant by this I hope you know that you have a whole community supporting your efforts and I also think you're really an example to all of us with your generous and humble attitude towards life and other people.


----------



## ComposerDude (Apr 22, 2006)

Bob, 

1) the only way to have "*kept* the LGPL message in the header" would be if you had _derived_ your code from Marc's. That's what this PM infers. And as you plainly said, your code was original.

2) the _idea_ of this sampling shift goes at least as far back as the Kurzweil and possibly earlier. Your script and his are two different re-implementations.

3) "hacking" is ambiguous. The original use of the word meant extremely clever feats of technical prowess, synonymous with knowing the internals of a machine "down to the metal" and eliciting the most elegant and cool functionality. It took on the connotations later of breaking into computer systems (some would prefer this be called "cracking" so as not to tarnish skilled good-guy hackers), and sometimes connotes approaching a problem as with a machete, hacking away instead of designing. In its original sense, a "hacker" is a positive term, but I don't know the intent in this PM.

Anyway, you have a lot of appreciative folks here. Thank you again for your scripting efforts.

-Peter


----------



## Big Bob (Apr 22, 2006)

josejherring @ Sat Apr 22 said:


> Some people feel like they need to knock others down when they're being successfull. Don't let this mahal or anybody else knock you down Bob.
> 
> I just played a piece for my wife using your legato scripts and she said it was the most amazing thing she'd ever heard. I'll be done with it in a few days and I'll post it.
> 
> ...


Thanks for the kind words Jose and I'll look forward to hearing what you have done with SIPS. That's one of my rewards you know, getting to hear some of the music that benefited in some way from my humble efforts.

God Bless,

Bob


----------



## Big Bob (Apr 22, 2006)

ComposerDude @ Sat Apr 22 said:


> Big Bob @ Sat Apr 22 said:
> 
> 
> > I just received a PM (from Mahal I think) over on the NS forum with a rather snide note implying that I had hacked someone's code. The message alluded to not referencing LGPL (whatever that is?). I told him that I simply implemented what Theo had asked me for and I have no clue as to where Theo got the idea. I'll also leave the rest of you to deal with this as it plays out, I need to go take another aspirin.
> ...


Thanks for the info Peter, now I know what LGPL stands for, but now what does GNU stand for? I must lead a very sheltered life, huh?


----------



## Big Bob (Apr 22, 2006)

ComposerDude @ Sat Apr 22 said:


> Nils, thanks for the thread reference. The post there begins _"Anyone who has worked with Kurzweil samplers should remember the fantastic "Timbre Shift" option, which allowed dramatic changes of a sound by changing one simple value. Here's the same thing for Kontakt."_ So idea-wise, he is referencing the Kurzweil, and offering his own implemention of someone else's idea.
> 
> Perhaps some of the problem is due to the post date - April 16, 2006 - which is shortly before Bob posted his work. I'm speculating that perhaps Theo saw the post and mentioned the idea to Bob, but it could even have been Theo's independent, original, and coincidental idea. After all, the concept of Tmbre Shift is implicit on a small scale in the TKT technique already.
> 
> -Peter


Just for the record Peter, I first wrote the TCS for Theo on Feb 5. 2006 but I didn't put the release sample support in until April 20, 2006. Theo has been patiently waiting since Feb for me to get enough time away from SIPS to update the TCS. Oh well, life is not just a bowl of cherries I guess.


----------



## kotori (Apr 22, 2006)

Big Bob @ Sat Apr 22 said:


> Thanks for the info Peter, now I know what LGPL stands for, but now what does GNU stand for? I must lead a very sheltered life, huh?


You haven't heard of GNU? :shock: 
The GNU Project has provided most of the programs that make up the infrastructure of a Linux distribution. They have released lots of open source programs not only for Linux. GPL (Gnu General Public License) is one of the stricter open source licenses. It basically says that if you use a product licensed under GPL as an integral part in your product, you must license your own product under GPL'ed as well and make it open source. LGPL is less "viral" and is often used for libraries and says that you may use the product as part of your product and you may change the source code, but you must provide the source code of the LGPL'ed component in some way.


----------



## Thonex (Apr 22, 2006)

Big Bob @ Sat Apr 22 said:


> Just for the record Peter, I first wrote the TCS for Theo on Feb 5. 2006 but I didn't put the release sample support in until April 20, 2006. Theo has been patiently waiting since Feb for me to get enough time away from SIPS to update the TCS. Oh well, life is not just a bowl of cherries I guess.



For goodness sake Bob,

Just get Theo to write his own code and then correct his homework!!! :lol: :lol: 

Just kidding of course.

Theo.... crack open the KSP .pdf and start coding !!!!! :lol: :wink: 

T


----------



## Nick Batzdorf (Apr 22, 2006)

Mahal...doesn't that mean Mike in Greek?

Mike G?


----------



## Big Bob (Apr 22, 2006)

kotori @ Sat Apr 22 said:


> Big Bob @ Sat Apr 22 said:
> 
> 
> > Thanks for the info Peter, now I know what LGPL stands for, but now what does GNU stand for? I must lead a very sheltered life, huh?
> ...


Thanks for the info Nils. Hey, I'm just a 'real tired' old fogey. Why would you expect me to know about such things?


----------



## TheoKrueger (Apr 22, 2006)

Haha Thonex 

As for the TCS beeing a ripoff, what a joke!

Here's the original mail i had sent Robert on 1 Feb and his reply:



> Date: Feb 1, 2006 6:51 PM
> Subject: Voice Colour Script
> 
> Hi Robert, i hope all is well.
> ...



And the Reply:



> Date: Feb 2, 2006 2:30 AM
> Subject: Re: Voice Colour Script
> 
> Hi Theo,
> ...


----------



## Mahal (Apr 23, 2006)

Hi all!

As Bob posted parts of our little conversation here, I'll answer publicly as well.

I already PMed Bob that I didn't mean to be snide (had to look up this word in a dictonary). In fact, there were some emoticons in the original message that Bob stripped away before posting it here. These smileys made clear (in my opinion) that I appreciate Bob's work.

I didn't imagine that a developer could misinterpret the term "Keep on hacking!" :o
Sorry for that.
_[For non-developers: "to hack" is a synonym for "to write code"]_

On the other hand, when releasing software under some license, I expect that the license is read and adhered. 

The "Timbre Shift"-post on Northernsounds ended with the following words:
"Suggestions, changes and further development are highly appreciated :smile:"
So, the whole thing is not about "ripping off". 

As I said earlier:
It's ok. Keep on hacking!

Greetings
Marc


----------



## Frederick Russ (Apr 23, 2006)

Welcome to VI Marc - thanks for clearing that up! I really appreciated it. So much can be misinterpreted over the net - I figure many disagreements would probably not even happen if we were conducting our conversations live in the same room.


----------



## Big Bob (Apr 23, 2006)

Hi Marc,

If you have read what I have said you know that I also said maybe I was reading something into your message that you didn't intend. As for stripping the smileys that wasn't my doing, that happened with the machinery I used to copy and paste, sorry about that.

However, let's forget about the 'snide' part and let's concentrate on the following part of your PM:

_*"Would be nicer if you had kept the LGPL message in the header "*_

How can I *keep *the LGPL message in the header when *I never even saw the header? *Nor did I in any way base the code I wrote on anything you did? It doesn't matter that I happened to add the RT code just around the time you posted something, nor, that Theo happened to finally put up the code I wrote (back in February) just after you posted. I don't know if Theo saw your post, but, I didn't. Moreover, I still haven't seen it but I would be willing to bet that my code isn't anything at all like yours. Of course it uses the same principle, but, that doesn't belong to you either.

You are now trying to back-peddle here and say that you didn't mean what we're implying but, how should we interpret the above quote lifted from your PM?

I could turn this whole thing around and I could have jumped on you when you posted your code and say:

"It would have been nice if you had mentioned that you used the same principle that I used back in February when I wrote the TCS for Theo"

Of course I wouldn't do that because it would be absurd, which is what this whole thing is.

Now if you have an alternate way to interpret your comment about keeping the LGPL in the header, let's hear it. Otherwise I think you are in a losing position here.

God Bless,

Bob


----------



## sbkp (Apr 23, 2006)

Seems like a pretty simple misunderstanding to me. Here's my re-wording of his PM:



> Hi Bob!
> 
> Nice script.
> 
> ...


----------



## Big Bob (Apr 23, 2006)

> Seems like a pretty simple misunderstanding to me. Here's my re-wording of his PM:



Thanks sbkp for the much clearer re-wording.

_*Hi Bob! 

Nice script. 

I am under the impression that you based your script on mine. If that is true, it's your responsibility to keep the LGPL message in the script header. 


Never mind. Keep up the good work! *_

However, had the message been written that way, I would simply have responded that he was under the *wrong* impression. And, as I have made very clear, until someone in this thread explained it, I never saw his script and, I had never even heard of LGPL.

*I don't think it was a misunderstanding at all. *It sounds more to me like Marc honestly believes I needed to 'peek' at his code in order to write some trivial script like the TCS. Why persist in this nonsense? I have categorically denied ever seeing Marc's code (I still haven't seen it). I wrote the TCS back in February so it would do what Theo asked for. I got no help from Marc directly or indirectly. I never saw his code. And finally, I DON'T LIE and I don't word things ambiguously.

Now, if it was a simple misunderstanding, then let Marc say explicitly that he now realizes that I wrote the TCS independently and in no way based it on his work. So far, that's the missing item that will close this off.

Finally, the reason I won't let this slide is because it defaults to reasonable doubt and *I won't let there be any doubt about this*. The allegations, whether literal or implied are *totally false*.

I'm getting one of those Excedrin headaches again.

Poor Old Bob


----------



## sbkp (Apr 23, 2006)

It's probably worth it to cut a little slack to Marc since it appears English isn't his first language.

I did look at both scripts, and it's pretty obvious they're unrelated. I think his attention was probably drawn by the fact that Theo happened to post your script less than a week after Marc posted his.

Anyway, I'm sticking to my "it's all just a simple misunderstanding" theory. And now I'm bowing out of the trial as Marc's impromptu attorney :D :D :D


----------



## Big Bob (Apr 23, 2006)

You could be right, and I hope you are. But, my reputation is on the line here so I'm still waiting for Marc to write something along the lines of:

_*he now realizes that I wrote the TCS independently and that it is in no way based it on his work. Just a simple misunderstanding.*_

I'm more than willing to let it go at that. But absent such a statement, there is still a gray cloud hanging over this issue.

Whenever I modify someone's code, I first ask their permission and if they gave it, I then always include a credit to them in my code header. If you don't believe that, just download the Ultra TKT from Theo's site and read the header. But, in this case I didn't even know that Marc's code existed.

So, how about it Marc, are you willing to say that it was just a misunderstanding when you sent me the PM, or do you still think that I used something of yours and should have given you credit for it?

Bob


----------



## Mahal (Apr 24, 2006)

Hi again!

I just downloaded the actual version of TCS and I have to agree that there are no relations between TCS and the "Timbre Shift" script. I must have misread it when I saw the script for the first time, sorry for that. To avoid more misunderstandings: yes, the error is on MY side.

Is this ok for you, Bob?

If not, read this:
Yes, I'm an absolute a**hole, totally incompetent and unmusical. I randomly write PMs because I like to insult people that I don't know and will probably never meet in my life. I'm doing this because my [insert some member of your family] never liked me and I project my denied hatred on other people.
I call myself a musician because I sometimes help to carry some guitar amps for a local punk band. I don't have a girlfriend because my p**** is only 5cm long. And finally, I'm still living at my mom's house because I can't handle a washing mashine!

Did you smile? I hope so! 
Now take a deep breath and go back to coding more scripts for the community.

All the best
Marc

PS: Thanks to all that tried to soften this discussion.


----------



## sbkp (Apr 24, 2006)

lol.... 

Man, I wish you had been around to carry *my* guitar amp. I still have back problems because of that!

- Stefan


----------



## Thonex (Apr 24, 2006)

Mahal @ Mon Apr 24 said:


> Yes, I'm an absolute a**hole, totally incompetent and unmusical.



Thanks for clearing this up Mahal... we were all wondering. :wink:


----------



## Big Bob (Apr 24, 2006)

Mahal @ Mon Apr 24 said:


> Hi again!
> 
> I just downloaded the actual version of TCS and I have to agree that there are no relations between TCS and the "Timbre Shift" script. I must have misread it when I saw the script for the first time, sorry for that. To avoid more misunderstandings: yes, the error is on MY side.
> 
> ...



Hi Marc,

Thanks for the first part of your post. And, I know that there are those who think the second part is funny, but, personally I find it crude and vulgar and totally uncalled for. But, that's just me. Since we obviously march to different drummers, let's just do the best we can to avoid each other in the future.

Bob


----------



## Mahal (Apr 24, 2006)

Big Bob @ Mon 24 Apr said:


> Since we obviously march to different drummers, let's just do the best we can to avoid each other in the future.


I think we all learned our lessons :smile:


----------



## _taylor (Feb 14, 2008)

Is this still available? The link is broken and I get a line error from kotori's version..


----------



## Big Bob (Feb 15, 2008)

spitt @ Thu Feb 14 said:


> Is this still available? The link is broken and I get a line error from kotori's version..



I'm attaching the last version I had anything to do with (V003 I think). In addition, Nils added some additional MIDI CC stuff and I'm also attaching that version. However, I think Nils later re-did this script and that may be the one you are trying to get. If so, you will have to get that from him.

God Bless,

Bob


----------



## _taylor (Feb 15, 2008)

Very cool. Thank you!


----------



## DarylWise (Aug 12, 2019)

kotori said:


> I thought it would be unnecessary to bother Bob with implementing the MIDI CC control of the coloring, so I did it myself.
> The script code for my *unofficial*(!) modification is available for a limited time here: http://nilsliberg.se/ksp/scripts/TCS_V003_unoffical_modification.html
> To use the code, paste it into my editor, press F5 and then press Ctrl+A followed by Ctrl+V to paste it into the internal Kontakt script editor, and finally press 'Apply'. The default MIDI CC of -1 means 'inactive'. To control the tonal color with the mod-wheel set ColorCC to 1.
> 
> ...



Would it be possible to add a "Mod" knob that can control the intensity of the Color knob?


----------



## Lindon (Aug 13, 2019)

DarylWise said:


> Would it be possible to add a "Mod" knob that can control the intensity of the Color knob?


Sadly (very sadly) Big Bob is no longer with us.


----------

