2022 our 25th year online!

Welcome to the Piano World Piano Forums
Over 3 million posts about pianos, digital pianos, and all types of keyboard instruments.
Over 100,000 members from around the world.
Join the World's Largest Community of Piano Lovers (it's free)
It's Fun to Play the Piano ... Please Pass It On!

SEARCH
Piano Forums & Piano World
(ad)
Who's Online Now
34 members (busa, benkeys, Burkhard, fullerphoto, Erinmarriott, David Boyce, 20/20 Vision, Animisha, beeboss, Cominut, 4 invisible), 1,288 guests, and 287 robots.
Key: Admin, Global Mod, Mod
Previous Thread
Next Thread
Print Thread
Hop To
Joined: Mar 2020
Posts: 6
P
Junior Member
OP Offline
Junior Member
P
Joined: Mar 2020
Posts: 6
I'm writing this to document my experience with Entropy Piano Tuner. I found others' posts in this forum useful when I did my tuning, so I thought sharing my experience with this software might be useful for others as well.

I bought a 30 year old Baldwin spinet piano that was in great shape but out of tune. Because it was cheap and because I'm an engineer that likes projects, I was going to tune it myself. I looked into several pieces of software, but didn't want to spend a lot of money for an inexpensive purchase. I was either going to use something free or tune it mostly chromatically in the middle and the rest by my untrained ear. Anyways, when I saw the EPT I liked the idea (yay math and objectivity!). I've never owned a piano nor tuned one, but did play a little bit when I was young. My girlfriend is pretty good, so I mainly wanted to hear her play. I am very careful and meticulous so I was not worried about tuning it myself and I didn't have much to lose anyways.

The piano was a semitone off in pitch. C#4 sounded like the C4 on my electronic keyboard and the measured fundamental frequency indicated as much too. So, it was 100 cents off--and I knew a couple of pitch raises were required. As an engineer I understood I couldn't overpull it enough to have it done 1-2 tunings and be accurately in-tune.

I'd already purchased a high-quality condenser microphone that went down to 20 Hz, which I think is pretty important for this. Then with EPT, I began recording keys, but obviously the automatic key recognition failed. I turned it off and did a forced recognition for each key. This is more time-consuming. The lower notes really required more time to let the notes ring out and the peaks form on the plot. After recording all 88 keys this way, I noticed the inharmonicity (iH) values were all over the place and the quality ratings were all red. I had let the spectrums settle and form nice peaks and I didn't expect these indicators to be this bad. I performed an entropy minimization and it looked horrible. Another indicator that something was wrong (I realized later) was that the blue squares (denoting the partials) did not sit on the peaks--they were ahead of the peaks, which didn't make sense. I gave up on EPT for the moment.

I did a quick and rough tuning using a free chromatic tuner on my phone from A1 to about F6. Outside of that range it was just not reliable (either the microphone on my phone or the way the app was programmed). I tuned the others by ear (for each key: first the left unison then other two by ear).

I went back to the EPT and tried again. I started off with automatic key recognition from left to right but if I wasn't watching it would sometimes record the next key as the last one due to all the keys still being flat. I started over and did forced key recognition. At this point I started seeing some better results from the iH and quality indicators. I began to notice that usually when they didn't provide good results, the fundamental frequency was on the key below and that the blue dots placed on the peaks were again shifted to the right. I think this is something that needs to be fixed in the programming--although the key was off by 50 cents or so still the peaks were crisp and the partials were clear. I couldn't get it to record properly still. Back to chromatic tuning.

I went through the piano another time, mostly chromatically. I focused on the treble because that was the part with all the strings and the most tension causing more relaxation in nearby strings during tuning.

