# STC - String Tension Calculator v0.1.9.1 - Corrected CK strings weight datas!



## Ishan (Feb 8, 2013)

The long overdue STC with corrected weight data for CK strings is out. It took me way more time than anticipated due to too much work load (TM) to get this out, but it's here, so enjoy 
*Recognized string type in this version : *

*Circle K :*

*ckplg *plain steel with guitar style ball end
*ckwng *wound nickel/steel hybrid with guitar style ball end
*ckplb *plain steel with bass style ball end
*ckwnb *wound nickel/steel hybrid with bass style ball end
*D'addario :*

*dapl *plain steel
*dapb *phosphore bronze wound
*danw *nickel wound
*daxs *stainless steel wound
*dahr *half round wound
*dacg *Chromes - Stainless steel Flat wound
*daft *Flat Tops - Phosphore Bronze Polished
*dabw *80-20S- 80/20 Brass Round Wound
*dazw *Great American Bronze - 85/15 Brass Round Wound
*daxb *Bass - Nickplated Round Wound
*dahb *Bass - Half Round - Pure Nickel Half Round
*dabc *Bass - Chromes - Stainless Steel Flat Wound
*dabs *Bass - ProSteels - ProSteel Round Wound

*Changelog :*

```
v 0.1.9.1 :
- Separate CK strings for guitar and bass (new codes : CKPLG, CKNWG, CKPLB, and CKNWB)
- Uses 5 characters codes for CK strings now.
```

Ishan out.


----------



## KhzDonut (Feb 14, 2013)

I use your calculators obsessively, thanks for putting so much time and effort into this, it's been immensely helpful!


----------



## Robby the Robot (Feb 14, 2013)

Awesome. Just ran out of strings and need to order a few more sets, and this calculator is helpful.


----------



## All_¥our_Bass (Feb 21, 2013)

Sweet, I don't have to be on the internets to figure out news sets.


----------



## Ishan (Feb 22, 2013)

That was the point 
Thanks guys.


----------



## axxessdenied (Feb 22, 2013)

Mods should sticky this post


----------



## vansinn (Feb 22, 2013)

Didn't know you're a programmer..
Hehe, I was about doing the same last year, using the same codebase 
Nice job, Ishan  - and very cool Knucklehead has supplied data for his strings; if only all other manufacturers would do this, but then again, they'd firstly have to come up with useful extended range string sets..


----------



## Ishan (Feb 22, 2013)

I'm not against a sticky but it would become irrelevant as a new version comes out, as I don't have the ability to edit the first post after a while 
For the story: I'm an application administrator (whatever that means) in a big financial corporation doing both production and coding works. So I know my fair share of Java but am pretty much inexperienced with GUI coding. Most of what I do is server side 
As for weight data, only two company disclose these out, and you know who they are 
I've searched around and found nothing else, and I don't have much time to contact other companies and ask if they were willing to give theirs to me.


----------



## ixlramp (Feb 22, 2013)

There are some companies like LaBella and TI that publish tension data, so you can back calculate the unit weights from that.


----------



## InfinityCollision (Feb 23, 2013)

LaBella only publishes tension information on a limited set of their nylon strings, at least as far as guitar strings go.


----------



## ixlramp (Feb 24, 2013)

Heh oh yeah i was thinking bass strings


----------



## flypap3r (Feb 24, 2013)

Thank you so much! Uber helpful!


----------



## kerouac (Feb 25, 2013)

Mac friendly?


----------



## KhzDonut (Feb 26, 2013)

kerouac said:


> Mac friendly?



Works fine on my mac, except I notice the "save" feature doesn't work quite as it should (for me anyway) but all calculation functions work just as they should.


----------



## Ishan (Feb 26, 2013)

It depends on the version of the Java JRE you have installed but it should work.
I suggest you all download the latest Java JRE on java.com: Java + You you never know 

@KhzDonut> what kind of problem are you experiencing? Maybe I can fix it.


----------



## kerouac (Feb 26, 2013)

Cool! I'll check it out this evening.


----------



## XEN (Feb 26, 2013)

Ishan, have I told you lately that I love you?


----------



## iloki (Feb 26, 2013)

Would be pretty cool if you could work out a way to do multi-scale instruments.
Probably wouldn't be too terrible if you took in a number of strings as an input.
I'm gonna play with it and see what I can come up with 

I'm not a big fan of java.. I tend to think in terms of C# lol.. (IT Admin/Developer )
I haven't looked through your source much yet, but if you calculate the scale length of each individual string, either into an array or into a property of each string (as an object) then it should be pretty simple to implement.