I went back to the EPT. I re-recorded all the keys (only the left unisons). At this point nearly every key that had an iH indicator looked much more reliable and most of the quality indicators were nice and green (except the very high and low ends, as expected). I noticed 6 sections in my iH plot and I will explain what I think they are.
1. The bottom 2-3 notes. I think my condenser microphone was capturing these low notes fine. It's just that this is a spinet piano and these notes are muddy and unclear due to the copper wrapping. One time the 3rd note read the same iH as the next grouping, which leads me to believe they are probably part of the next group, but the fundamental peak is so small and there is just so much other noise the software has a hard time seeing this peak sometimes. If I lined the peak manually with the left edge of the key-marker (to purposely flatten it near where Railsback should have it), that got it about right as far as tuning goes. Sometimes the software would calculate frequencies in the thousands of Hz until I got a very small peak at about this spot. Give the note time to ring out.
2. These are still single strings, after section 1--a noticeable mechanical difference.
3. This section has 2 copper-wrapped strings, still on the bass bridge. Again, I only recorded the left unison. If you're lazy, instead of muting when tuning unisons, you can see both peaks (as well as hear) and tune until the off-peak merges with the correct one (and it sounds good)
4. This section also has 2 copper-wrapped strings, still on the bass bridge, but I think there's something different about them. They are so consistently together this group must be physically different.
5. This section is lightly copper-wrapped and in the treble bridge. Being on a different bridge is probably the main difference.
6. This section has the 3 string unisons and forms a pretty nice curve all the way to key 62 where it starts deviating. Tuning these chromatically until pretty close to in-tune allows better results when using EPT.

Now that the recording indicators started looking reliable (blue dots properly on peaks, understandable iH indicators, and high quality ratings on most of the keys), I began to trust using the EPT.

The whole piano was still kind of flat (this is why you tune your piano at least 1-2 times per year!), so I chose the pitch-raise algorithm. I still didn't trust the entropy minimization yet due to a few iH values being slightly off and since several keys in the treble end were still up to 50 cents flat the precision wasn't worth it. After going into tuning mode and recording one key every 8 or so keys from left to right, an overpull curve was shown. This one looked generally as I would expect it to (one I formed in an earlier test seemed totally off--due to some incorrect recordings). The overpull did not top out at +25 cents this time, so I hoped it would get me pretty close to the final tuning. You can switch between stroboscope and spectral pitch deviation indicator. For the middle 3/4 of keys I actually liked the stroboscope more. If it was going to the right I knew to turn the tuning pin counterclockwise (left if the tuning hammer was pointed up). Look at the whole stroboscope, but maybe give preference to the lowest rows in it. The deviation indicator was sometimes jumpy and for my pretty-flat piano the marker was often off-screen (however the stroboscope just went faster). I preferred watching the red line on the big plot for these. As I was pulling up to the overpull line EPT was over-predicting the relaxation of the notes I'd already recorded and they kept shifting down more than I expected (and not all together since the relaxation is note-dependent). I would re-record that note (tuning mode) and it was indeed higher. This movement was even worse because I had no idea where I tuned it and where it might actually be at this point. I think it'd be nice to have a "new" marker (maybe a diamond symbol or something) for predicted (due to flattening from tightening nearby strings) and recorded values. I ended up just tuning the remainder that I had not tuned at or above the overpull line and ignoring the already-tuned markers' changing positions. Then I cleared all the markers and re-recorded them in tuning mode. I fixed a few outliers and the others were close enough (treble end was still slightly flat). I'm sure the overpull algorithm is difficult to get exact because pianos are different and relaxations are different, but maybe it could have a button to adjust its expected relaxation by re-record some notes that were already tuned once?

I did another recording just to see how it did. The iH and quality markers were pretty close to what they were before with a few improvements. The curve that the recording mode produced match pretty closely to my tuning (Railsback--since I used the pitch raise algorithm). I tried calculating a tuning curve with the entropy minimizer, but I just didn't like how much deviation there was between certain notes. I listened to it with a MIDI keyboard and I the entropy-minimized notes sounded okay together, but the key-to-key differences were so great (like if you played left to right) it sounded bad. In the bass it was possibly because the low notes were muddy. I know I could manually move them and whatnot, but I felt that the Railsback tuning sounds pretty great. Maybe certain chords would sound better with various keys sharpened or flattened, but really it's at the point where I don't think myself or others would notice--and I'm pretty tired of adjusting those tuning pins. In a few months I'll tune it again because this was a pretty significant change for the piano and then I might try to tweak things even more accurately.

Suggestions for developers:
1. Fix whatever causes the software to not correctly read a key if it's very flat but forcibly enabled (should look for the fundamental (+/- 200 cents?!) and then partials?) If this might cause too many issues looking at a range this big, potentially give a warning that the key may be too out of tune.
2. Why not prepopulate the tuning markers with the recorded markers the first time entering tuning mode (or at least give the option)? It could immediately show the overpull. It would save a bit of time and shouldn't be that difficult. It should automatically recalculate if the concert pitch is changed.
3. Give errors when keys are recorded that have very low quality or bad iH values (at least from keys 10 to 60 or so) to warn the user.
4. Give an option to hold Shift (or some key) to enable microphone? Sometimes between recordings I didn't turn off the microphone (and forcible recognition was still on) and moved the chair or something and it re-recorded that key and I didn't realize it until later.
5. For the lowest and highest note, sometimes the fundamental was off-screen. It'd be good to see a little more past the edge of the end keys.
6. If the fundamental on the lowest keys was not within the key, it'd record a frequency in the thousands when forced-recognition was on. It shouldn't allow this--it should look near this key for any peak and then notice the following partials or give an error. For my piano the fundamental peak of the bottom notes was barely perceiveable (spinet piano...) but it was there. In the least it should error out and say "tune manually"
7. A "cool" feature (in calculation mode before doing the calculation) would be to cycle through the iH and quality values and ask the user to verify there is something physically different between those two keys or to check the key. In the least, adding a notice that the calculated tuning may be erroneous if these indicators were not checked would be good.
8. The entropy minimization gave values that were fairly far from the Railsback curve. In some cases, this might have been due to poorly recorded values. Nevertheless, I think maybe there should be tighter limits off of the Railsback curve or from key to key (going 20 cents above and then 20 cents below Railsback from one key to the next is too much IMHO even if the partials align better? As a novice though I can't say I have the credentials to say this other than it seems like a large mathematical jump for equal temperament).
9. I did a pitch-raise calculation and then performed several recordings in Tune mode. The overpull curve was shown and looked pretty accurate. Then I went back to calculation, redid the pitch-raise, went back to Tuning and the overpull flipped below the tuning line. I'm not sure what's going on, but it only seems trustworthy if you do the calculation and then record fresh keys in Tuning mode to get the curve. Until this is fixed, if redoing a calculation, I'd clear the tuning markers and redo them to get the overpull curve.
10. It was a little unclear how changing the concert pitch affects how the program works in each mode and how the plots change. I had to learn by testing it, so a little more explanation in the maual would help.
11. The manual posted online has edits in it. It'd be nice to see the next version posted without revisions-in-progress. The revisions were still useful though.
12. Add a feature that allows for adjusting the tuning correction amount by re-recording some notes after they were tuned. This could possibly help "customize" the relaxation particular to the unique piano?

I appreciate the work put into EPT by the developers and understand that it's getting more use than originally expected. I'm grateful for being able to use it and my explanation above is meant mainly to help other users and for recommendations if anyone is able to make improvements to the program. I do plan to use the EPT next time (since my piano is now in tune) and I may experiment more with the entropy-based algorithm as well. For some, the entropy minimization may work, but for me I am currently using the Railsback curve. In the future I might try the entropy-minimized values.

Joined: May 2012
Posts: 502
G
500 Post Club Member
Offline
500 Post Club Member
G
Joined: May 2012
Posts: 502
How do your efforts sound to you and girl-friend? This is what really counts !
From what I read base notes, say below C2 are really only heard as a combination of their partials and this means one's ears. Now quite how this relates to any electronic device I would be interested to know ?

Joined: May 2012
Posts: 502
G
500 Post Club Member
Offline
500 Post Club Member
G
Joined: May 2012
Posts: 502
How do your efforts sound to you and girl-friend? This is what really counts !
From what I read base notes, say below C2 are really only heard as a combination of their partials and this means one's ears. Now quite how this relates to any electronic device I would be interested to know ?

Joined: Mar 2020
Posts: 6
P
Junior Member
OP Offline
Junior Member
P
Joined: Mar 2020
Posts: 6
She loves it! It's a huge improvement from where it started. I want her dad to come hear it (he is very musically talented and has perfect pitch). It's fun because she loves to play and loves feeling the music. I love the music and tinkering with things. I'm interested to see where the tuning is in a few months. Maybe I'll actually try the entropy-tuning algorithm (which does try to minimize the "discord" by trying to best-match the partials as a human might) next time even if it sounds a little weird on the MIDI keyboard (which recreates the keys after tuning using their pre-recorded strengths of the partials).

Joined: May 2013
Posts: 3,157
Bronze Subscriber
3000 Post Club Member
Offline
Bronze Subscriber
3000 Post Club Member
Joined: May 2013
Posts: 3,157
The level of A0 fundamental can be as much as -42db so your "20Hz" mic will have nothing to pick up. The sound it and your ears hear are the higher partials. I used Entropy for a while but gave up when the university guys stopped updating it. I have used Easy Piano Tuner, now called PianoMeter since it was introduced and it is perfect for my requirement. I suggest you try it as have many here. No need for any special mic. I use my phone even although I have Neumann KM180 flat response condensers. Unlike Entropy, it measures inharmonicity as you progress tuning.
https://pianometer.com/
Ian


I'm all keyed up
2016 Blüthner Model A
Joined: Mar 2020
Posts: 6
P
Junior Member
OP Offline
Junior Member
P
Joined: Mar 2020
Posts: 6
Thanks, I will try that one too next time I tune it, especially if the program is being maintained. As for A0, I thought it was theoretically at 27.5 Hz (equally-tempered)? Being key #1: 2^((1-49)/12))*440 Hz = 27.5 Hz, which is still above 20 Hz. It's slightly flattened due to the required stretch of the spinet piano and EPT does pick it up around 26 Hz or something. My microphone still shows a small peak near that frequency and if I replay the recording with my good sound system I can hear those notes replayed fine. I agree, though, that we (and the mic) are mostly hearing the higher partials, so maybe I shouldn't be so concerned about the fundamental. I just know that when I tuned the bottom based more on the partials the chords did sound okay (not much better though) but when I played the keys in sequence it sounded so unequally-tempered it bothered me.

Joined: Jan 2017
Posts: 1,488
Gold Subscriber
1000 Post Club Member
Offline
Gold Subscriber
1000 Post Club Member
Joined: Jan 2017
Posts: 1,488
Great write up, thank you!


Now learning: Debussy Clar de Lune, Mozart Sonata in C K. 545, Joplin The Chrysanthemum
Instruments: Yamaha N1X, Roland GO:PIANO, Piano de Voyage
Joined: May 2013
Posts: 3,157
Bronze Subscriber
3000 Post Club Member
Offline
Bronze Subscriber
3000 Post Club Member
Joined: May 2013
Posts: 3,157
Originally Posted by pianos_are_cool
Thanks, I will try that one too next time I tune it, especially if the program is being maintained. As for A0, I thought it was theoretically at 27.5 Hz (equally-tempered)? Being key #1: 2^((1-49)/12))*440 Hz = 27.5 Hz, which is still above 20 Hz. It's slightly flattened due to the required stretch of the spinet piano and EPT does pick it up around 26 Hz or something. My microphone still shows a small peak near that frequency and if I replay the recording with my good sound system I can hear those notes replayed fine. I agree, though, that we (and the mic) are mostly hearing the higher partials, so maybe I shouldn't be so concerned about the fundamental. I just know that when I tuned the bottom based more on the partials the chords did sound okay (not much better though) but when I played the keys in sequence it sounded so unequally-tempered it bothered me.

Here is how my lowest octave sounds after I did a fine tuning . You really should listen though using good quality headphones:
https://app.box.com/s/u6rb4j5bu68nx5ln2smrl2sbbruud241
Ian


I'm all keyed up
2016 Blüthner Model A
Joined: Feb 2018
Posts: 1,903
G
1000 Post Club Member
Offline
1000 Post Club Member
G
Joined: Feb 2018
Posts: 1,903
Thanks for the write-up in such detail. In the present circumstances and where my piano tuner is no longer able to call I'm going to have to bite the bullet and actually have a go at tuning my own piano rather than just reading about it :-)

I'd like to try Pianometer but unfortunately that seems to be Android only so not an option for me, Entropy it will have to be.

Joined: Nov 2017
Posts: 1,321
O
1000 Post Club Member
Online Content
1000 Post Club Member
O
Joined: Nov 2017
Posts: 1,321
I strongly suggest you re-think your position on using an Android app. EPT has reached its end of life and isn't really very good at what it is supposed to do.

Pianometer is the way to go for an amateur tuner. Get a cheap, good quality android phone such as an older Nexus 5, pay for the basic software and enjoy a really usable app that will do what you need it to do. Plus, the developer is active in this forum and he is someone who very much listens to his customers.

Joined: Feb 2018
Posts: 1,903
G
1000 Post Club Member
Offline
1000 Post Club Member
G
Joined: Feb 2018
Posts: 1,903
Originally Posted by OE1FEU
I strongly suggest you re-think your position on using an Android app. EPT has reached its end of life and isn't really very good at what it is supposed to do.


Thank you for the recommendation. It is disappointing that EPT isn't being developed any more, it seems usable enough for me but if Pianometer does at the end of the day produce better results tan EPT I'll take the recommendation and use it.

Originally Posted by OE1FEU

Pianometer is the way to go for an amateur tuner. Get a cheap, good quality android phone such as an older Nexus 5, pay for the basic software and enjoy a really usable app that will do what you need it to do.


Interestingly it seems to run nicely under 'Bluestacks' on my PC and with that lets me use a decent microphone. I don't mind the cost of a cheap Android phone but I don't need another phone and don't really want yet more single purpose electonic junk around than I need. I have too much already ...

Originally Posted by OE1FEU

Plus, the developer is active in this forum and he is someone who very much listens to his customers.


I know this isn't the right place for Pianometer communications, but then just in case AW reads this, I really dislike having to enable in app purchases and would much prefer to pay for it up front. Call me old fashioned ....

Thanks again OE1FEU.

Joined: Mar 2020
Posts: 6
P
Junior Member
OP Offline
Junior Member
P
Joined: Mar 2020
Posts: 6
Originally Posted by Beemer
Originally Posted by pianos_are_cool
Thanks, I will try that one too next time I tune it, especially if the program is being maintained. As for A0, I thought it was theoretically at 27.5 Hz (equally-tempered)? Being key #1: 2^((1-49)/12))*440 Hz = 27.5 Hz, which is still above 20 Hz. It's slightly flattened due to the required stretch of the spinet piano and EPT does pick it up around 26 Hz or something. My microphone still shows a small peak near that frequency and if I replay the recording with my good sound system I can hear those notes replayed fine. I agree, though, that we (and the mic) are mostly hearing the higher partials, so maybe I shouldn't be so concerned about the fundamental. I just know that when I tuned the bottom based more on the partials the chords did sound okay (not much better though) but when I played the keys in sequence it sounded so unequally-tempered it bothered me.

Here is how my lowest octave sounds after I did a fine tuning . You really should listen though using good quality headphones:
https://app.box.com/s/u6rb4j5bu68nx5ln2smrl2sbbruud241
Ian


Comparing a Bluthner and a 1989 Baldwin Spinet is a little unfair :-) but here's mine after tuning for reference. The bass strings are obviously less clear and this was before I did a little regulation work down there, but I think the tuning is decent.
https://www.dropbox.com/s/83mycd0ndbty7xn/after%20tuning.wav?dl=0