If you're not opposed I'd like to take what you've done and play with it. As I said I'm not a big fan of Java but I've done a fair amount of work with it.

EDIT: Scale length on a per string basis can be calculated this way: (short length) + ((string number - 1)*((long length)-(short length)/(number of strings - 1)))
so, for a seven string, 25.5 to 27, it would look like this: (25.5) + ((1-1)*((27-25.5)/(7-1))) = 25.5 , (25.5) + ((2-1)*((27-25.5)/(7-1))) = 25.75, (25.5) + ((3-1)*((27-25.5)/(7-1))) = 26 and so forth.
I verified these against FretFind 2d and they are very close, not exact, but within a few thousandths of an inch, plenty close for these calculations I think.


----------



## XEN (Feb 26, 2013)

I would love to be able to generate output for multiscales without having to run the numbers for each string.
What I've been doing is using the individual string lengths from my FretFind2D numbers and running the STC once per string. It's quite tedious, and I'm no coder so I hope one of you smart guys thinks up a way to make this possible (and then builds it into an iOS app so that I can brainstorm string tension numbers on the go!!!!).


----------



## iloki (Feb 26, 2013)

If I had a way to develop for iOS I would take a stab at porting it over.. but alas I don't.
I can, however, take a stab at porting it to Android.. as the base java should all be the same, would just need to build a manageable GUI and a way to store sets on the device.


----------



## InfinityCollision (Feb 26, 2013)

urklvt said:


> I would love to be able to generate output for multiscales without having to run the numbers for each string.
> What I've been doing is using the individual string lengths from my FretFind2D numbers and running the STC once per string. It's quite tedious, and I'm no coder so I hope one of you smart guys thinks up a way to make this possible (and then builds it into an iOS app so that I can brainstorm string tension numbers on the go!!!!).



I might be misunderstanding you, but I think what you're looking for is already doable. Example from my own library:


```
len 25.5
G4 .008 CKPLG == 14.74#
len 26.0625
D4 .0105 CKPLG == 14.92#
len 26.625
A3 .014 CKPLG == 15.5#
len 27.1875
F3 .017 CKPLG == 15.01#
len 27.75
C3 .024 CKWNG == 17.06#
len 28.3125
G2 .033 CKWNG == 17.8#
len 28.875
D2 .043 CKWNG == 17.06#
len 29.4375
G1 .065 CKWNG == 17.7#
len 30
D1 .086 CKWNG == 17.79#
```

You can even build multiple sets on a single file since there's no limit (afaik) to how many calculations it'll run, but the GUI isn't really built for that so I don't generally recommend it. If you want it to generate the intermediary lengths then as far as I know STC doesn't currently support that.


----------



## iloki (Feb 26, 2013)

ha I hadn't though of trying that lol

it would be more convenient to have the software do that calculation for you though


----------



## XEN (Feb 26, 2013)

InfinityCollision said:


> Awesomeness


Dude, I don't know why I had never done it like that. Sure, it would be nice to have the individual scale lengths calculated by the app, but this will save me SO much time. Thanks!!!


----------



## Ishan (Feb 27, 2013)

Multi scale is in the pipeline, I was thinking of something like :

```
strings 9
shortlen 25.5
longlen 30
G4 .008 CKPLG == 14.74#
D4 .0105 CKPLG == 14.92#
A3 .014 CKPLG == 15.5#
F3 .017 CKPLG == 15.01#
C3 .024 CKWNG == 17.06#
G2 .033 CKWNG == 17.8#
D2 .043 CKWNG == 17.06#
G1 .065 CKWNG == 17.7#
D1 .086 CKWNG == 17.79#
```
What do you guys think about that?
It's easy and I could still keep the normal "len" parameter for straight scales.
You're free to torture the source code as much has you want, I could always put it on github for something more collaborative but I'm not so good with those things.
It's NetBeans dependent tho, so be aware of that 

@iloki> Thx for the scale lengths algorithm, I didn't have the time to research this as I'm so busy right now.

@urklvt> I love you too but where's my free headless single cut 9 string?


----------



## vansinn (Feb 27, 2013)

^ would work fine for fanned layouts. Could also just do " Strings 9 Fan 25.5 - 30".

Jeez, the things some will do for love, hahaha...


----------



## Ishan (Feb 27, 2013)

Or something even simpler :

```
fan 9 25.5 30
```


----------



## All_¥our_Bass (Feb 27, 2013)

^It's simpler but less 'obvious'.

vansinn's syntax is very clear about what it pertains to, even if it's longer.


----------



## Ishan (Feb 28, 2013)