Joined: Jan 2014
Posts: 401
Full Member
Offline
Full Member
Joined: Jan 2014
Posts: 401
Originally Posted by gwing

I know this isn't the right place for Pianometer communications, but then just in case AW reads this, I really dislike having to enable in app purchases and would much prefer to pay for it up front. Call me old fashioned ....

Thanks again OE1FEU.

Yeah, in hindsight pay-up-front would have saved me from a lot of people who download the app to see what it's about, realize it's not free, and then uninstall it with a 1-star review. Unfortunately Google has made it impossible to switch pricing models once you've chosen "free" with in-app purchases. On the bright side people can test drive the app and see if it works before spending a lot of money, which is why I chose the freemium model in the first place. Happy to discuss more in this thread.


Anthony Willey, RPT
PianoMeter
Willey Piano Tuning
Joined: May 2013
Posts: 3,157
Bronze Subscriber
3000 Post Club Member
Offline
Bronze Subscriber
3000 Post Club Member
Joined: May 2013
Posts: 3,157
Originally Posted by pianos_are_cool
Originally Posted by Beemer
Originally Posted by pianos_are_cool
Thanks, I will try that one too next time I tune it, especially if the program is being maintained. As for A0, I thought it was theoretically at 27.5 Hz (equally-tempered)? Being key #1: 2^((1-49)/12))*440 Hz = 27.5 Hz, which is still above 20 Hz. It's slightly flattened due to the required stretch of the spinet piano and EPT does pick it up around 26 Hz or something. My microphone still shows a small peak near that frequency and if I replay the recording with my good sound system I can hear those notes replayed fine. I agree, though, that we (and the mic) are mostly hearing the higher partials, so maybe I shouldn't be so concerned about the fundamental. I just know that when I tuned the bottom based more on the partials the chords did sound okay (not much better though) but when I played the keys in sequence it sounded so unequally-tempered it bothered me.

Here is how my lowest octave sounds after I did a fine tuning . You really should listen though using good quality headphones:
https://app.box.com/s/u6rb4j5bu68nx5ln2smrl2sbbruud241
Ian


Comparing a Bluthner and a 1989 Baldwin Spinet is a little unfair :-) but here's mine after tuning for reference. The bass strings are obviously less clear and this was before I did a little regulation work down there, but I think the tuning is decent.
https://www.dropbox.com/s/83mycd0ndbty7xn/after%20tuning.wav?dl=0

I listened to your recording. It is better to play from the high notes down as the brain learns to anticipate the next lower note. This makes it easier to determine if the note is in tune. The age of your piano may have a greater bearing on the low note sound quality than it being a spinet. Bass strings get tired and sound tubby. A technician may be able to restore some life in them by removing the bottom at the hitch pin and giving the string a single turn going in the original rotational direction of the copper winding before replacing and retuning.
Regarding tuning let us know how you get on using Piano meter.
Ian


I'm all keyed up
2016 Blüthner Model A
Joined: Mar 2020
Posts: 6
P
Junior Member
OP Offline
Junior Member
P
Joined: Mar 2020
Posts: 6
That is very interesting. It makes sense how that could help. I still have a lot to learn. I'll probably tinker with this one mostly by myself, just because I don't think it's worth paying a technician to do much to this piano. If my girlfriend and I continue to use the piano often, we might invest in a grand piano once we move into a bigger house! Then I'd let a pro handle things, knowing how much more was at stake. I downloaded PianoMeter. It looks pretty simple and easy to understand. Thanks for the advice.