I think it would be clearer and cleaner with a line by parameter, I'll have to think about it 
There's a lot of clean up and modularizing to do in the code before adding fan support anyway


----------



## WiseSplinter (Feb 28, 2013)

I've made a version that supports fans, but not using the syntax above. 
Its an ugly hack though  i don't really feel comfortable giving it to people, there may be problems 
When I have some time i'll make it a bit nicer, but i support the notion of modularizing before releasing another version.

Another mod I started doing was allowing string set data to be loaded via separate files. 
That way you won't need a new version of the app when new string set data is made available, just add the file to the folder and it will automatically be included.

Was also toying with a more modern interface, but not really sure if that's required, seems to work fine as it is


----------



## Ishan (Feb 28, 2013)

For weight data I'm working on an XML loader, so it would be easier to maintain and update. Feel free to mod and release whatever you want, it's public domain IIRC, I didn't move it to any license (yet, maybe I'll move it to GPLv2 later on)

Edit : Shouldn't this be moved out of the ERG section? Maybe Gears & Equipments?


----------



## vansinn (Feb 28, 2013)

I think it's fine in here, as it's mainly geared towards ERG players anyways.

Ishan and Wise, why don't we split the code workload between us?
If interested, let's drop each other a PM with email contacts.


----------



## iloki (Feb 28, 2013)

I would be interested in helping out as well


----------



## Ishan (Feb 28, 2013)

I'll see on setting up a github account for the source code this week end


----------



## KhzDonut (Mar 1, 2013)

Ishan said:


> @KhzDonut> what kind of problem are you experiencing? Maybe I can fix it.



When I try to save something on my Mac (OSX 10.6.8) instead of giving me the option of choosing a file name, I can only select a pre-existing file, and then it saves it as that. I can still save my sets, but I have to create a .txt file beforehand, or just copy-and-paste into a text file.

Since I'm still using Snow Leopard I don't have Java 7, so *shrug* I dunno if that's part of the problem.


----------



## Ishan (Mar 2, 2013)

I use Java 1.6 under windows on my dev setup, it works fine for me but the save dialog isn't too great I admit. I'll try to add something to create the file before hand.
The GIT is up and source code is in but I still have problems setting it up with NetBeans, I'll report back ASAP.


----------



## Ishan (Mar 5, 2013)

Has said, source code is in but I still can't get NetBeans to clone the GIT and create a working project from it. Here it is anyway, I'll work some more on it till it works :
https://github.com/Ishan333/STC


----------



## RockerAlex (Mar 6, 2013)

Why can't I open this shit?


----------



## iloki (Mar 6, 2013)

Some more information would be helpful... Could be any number of reasons.
What is the error you get when you try to open it?


----------



## Ishan (Mar 8, 2013)

@RockerAlex> RTFM and check if you have Java JRE installed before complaining


----------



## RockerAlex (Mar 8, 2013)

Ishan said:


> @RockerAlex> RTFM and check if you have Java JRE installed before complaining



Where in the manual does it say "what to do when you have java and it won't open."


----------



## Ishan (Mar 9, 2013)

Well, if you had been more specific and less rude I could have helped you out 
It's for Java 6 minimum, on what OS are you trying to run it?


----------



## Fiction (Mar 9, 2013)

RockerAlex said:


> Where in the manual does it say "what to do when you have java and it won't open."



Yeesh, it's version 0.19 and made by a member in his spare time, you can't expect a large detailed explanation for java problems. If there is ever any problem with java it will most certainly be time to update your java.


----------



## RockerAlex (Mar 11, 2013)

Ishan said:


> Well, if you had been more specific and less rude I could have helped you out
> It's for Java 6 minimum, on what OS are you trying to run it?



Sorry!

I seem to have Java 7 on Windows 7 64bit ... really would like to get this working so I can sort out a custom set for my new 8!


----------



## iloki (Mar 11, 2013)

Ok, do you get an error message at all when it doesn't start? If so, can you take a screenshot or copy/paste the error for us?

Really shouldn't make a difference for this app, but have you tried running as an admin?


----------



## RockerAlex (Mar 11, 2013)

iloki said:


> Ok, do you get an error message at all when it doesn't start? If so, can you take a screenshot or copy/paste the error for us?
> 
> Really shouldn't make a difference for this app, but have you tried running as an admin?



A little command line box opens up quickly then disappears, I don't really know what that means.


----------



## iloki (Mar 11, 2013)

Try right clicking on STC_0.1.9.1.jar and choosing 'Open With...' and then choose the 'Java(TM) Platform SE Binary'

That should do it, I think.


----------



## RockerAlex (Mar 11, 2013)