Joined: May 2013
Posts: 3,157
Bronze Subscriber
3000 Post Club Member
Offline
Bronze Subscriber
3000 Post Club Member
Joined: May 2013
Posts: 3,157
When using PianoMeter I recommend starting in the middle of the piano. With only one string sounding play say A4 and check that it is A4 that in on the display. Then change to Step mode to prevent PM further on perhaps jumping to a partial that is not the note being tuned. Play each single string for 2 seconds from A0 up to C8 for completeness but PM will not use below 100HZ or the top octave for inharmonicity measurement. Now set PM to lock measuring (padlock) and now you can start to tune.
It is recommended to start somewhere in the middle say A4 and go up to C8 then go back to G4 and tune down A0.
PM expect you to tune only one string of the duple and triples. You then tune the others aurally to the first string.
Using the Railsback graph check that there are no tuned notes that lie well away from the curve and retune these. If you cannot get these to lie near the curve then you should unlock the measuring and remove those strings from the inharmonicity measurement as described in the manual then re lock PM.
Next time you go to tune you just need to open the previous tuning. You do not need to do another measurement procedure. So much more simple than Entropy!
Ian

Last edited by Beemer; 03/27/20 12:27 PM.

I'm all keyed up
2016 Blüthner Model A

Moderated by  Piano World, platuser 

Link Copied to Clipboard
What's Hot!!
Piano World Has Been Sold!
--------------------
Forums RULES, Terms of Service & HELP
(updated 06/06/2022)
---------------------
Posting Pictures on the Forums
(ad)
(ad)
New Topics - Multiple Forums
Country style lessons
by Stephen_James - 04/16/24 06:04 AM
How Much to Sell For?
by TexasMom1 - 04/15/24 10:23 PM
Song lyrics have become simpler and more repetitive
by FrankCox - 04/15/24 07:42 PM
New bass strings sound tubby
by Emery Wang - 04/15/24 06:54 PM
Forum Statistics
Forums43
Topics223,385
Posts3,349,183
Members111,631
Most Online15,252
Mar 21st, 2010

Our Piano Related Classified Ads
| Dealers | Tuners | Lessons | Movers | Restorations |

Advertise on Piano World
| Piano World | PianoSupplies.com | Advertise on Piano World |
| |Contact | Privacy | Legal | About Us | Site Map


Copyright © VerticalScope Inc. All Rights Reserved.
No part of this site may be reproduced without prior written permission
Powered by UBB.threads™ PHP Forum Software 7.7.5
When you purchase through links on our site, we may earn an affiliate commission, which supports our community.