iloki said:


> Try right clicking on STC_0.1.9.1.jar and choosing 'Open With...' and then choose the 'Java(TM) Platform SE Binary'
> 
> That should do it, I think.



Nice one, sorted!


----------



## Danukenator (Mar 11, 2013)

```
strings 9
shortlen 25.5
longlen 30
G4 .008 CKPLG == 14.74#
D4 .0105 CKPLG == 14.92#
A3 .014 CKPLG == 15.5#
F3 .017 CKPLG == 15.01#
C3 .024 CKWNG == 17.06#
G2 .033 CKWNG == 17.8#
D2 .043 CKWNG == 17.06#
G1 .065 CKWNG == 17.7#
D1 .086 CKWNG == 17.79#
```

I actually prefer this one. It's nice to just have everything spelled out. While the alternatives are much simpler, they may confuse new users.


----------



## Ishan (Mar 12, 2013)

I think I do too, it's way less confusing 
I'll have more time to work on this in a week or two, I'll try on implementing it.


----------



## RoadToNever (Apr 20, 2013)

I noticed Labella has started posting tension info.

Would it be easy to add tension data, or does it require recompiling?


----------



## InfinityCollision (Apr 22, 2013)

RoadToNever said:


> I noticed Labella has started posting tension info.
> 
> Would it be easy to add tension data, or does it require recompiling?



Got a link to that? I saw the new product catalog but I don't see any tension values aside from the usual classical string data.


----------



## RoadToNever (Apr 22, 2013)

It's only some bass lines(super steps, stainless, NPS). Sorry if I got your hopes up. Thomastik post tension data but no singles.


----------



## RoadToNever (Apr 22, 2013)

BTW, I mentioned in the previous STC thread, albeit implicitly, the prosteels data might not be accurate. Tensions posted in the product description pages differ from that of the tension chart pdf. I brought this to Don Dawson of D'addarios attention last fall. He's very friendly and replies quickly when I email him every 2-3 month for an update, but as of yesterday the issue is unresolved.


----------



## iloki (May 19, 2013)

Would people find a mobile version of this helpful?
I have been toying with the idea of porting this to Android.

If people are interested, I'll work with Ishan a bit and see what we can come up with. He's done most of the hard work already 

I don't currently own a Mac, or I'd work on an iOS version too, as I already have some experience developing for the iPhone thanks to my job


----------



## vansinn (May 20, 2013)

^ Having taken two courses into programming for iphone/pad, I think programming such an app in xcode/objectiveC first, and then porting it to Andröid would be easier than either the other way around, or doing two separate ports.

(disclaimer: I won't be programming for i-devices; development kits sold, don't like apple's restrictive user-data-gathering biz model; a Bit pity, as xcode is quite nice)


----------



## iloki (May 20, 2013)

Xcode is quite nice.

The reason for android being easier first is that the base is java, so all that really needed to happen for an android app is a mobile layout and control flow.


----------



## BMMA (Aug 17, 2013)

iloki said:


> Would people find a mobile version of this helpful?
> I have been toying with the idea of porting this to Android.
> 
> If people are interested, I'll work with Ishan a bit and see what we can come up with. He's done most of the hard work already
> ...



I would find it VERY helpful!!
It's just that I own a phone with Symbian S60 3rd edition (feature pack 2), and not Android 
Most of the time I don't have a computer with me, and I 'need' Ishan's STC lots of times. The currect JAR-file cannot be run on my phone, ofcourse, and I don't have the knowledge or programming skills to port it.


----------



## Nag (May 14, 2014)

bumping this like a mofo.

I started messing with acoustic strings on your calculator. I started checking if the calculator aligns with the d'addario website (using dapl and dapb codes in the calculator) and the phosphor bronze wound strings don't match.

E4 : 10 plain - 16.22 lbs (website) VS 16.21 (STC) : correct.
B3 : 14 plain - 17.85 VS 17.84 : correct.
G3 : 23 PB wound - 27.90 VS 27.95 : still correct.
D3 : 30 PB wound - 26.7 VS 27.1 : 0.4 lbs difference
A2 : 39 PB wound - 24.66 VS 25.37 : 0.7 lbs difference
E2 : 47 PB wound - 19.1 VS 20.7 : 1.6 lbs difference.

I would assume the differences keep increasing with thicker gauges.

If you could correct that 

I'm just at a loss to find a very accurate calculator for acoostick strings. STC rocks for CK electrics so it would be great if it was a 100% reliable tool


----------



## ElRay (Dec 11, 2015)

Thanks again! I just grabbed the updated version.

Ray


----------

