# RELEASE: Android "timing machine" app for regulating mechanical (pocket) watches



## Keith W

I have added a new feature to my popular _Android_ app, _WildSpectra Mobile_ (available on _Google Play_), to enable mechanical watch regulation in the style of a conventional (and expensive) "timing machine". The app uses the device's microphone to hear the tick-tock beats of the movement and subsequently measure the watch's beat-rate. You can either specify a target beat-rate explicitly, or _WildSpectra Mobile_ can guess the target beat-rate based on the watch's current rate. In either case, the current rate is indicated in beats/sec along with the degree of error both as percentage and as time gained/lost per day.

In addition, a secondary view (referred to as "integrated spectra") offers a "loudness" trace, thereby visualizing the audio profile of the watch's beats.

Although _WildSpectra Mobile_ comes in a _*free*_ _Lite_ version and a (_*very affordable*_) paid _Pro_ version, the beat-counting functionality is fully enabled in the _Lite_ version (although the _Pro_ version's additional FFT transform sizes might be of minor benefit to beat-counting). However, I ask that if you find _WildSpectra Mobile_ to be useful in profiling or regulating watches that you support my hard work by eventually purchasing the _Pro_ version anyway (thanks).

[HR][/HR]
*References:*

*Google Play:*
https://play.google.com/store/apps/details?id=com.keithwiley.android.wildspectramobilelite
https://play.google.com/store/apps/details?id=com.keithwiley.android.wildspectramobilepro

*Webpage (on my website):*
WildSpectra Mobile

*YouTube video demonstrating the beat-counting functionality and offering a watch regulation tutorial:*





*Screenshot:*
View attachment 982641


[HR][/HR]
Please contact me with any bugs/problems/errors or any future design suggestions that would make the beat-counting functionality more specific to the niche needs of watch regulation.

_Cheers!_


----------



## radger

That is a fantastic app, works perfectly on my S3.

Marvelous, you deserve every success for bringing us watch enthusiasts a simple and very useable
'timing machine' for less than the price of a pint of beer...unbelievable really.


----------



## Keith W

radger said:


> That is a fantastic app, works perfectly on my S3.
> 
> Marvelous, you deserve every success for bringing us watch enthusiasts a simple and very useable
> 'timing machine' for less than the price of a pint of beer...unbelievable really.


Thank you.


----------



## radger

Keith W said:


> Thank you.


You're very welcome, I can't stop playing with this.


----------



## gatorcpa

Keith -

Is there any way to have a separate section in the tutorial showing the optimum settings for watch regulation? I'm using the exact settings as in the video and not getting any results. Is there any way to alter the microphone sensitivity to listen to wristwatches?

I also can't seem to save any particular setting on the tablet.

Thanks in advance,
gatorcpa


----------



## Keith W

gatorcpa said:


> Keith -
> 
> Is there any way to have a separate section in the tutorial showing the optimum settings for watch regulation? I'm using the exact settings as in the video and not getting any results. Is there any way to alter the microphone sensitivity to listen to wristwatches?
> 
> I also can't seem to save any particular setting on the tablet.
> 
> Thanks in advance,
> gatorcpa


That's a good idea. I'll write a longer reply about optimal settings later this evening. What do you mean when you say your tablet won't save any settings? Do you mean that every time you open the preferences they have reset to the default installation settings? Can you give a specific example? What exact tablet are you using?

I'll follow up later. Thanks.


----------



## gatorcpa

Keith W said:


> What do you mean when you say your tablet won't save any settings? Do you mean that every time you open the preferences they have reset to the default installation settings?


Exactly. There are three or four different "save" settings on the menu. Which one do I use? I don't quite understand all the abbreviations.



Keith W said:


> What exact tablet are you using?


I'm embarrassed to tell you. It was a freebie I got from going to a presentation. The instruction manual is entirely in Chinese. When I boot up, it just says "Android".

I use an iPhone 5 as an everyday tool and don't know very much about Android. But I did figure out how to download the app.

Please feel free to treat me like a baby when it comes to this app. I also have a touch of adult ADD and really don't have the patience to read all of the documentation. Particularly when I don't understand a lot of the terminology.

Thanks,
gatorcpa


----------



## Keith W

gatorcpa said:


> Exactly. There are three or four different "save" settings on the menu. Which one do I use? I don't quite understand all the abbreviations.


I think you're referring to "Save All", "Save Selection", "Save PNG All", and "Save PNG Selection". None of those have anything to do with saving the settings (the preferences). Those are used for saving audio files or images of the spectrogram after recording. When you open the Preferences, change them, and then exit the Preferences with the OK button at the bottom, the prefs should be saved forever. What settings did you think you had changed that weren't being saved?

Did you watch the youtube video? It shows how to access the preferences.



gatorcpa said:


> I also have a touch of adult ADD and really don't have the patience to read all of the documentation.


Ummm...I'm honestly not sure how to respond to that. What sort of help do you want if you don't want documentation? Any assistance I would provide here would simply be a duplication of the docs anyway, so isn't it all the same in the end to just read the tutorial provided with the app? I'm not sure I understand the difference, if you see my meaning.

Let me know if you can't get the app working.

Cheers!


----------



## Keith W

gatorcpa said:


> Is there any way to have a separate section in the tutorial showing the optimum settings for watch regulation?


Most of the following is shown in a dialog whenever you toggle and recheck the Show Beats preference option:

I would recommend a transform size of 128 (if you're using the Lite version of the app, use 256).
Tap the Scan and Show Sampling Options and then open the Sampling Rate menu and choose the fastest rate available.
For Spectrum Type use "Spectrum, dB".
Set Minimum Spectrogram Height to "None".
Set Target beat-rate to "Auto .5/s". If you know the watch has an integer bps rate, you can use "Auto 1/s" if you prefer, shouldn't matter too much.
Hiding the status bar will give you a little more screen real estate.
Set Max recording frame rate to 30.
Hide the level meter, waveform, and spectrum. Show the beats, integrated spectra, and spectrogram.

That's what I would recommend. Place the watch directly in front of the device's microphone (you said you were using a weird Chinese tablet, are you certain it even *has* a microphone?).

Cheers!


----------



## joeuk

Thanks for that, I will try your settings. It seemed to crash a few times on my HTC oneX so had to go to recent apps on the HTC and swipe the app away then would start back up. Not a problem as its a working progress and appreciate your work. On the screen shot above a presume on the top right its saying +8secs a day fast etc am I right, wondering if placing a label e.g your watches timing , watches beat rate etc would help us dummies lol. Again thanks for all your hard work


----------



## radger

I tested this app against my wtg 3000 timing machine this morning, it is 100% accurate and functions
flawlessly on my Samsung S111.


----------



## Keith W

joeuk said:


> On the screen shot above a presume on the top right its saying +8secs a day fast etc am I right, wondering if placing a label e.g your watches timing , watches beat rate etc would help us dummies lol. Again thanks for all your hard work


Yes, that's right, that screen shot is of a watch that gains about 8-9 seconds per day. Good suggestions. Labels are a good idea if I can find screen real estate for them. I'll try to come up with something.


----------



## joeuk

Tried my Ingersoll but was saying 2 minutes a day out wondering if I have wrong setting somewhere. It's reading 4bps but the timing seems erratic at times I know my pocket watch runs fast but not 2 minutes. Must try again and cheers for your hard work


----------



## Keith W

radger said:


> I tested this app against my wtg 3000 timing machine this morning, it is 100% accurate and functions
> flawlessly on my Samsung S111.


Excellent! I'm so glad to hear that.



radger said:


> Joe, the green is the rate which is important, the red and blue are some sort of 'standard deviation' from the norm
> which I don't pretend to understand.


I'm sorry for the confusion, but that isn't correct. Thanks for letting me know that the explanation I have provided so far is not fully clear (I'm still working on how to best explain it). I'll take this into consideration as I refine both the user-interface and the documentation and tutorials.


The blue needle indicates the immediate 5-second average beat-rate (the average beat-rate over the most recent 5 seconds). 
The green needle indicates the corresponding 20-second average beat-rate. 
The red needle indicates the corresponding 60-second average beat-rate. 

So, if you are measuring a 5bps (beat per second) watch, then the blue needle indicates the average interval (and associated rate) of the last 25 beats, green indicates the average of the last 100 beats, and red indicates the average of the last 300 beats. This would obviously be different for a watch with a different beat-rate, but the principle is always the same: each color samples a certain "number of beats" counting back from the present instant, and then presents the average of those beat intervals...converted to a beat-rate.

In all three cases, the "wedge" surrounding each central needle indicates 1 standard deviation for the relevant time period (5s, 20s, or 60s respectively).

So, here are the take-home points:

Each color is faded until its time-of-interest fills up (so blue is faded for 5s, green is faded for 20s, and red is faded for 60s). 
A thinner wedge for any given color indicates that the needle (the dark thin line centered on the wedge which indicates the average beat-rate) for that color is a more precise (more trust-worthy) measurement, i.e., we "want" to see thin wedges, wide wedges imply greater variation in the beat-rate measurements over that time period (5s, 20s, or 60s). 
However, the term "thin" wedge and "wide" wedge are not visual, they are numerical: you have to look at the labels on the dial. A wedge might look "wide" but the numbers on the dial may indicate that the wedge only spans 5s-10s of beat-rate variation. The dial is constantly automatically scaling to fit the needles and wedges nicely, so don't immediately disregard a "wide" wedge, look at the numbers on the dial too. 
When things stabilize, we generally expect red to have the thinnest wedge and blue to have the widest wedge, since red is averaging the most beats and blue is averaging the least beats. 
If there is a dramatic change (like suddenly trading a 5bps (21600 bph) watch for a 6 bps (18000 bph) watch, which I specifically demonstrate in the video), we should see blue react faster, then see green "catch up" with blue, and finally see red "catch up" even slower than green. During the time that each color is adapting (so 5s for blue following the change, 20s for green, and 60s for red following the change), we should expect the corresponding wedge to be wider since it still has beats of the older rate (5bps in this example) in its buffer. When the buffer saturates and stabilizes at the new beat rate (6bps in this example) the wedge should suddenly get thinner. 
Ultimately, I have found in my testing of the app, that I don't really need to wait for the red needle, wedge, and beat-rate measurement to fully "catch up" with blue and green before I feel that I "trust" the blue and green measurements. I find blue and green to be sufficient indications of the beat-rate to get a good profile of the watch. Waiting for red to stabilize is really just waiting for it to confirm what we already knew half a minute earlier from blue and green anyway...so don't get too hung up on waiting for red to fully stabilize. Blue and green are probably sufficient. 

Thanks again!

_Cheers!_


----------



## radger

Thanks for that clarification Keith, I've deleted any incorrect info from my post.
If I'd paid more attention to your video tutorial then I wouldn't have jumped to the wrong
conclusions regarding the needles.
In practice though, I find it easy to use and in a quiet environment the needles soon stabalize
and it gives excellent results.


----------



## Eeeb

Great effort!

For the record, normally posts of vendors discussing their commercial products are prohibited unless the vendor is a sponsor. However the original thread was discussed in the Moderator Forum and we decided this was of sufficient general interest to the forum that we made an exception. I'm sure we are just discussing the Lite version primarily anyway 

Personally I'm glad you did an Android version... I have an aversion to Apple's control of their AppStore... of course Google Play is as bad sometimes (just get a Google TV and see how few useful apps are available because they conflict with Google products...).


----------



## gatorcpa

Keith W said:


> Ummm...I'm honestly not sure how to respond to that. What sort of help do you want if you don't want documentation? Any assistance I would provide here would simply be a duplication of the docs anyway, so isn't it all the same in the end to just read the tutorial provided with the app? I'm not sure I understand the difference, if you see my meaning.


It's not that I don't want documentation. It's that I don't understand much of the terminology being used. I was trying to time a Hamilton pocket watch that runs right now at about +1min per day. I set the time indicator manually to 18,000 bpm and the program was telling me that it was running at 11 beats per second. When I would go back to change the settings, the program had reset the beat rate to automatic and it didn't run correctly the next time out. So there is something I'm not doing correctly.

I think the problem might be with the cheap tablet mike and not with the program. When I get home, I will try plugging in my iPhone ear-buds with the built-in mic and see if that is more sensitive. That is the method suggested by your iPhone competitor. I think your program provides far more useful information than Kello.

I suspect that the app will run better on an Android phone with a better quality microphone.
gatorcpa


----------



## Keith W

Eeeb said:


> Great effort!
> 
> For the record, normally posts of vendors discussing their commercial products are prohibited unless the vendor is a sponsor. However the original thread was discussed in the Moderator Forum and we decided this was of sufficient general interest to the forum that we made an exception. I'm sure we are just discussing the Lite version primarily anyway
> 
> Personally I'm glad you did an Android version... I have an aversion to Apple's control of their AppStore... of course Google Play is as bad sometimes (just get a Google TV and see how few useful apps are available because they conflict with Google products...).


I understand your concern and appreciate the exception in this case. In my defense, I can see how it would be annoying if someone were peddling their wares for their selfish motives, but it's a gray area to distinguish that from honestly notifying a community about a new tool or product that may be of interest or value to that community. To put it differently, what better place is there to notify the mechanical watch community about a new product that they may find appealing than a widely used discussion forum for that same community?

Anyway, I appreciate you understanding and letting it slide. I really just want people to know about it so they can benefit from it if they find it useful.

Thanks again.


----------



## LCheapo

Nice app idea; the beat meter part of the screen seems well thought out. Unfortunately the tick detection is not working properly on neither my Nexus S (phone) nor the Nexus 10 (tablet). I tried playing with the 'fling sensitivity' (what is that?), and of course with the detection threshold, but it didn't help.

On the nexus 10 the peaks (ticks) don't register at all for the most part (I can get a few in a row to register when I introduce some background noise), even though they nicely intersect the sensitivity/threshold line and look very clean visually.

On the Nexus S it seems it has difficulty distinguishing the different noises from the movement, and detects a varying number of peaks per tick. I tried an ST3600 (6497 clone) and a Hamilton 917, both are quite loud. 

On the Nexus 10 the fonts are also pretty small, it seems its not dealing all that well with the many pixels....


----------



## Keith W

LCheapo said:


> Nice app idea; the beat meter part of the screen seems well thought out. Unfortunately the tick detection is not working properly on neither my Nexus S (phone) nor the Nexus 10 (tablet). I tried playing with the 'fling sensitivity' (what is that?), and of course with the detection threshold, but it didn't help.
> 
> On the nexus 10 the peaks (ticks) don't register at all for the most part (I can get a few in a row to register when I introduce some background noise), even though they nicely intersect the sensitivity/threshold line and look very clean visually.
> 
> On the Nexus S it seems it has difficulty distinguishing the different noises from the movement, and detects a varying number of peaks per tick. I tried an ST3600 (6497 clone) and a Hamilton 917, both are quite loud.
> 
> On the Nexus 10 the fonts are also pretty small, it seems its not dealing all that well with the many pixels....


"Flinging" is an Android concept with regard to how far scrollable views "fly" when you swipe your finger rapidly across the screen. It has nothing to do with WildSpectra's audio-processing. Would you mind emailing me a screen shot of the app? If I could see the beat-rate dial and the integrated spectra view it would help me determine the problem.

As to the font size, did you notice the preference setting for large buttons and text?

Contact me directly (kwiley @ keithwiley.com)...I'd love to see some screen shots of how it is performing.

Thanks.


----------



## Imanogoodnick

gatorcpa said:


> It's not that I don't want documentation. It's that I don't understand much of the terminology being used. I was trying to time a Hamilton pocket watch that runs right now at about +1min per day. I set the time indicator manually to 18,000 bpm and the program was telling me that it was running at 11 beats per second. When I would go back to change the settings, the program had reset the beat rate to automatic and it didn't run correctly the next time out. So there is something I'm not doing correctly.
> 
> I think the problem might be with the cheap tablet mike and not with the program. When I get home, I will try plugging in my iPhone ear-buds with the built-in mic and see if that is more sensitive. That is the method suggested by your iPhone competitor. I think your program provides far more useful information than Kello.
> 
> I suspect that the app will run better on an Android phone with a better quality microphone.
> gatorcpa


I wonder if one of the suction cup mikes designed to be used on a telephone handset wouldn't be an answer to any background noise issues.


----------



## Keith W

Imanogoodnick said:


> I wonder if one of the suction cup mikes designed to be used on a telephone handset wouldn't be an answer to any background noise issues.


If anyone tries different kinds of external mics, I would really love an email with feedback so I can incorporate any relevant advice into future documentation.


----------



## Imanogoodnick

Keith W said:


> If anyone tries different kinds of external mics, I would really love an email with feedback so I can incorporate any relevant advice into future documentation.


Hello Keith,
I think I have one of those boxed up out in the shop. I'll take a look over the next few days and download the app so I can see how well it works (if the mike is still around)


----------



## Dan83bz

anything free out there for the iPhone ?


----------



## pikeman

Dan83bz said:


> anything free out there for the iPhone ?


+1 yep, anything IPad friendly out there, free or not?


----------



## gatorcpa

Try searching "Kello". I think it goes for around $10 and there is no free "lite" version, like this app.
gatorcpa


----------



## pikeman

gatorcpa said:


> Try searching "Kello". I think it goes for around $10 and there is no free "lite" version, like this app.
> gatorcpa


Thanks for the info Gatorcpa. I shall take a look.


----------



## Keith W

I released an update on 2/27 which improves several aspects of the beat-counter functionality.


----------



## NoleenELT

Hi, I tried out this app, but I'm getting an error that says "The beats are not exceeding the upper threshold gap. Try tightening the upper threshold gap." How do I do this?

Also, in this thread, you gave suggestions for most of the settings, but not all. Are there any others that are critical to change from the default? Thanks!


----------



## bbc0

I am running this on my Nexus 7 with Smoothrom installed. I get the same message as NoleenELT and also am unsure how to respond. I am sure that the instructions are very thorough but I am a bit intimidated by the technical terms used. Can't wait to get it working though. Thanks for the effort.


----------



## krstin

Working great, and it is very accurate! Just one tip. It would be very usefull if it could show watch amplitude in one line (so we could see beat error, and condition of movement). Keith thank you very much for this!

Sent from my HTC Desire S using Tapatalk 2


----------



## Keith W

NoleenELT said:


> Also, in this thread, you gave suggestions for most of the settings, but not all. Are there any others that are critical to change from the default? Thanks!


Sure. For the most part the defaults are good for beat-counting if I don't specifically address them. In addition to the suggestions I made in this discussion thread, they are also baked into the app itself, both as a wordy dialog when you enable beat-counting and as an entry in the tutorial available through the Extras menu. Here's what I recommend for beat-counting:


Fling sensitivity: irrelevant, this governs how fast you can scroll through an audio recording after you stop recording. 
Move prefs: irrelevant (but pretty useful across the board). 
Source: you need to pick the the best audio source your device supports AND you need to position the watch near the physical mic associated with that source. 
Sampling Rate: as fast as possible 
Transform size: you'll get a smoother and faster beat-counting response with smaller transform sizes. I recommend no larger than 256. I'm uncertain whether there qualitative differences between 64, 128, and 256 in terms of beat-counting accuracy, clarity, etc. I'm not sure it matters much. 
Window Type: mostly irrelevant, leave this Hann. 
Spectrum Type: One of the 'spectrum' options, not the 'octave-band' options. I highly recommend trying 'dB' first and if you can't get clear beat-detection, then try 'power'...but 'power' will require more manual fiddling with the 'gain' during recording, so I recommend 'dB' first. Don't bother with the third 'amplitude' option. It's functionally the same as 'power' and the proper gain setting may be even less intuitive. 
Lowest/Highest frequency of interest: leave these minned and maxed out. 
Subtract mean signal: probably irrelevant. 
Min spectrogram height: 'None' so the spectrogram takes up as little screen space as possible since it doesn't play a major role in beat-counting...although it helps you visualize whether the beats are clear in the audio signal. 
Target beat-rate: I like 'Auto .5/s'. 'Auto 1/s' is better *IF* you know in advance that your watch has a modulus 1/s beat-rate (some watches beat at 5.5 b/s for example, for which this setting won't work). You can also specify the exact beat rate you want to match against, either from the popup options or as a number you type in. 
Show status bar: Nah, get rid of it, it takes up space. 
Keep screen awake: yes 
Keep screen bright: yes 
Show occasional messages: yes 
Show large buttons/text and thick lines: Your choice. 
Max recording duration: long recordings are irrelevant to beat-counting and cause other minor and major problems (minor in that initiating a recording takes a little longer and major in that there is a known bug (system-level I believe)...which is clearly addressed in red-text in the preferences and for which there is a corresponding "toast" message when you start recording. I suggest keeping this small, 15s, 30s, 1min, something like that. 
Skipped spectra: "Fill". I think "gaps" may adversely affect beat-counting. 
Frame rate: as fast as possible so as to get smooth beat-counting visualization. 
Show level meter: no 
Show beats: yes 
Show integrated spectra: yes 
Show waveform: no 
Show spectrum: no 
Show spectrogram: yes 
Spectrogram palette: irrelevant 
Mark axes: irrelevant, but disabling it will speed up the display a tiny amount. 
Orient UI: irrelevant on modern devices, which automatically orient anyway -- this setting is mostly obsolete. 

Cheers!


----------



## Keith W

NoleenELT said:


> Hi, I tried out this app, but I'm getting an error that says "The beats are not exceeding the upper threshold gap. Try tightening the upper threshold gap." How do I do this?


The terminology evolved a little between v4.0 and v4.1, and admittedly the demo video is v4.0. Widening/tightening the beat-detection threshold gap is the same thing as increasing/decreasing the beat-detection threshold. This process is demonstrated in the youtube demo video and also explained in the tutorial available under the Extras menu.

Cheers!


----------



## Keith W

bbc0 said:


> I am running this on my Nexus 7 with Smoothrom installed. I get the same message as NoleenELT and also am unsure how to respond. I am sure that the instructions are very thorough but I am a bit intimidated by the technical terms used. Can't wait to get it working though. Thanks for the effort.


I understand that you don't like technical documentation, but I'm not sure what to do. My attempt to explain it here would be a duplication of the same text already provided in the tutorial, which would make it redundant with what you've already read. Can you explain what aspect of the tutorial's instructions on adjusting threshold are confusing (I'm not sure what needs to be rephrased since I don't know what part you didn't understand)...or what aspect of the video's instructions about adjusting this setting are confusing? It shows it in the video. Did it make sense?

If beats don't exceed the threshold gap, you need to tighten the gap. Tightening the gap obviously brings the upper threshold down, the result being that the volume of the beats can then exceed the threshold and be detected...as per the original message, which said: "The beats are not exceeding the upper threshold". That makes sense, right? Sorry about any confusion on the matter.

Cheers!


----------



## Keith W

krstin said:


> Working great, and it is very accurate! Just one tip. It would be very usefull if it could show watch amplitude in one line (so we could see beat error, and condition of movement). Keith thank you very much for this!
> 
> Sent from my HTC Desire S using Tapatalk 2


I appreciate the suggestion, but I'm not sure I understand. The "integrated spectra" is literally the watch's loudness (sorta like amplitude) in a single continuous plot. Isn't that what you said you'd like to see? The beat-rate-error cannot be visualized "within" the loudness plot because it is a property which (in theory) doesn't vary with time. It wouldn't be a plot across time like the loudness which shows the tick tocks. It's a converged single global parameter characterizing the watch's overall behavior.

Right? Perhaps I don't understand the suggestion.


----------



## krstin

English is my second language, so there might be some problems in explaining and understanding these specific terms 

I'll try to explain it with a photo:

View attachment 999470


As you see there is straight line that shows watch beats. If movement is not set up right, line would not be straight as this. There would be dots scattered on the screen. So this shows is movement working nice, or it needs servicing. And you see beat error in ms. Because line is straight for this watch, beat error is 0.0. It would be usefull at least if app could show beat error. But i don't now is that possible.

But there is one more important thing - *Amplitude*. It's showed here on timegrapher (295 degrees). It is the main indicator of watch movement health. So I think it could be realy great if app could determine watch amplitude.

App is working great without these extras, but it would be cool to have them. At least amplitude. But I don't know if that is possible. 
Anyway, thank you very much for making this app free. If I could, I would definitely purchase Pro version, but it is impossible in my country.


----------



## Keith W

krstin said:


> English is my second language, so there might be some problems in explaining and understanding these specific terms
> 
> I'll try to explain it with a photo:
> 
> View attachment 999470
> 
> 
> As you see there is straight line that shows watch beats. If movement is not set up right, line would not be straight as this. There would be dots scattered on the screen. So this shows is movement working nice, or it needs servicing. And you see beat error in ms. Because line is straight for this watch, beat error is 0.0. It would be usefull at least if app could show beat error. But i don't now is that possible.
> 
> But there is one more important thing - *Amplitude*. It's showed here on timegrapher (295 degrees). It is the main indicator of watch movement health. So I think it could be realy great if app could determine watch amplitude.
> 
> App is working great without these extras, but it would be cool to have them. At least amplitude. But I don't know if that is possible.
> Anyway, thank you very much for making this app free. If I could, I would definitely purchase Pro version, but it is impossible in my country.


Hmmm, I'll have to learn more about how classic timing machines work. I have no idea what the dot-line plot is depicting frankly, nor am I sure what the concept of watch amplitude is...yet. I'll see if I can learn what's going on and then maybe I can more closely mimic the behavior of a conventional timing machine in the app. I'll have to see what I can come up with.

Thanks.

Cheers!


----------



## radger

If the the app could be made to measure beat error and/or amplitude then that
would be something.
If you are interested in trying this then the terminology and other useful info is available in the Witschi manual
which can be downloaded here...

http://www.witschi.com/download/Witschi Training Course.pdf


----------



## Keith W

radger said:


> If the the app could be made to measure beat error and/or amplitude then that
> would be something.
> If you are interested in trying this then the terminology and other useful info is available in the Witschi manual
> which can be downloaded here...
> 
> http://www.witschi.com/download/Witschi Training Course.pdf


Okay, from what I'm reading there, WildSpectra won't be able to duplicate the dotted line behavior of a timing machine using its current approach (analysis of the spectrogram). It would have to rely on a fundamentally different approach (analysis of the audio waveform). That said, what the document refers to as "beat deviation" -- which is what the dotted line depicts on a timing machine -- is effectively the root of the issue here: does a watch beat too fast or too slow thereby gaining or losing time over a longer period (a day). It is true that there may be eccentricities in the beat behavior of a watch that are better captured by beat-to-beat instantaneous analysis, but the big picture is whether the watch runs fast or slow...which is in essence just a time-average of individual beat-to-beat intervals.

What you refer to as "beat-error" is not specifically measured by Wild Spectra, but the integrated spectra plot does give some related (if not identical) information. Beat error, according to that document refers to asymmetries between the tick phase and the tock phase. Wild Spectra makes these asymmetries easily visible in the integrated spectra. One of my watches is highly asymmetrical in that its tick and tock are easily distinguished in the plot pattern of the integrated spectra. However, I agree that Wild Spectra does not put any numerical metrics on this asymmetry. Notably, beat error appears to specifically refer to asymmetries not only in the envelope but in the actual relative duration of the tick and tock. I could definitely add that to Wild Spectra by simply comparing the even and odd beat intervals. Nifty, I like that. Maybe I'll try to put that in the app.

The document also explains the term amplitude. This is not a reference to audio amplitude (aka loudness). It is (as I suspected in fact) an indication of how far (angularly) the balance swings back and forth. The document seems to suggest that the audio signal can reveal the swinging amplitude of the balance, but I fear that the way they are doing it -- the way they seem to demonstrate it in their diagram -- once again depends on the underlying waveform and not merely on the spectrogram. I may or may not be able to incorporate that kind of analysis into the app for a reasonable investment of effort...but I'll certainly look into it!

Cool! Thanks so much!


----------



## bbc0

Actually technical documentation is what I read, however, some of the terms used are confusing to me. I will get it figured out however. 
I am still having problems getting the beat value to stabilize. Rather it seems to be a moving target upon which all the other values are based. When I try setting the actual beat value,I find that the blue indication still hunts all over the place travelling from + 2.4 to -2.4 hrs. 
My watches are not as accurate as many are on here claim theirs to be but I have never missed a plane because of them. 
Obviously I am doing something wrong. Just wish I could figure out what, especially after spending all of 99 cents on the program.


----------



## jbetts1790

Great, thanks for this app! I will definitely check it out later


----------



## Keith W

bbc0 said:


> Actually technical documentation is what I read, however, some of the terms used are confusing to me. I will get it figured out however.
> I am still having problems getting the beat value to stabilize. Rather it seems to be a moving target upon which all the other values are based. When I try setting the actual beat value,I find that the blue indication still hunts all over the place travelling from + 2.4 to -2.4 hrs.
> My watches are not as accurate as many are on here claim theirs to be but I have never missed a plane because of them.
> Obviously I am doing something wrong. Just wish I could figure out what, especially after spending all of 99 cents on the program.


I admit, I'm still working on automating the app's ability to lock onto the signal. What would help is if people would send me photos of their Android device's screen. Sounds like it is not detecting the beats.

Thanks.


----------



## bbc0

Keith W said:


> I admit, I'm still working on automating the app's ability to lock onto the signal. What would help is if people would send me photos of their Android device's screen. Sounds like it is not detecting the beats.
> 
> Thanks.


I just emailed you a couple more pictures Keith. I believe I have it set up as you recommend and presently it's on Spectrum db. Tried it both ways and couldn't tell the difference. Max record is down to 15 secs. Target beat rate at Auto .5/s.
Right now I feel like I am trying to make WildSpectra agree that my watches are not out by 2 hours per day, rather than have it display the actual error.


----------



## Keith W

bbc0 said:


> I just emailed you a couple more pictures Keith. I believe I have it set up as you recommend and presently it's on Spectrum db. Tried it both ways and couldn't tell the difference. Max record is down to 15 secs. Target beat rate at Auto .5/s.
> Right now I feel like I am trying to make WildSpectra agree that my watches are not out by 2 hours per day, rather than have it display the actual error.


I saw the photos thanks. I still think it's better to keep individual support off the list so we don't clutter it up, but we can discuss here instead since the email didn't have any explanation, just the photos with no text, and therefore I couldn't figure out whose they were  . We can discuss here instead if you prefer, I just don't want to annoy other people with a discussion that doesn't affect them is all.

Anyway, ummm, looking at those photos, I'm not convinced you have located your device's microphone; it isn't see the beats at all. I can't see the beats in the integrated spectra, so it basically can't hear them (don't worry about the error in the range of "hours", it's just looking at audio noise, it has nothing to work with). I doubt this is a sensitivity issue (but maybe that's what it'll turn out to be). I think we need to find the mic on your device and put the watch closer to it...or maybe you definitely found the mic and positioned the watch properly, I'm not sure. Aside from that, if you're using db spectra, make sure the gain is turned down by tapping the left half of the spectrogram until the screen blinks red. Your spectrogram is so tiny you can't even tap it (it's the graphic just above the recording buttons). I think your transform size is 64. Can you set it to 128 or 256?...or at least verify what it's set to? You can also make the spectrogram bigger (just to make it easier to tap on to adjust the gain) by increasing the minimum spectrogram height setting. If none of that helps, try switching to the "power spectra" type. This will reveal the beats more clearly but will require manually fiddling with the gain instead of just setting it to the min value. You want to tap the right half of the spectrogram to increase the gain (or the left to decrease it) until the tick tocks appear in the spectrogram (assuming the mic can hear them at all) -- you don't want the spectrogram to be too dark or too bright (the gain too low or high) -- you want the ticks to stand out like bright vertical lines in the spectrogram. At that point, the integrated spectra (the orange plot) should become cleaner, revealing the beats as spikes in the orange trace so they can be detected, but don't even worry about whether WildSpectra is detecting the beats, we can't even see them yet. First we've got to figure out which spectrum type works best for your device (I only recommend "db" or "power", so it doesn't take long to test since there's only two options), and we need to find the right gain if you use power spectra...and we've got to make sure you actually found your Android device's mic. 

It's possible your device simply can't hear your watch...but I'm not ready to conclude that yet. My friend has a very expensive Ball watch. It's suuuuuper quiet (I can't hear it unless I put my ear against the phone in a quiet room), and my phone, which is a medium price-range model from nearly two years ago, can hear his watch enough to detect the beats. I admit, tablets are even weaker at audio than phones (they don't need good mics because they aren't built around audio as a primary function), but I would fiddle with it more before concluding it's impossible.

Send me some new photos with power spectra at a few gains and with a slightly larger transform size, and I'll refine it from there.

Cheers!


----------



## DaveInLA

My Nexus 7 can't seem to pick up the sounds of my Submariner. I definitely have the right microphone location. Or am I doing something wrong?


----------



## bbc0

Boy is my face red. The hole I thought to be for the microphone was just a hole. I found another hole and now this wonderful program is working so much better! Thanks Keith


----------



## Keith W

DaveInLA said:


> My Nexus 7 can't seem to pick up the sounds of my Submariner. I definitely have the right microphone location. Or am I doing something wrong?


Okay, thanks. I've had multiple reports from people using the Nexus 7 having a very hard time picking up the beats. One possibility is that that particular device really doesn't have a sensitive enough mic to hear these watches. I don't like proposing such a theory because it sounds like making an excuse on my part. If I had one of these tablets myself, I would happily experiment with it thoroughly to see what I can come up with...but given the number of such reports I've seen, we may have discovered an intrinsic limitation.

I must confess, my Galaxy Tab 2 (a tablet) seems to have a weaker mic than my G2X (a phone), even though the former is a much newer device. I think tablets have less expensive mics since they obviously don't rely on audio features as heavily as phones. If it really doesn't work.........then........I'm sorry. 

All that said, I recommend experimenting with:

transform size (64, 128, 256, MAYBE 512)
"db spectrum" vs. "power spectrum" (don't bother with the other spectral types)
If you use db spectrum, turn the gain all the way down by tapping the left half of the spectrogram until the screen flashes red (you may have to increase the min. height of the spectrogram to make it tall enough to tap on, it's the display directly above the buttons at the bottom of the screen).
If you use power spectra, play with the gain (tap the left/right halves of the spectrogram) until the spectrogram is definitely not blank, but also not blown out and oversaturated. Ideally, it should be pretty dark such that the tick tocks appear as bright vertical lines in the spectra (Note that if you db spectra, it can be hard to make the spectrogram "dark", just turn the gain all the way down).
ONLY AFTER you finally get good tick tock marks in the spectrogram, then move on to the integrated spectra, the orange plot under the beat-counter (the beat-counter is the needle-dial at the top of the screen). If the spectrogram shows bright clear tick marks, then the integrated spectra (the orange line) should show nice sharp tick tock "spikes"...exactly like an classic electrocardiogram plot.
ONLY AFTER you actually see a good integrated spectra with clean spikes, then adjust the beat-detection thresholds (the two purple lines drawn through the integrated spectra) to try to get beat-detection, i.e., little purple triangles at the top of the integrated spectra. Adjust these thresholds by tapping the left and right halves of the beat-counter (not the integrated spectra). You want the spikes to reach above the upper purple line and the baseline audio between spikes to dip below the lower purple line.

If you really can't get the ticks to appear as vertical marks in the spectrogram, then there's no point worrying about beat-detection or beat-rate, there's nothing to lock onto. Definitely try power spectra if db spectra don't work, but you'll have to fiddle with the gain if you use power spectra.

Let me know how it goes.

Thanks for your patience.


----------



## Keith W

bbc0 said:


> Boy is my face red. The hole I thought to be for the microphone was just a hole. I found another hole and now this wonderful program is working so much better! Thanks Keith


Phew! I'm relieved. Let me know if I can help further.

Cheers!


----------



## bbc0

DaveInLA said:


> My Nexus 7 can't seem to pick up the sounds of my Submariner. I definitely have the right microphone location. Or am I doing something wrong?


On my Nexus 7 the mic is at the top left corner. I was using the hole on the left side near the pogo connector. Took me a while to figure out it wasn't right but now the program acts as it should on a Bulova I have, but I'm still having problems with my Datejust. The graph is a lot less distinct and it wont properly zero in on the beat rate, however when I put the Bulova back it snaps right in so I'm guessing the Rolex must be a lot quieter.


----------



## DaveInLA

I've been using the hole in the top left of my Nexus 7 (which is the correct one) and can't pick up the Sub. It just might be that Rolex movements make less noise, but I can definitely hear the ticking when held to my noise. I agree that tablet mics are less sensitive than phone mics.


----------



## joeuk

The Rolex is a dive watch so you can imagine the case on these make the sound weaker.


----------



## Carlamander

This is my first post in this forum and I like what I see so far..

My question here is that I am very interested in this "timing machine" app, but wonder why there is no new posts in this thread since
March 12th, 2013 - Is it because the app is just working just fine and people have no questions, or is the discussion not wanted in the
forum anymore?

Regarding the app, I wonder if someone figured out what microphone work fine with mobile/cell phone (s3)?

Best regards,

Carl


----------



## Eeeb

Lack of subsequent discussion just means there was nothing new to say, nothing more.

Since I have a real timing machine, I personally never followed up on the microphone issues... others may have.


----------



## Carlamander

Thanks Eeeb!


----------



## igclapp

Hi Keith,

I downloaded your app (I'm using a Motorola Atrix 2) and I think I finally have it adjusted to the point where it is getting a good read on the individual beats of my Vostok Komandirskie.

However, the drift rate readings still don't seem very stable and I haven't yet gotten what I would consider a reliable result. I appreciate the time and effort you've put into this project and respectfully have some observations/suggestions.


Most people who are considering calibrating their own mechanical watch are somewhat technically inclined, but I think unfortunately your app requires a bit too much of a "learning curve" and fiddling with settings to get it to work (and then for some people it may still not get a good reading for various reasons, not necessarily the fault of the app). One thing that would be very helpful is a beat counter "preset" button on the home screen so with one press, the user would have all the settings pre-arranged the optimal way for beat counting. This would broaden the appeal of your app to those people who aren't very technical (or at least versed in signal analysis) but might want to try adjusting their watch anyway.
Watch owners who want to achieve high precision (like fractions of seconds per day) readings may find that your app is too "rough" or not repeatable enough in its results.
Some of us cannot always find a perfectly quiet place to use the app, so that increases the risk that the beat-counting detector/algorithm is not going to work properly.

I think the solution to the last point is to use a totally different approach, which would be a "waterfall" display that would show watch timekeeping error as a drifting line. To accomplish this, each horizontal scan of the "waterfall" would refresh at some exact multiple of the watch beat frequency and each pixel of the horizontal scan would be a different color based on the intensity of the audio input signal at that particular moment. For example, my watch is nominally 19,800 BPH so at minimum the scan refresh rate would have to be 5.5 Hz. However, at this refresh rate the apparent drift would be very slow for a watch only a few seconds per day out of alignment, so it will be necessary to increase the scan rate to some integral multiple of 5.5 Hz (say 55 Hz) to increase the apparent drift. Of course, in this configuration, for 9 out of 10 scans the "blip" of the watch beat will not be visible, but one should still be able to "connect the dots" and see the slope of the line. Another idea is to suppress 9 of the 10 scans and provide a control to shift the phase of the scan until the "blip" of the watch beat shows up on the display. You could also provide a rotatable "parallel line" overlay on the display (maybe this could even work automatically if the app could "snap to" the watch beat trace) that would give a reading of seconds per day error.

The main advantage of this technique is that since it relies on the user's own eyesight to discern the beat trace, it is relatively immune to background noise. The way I envision the app, it would be best to have the user manually input the nominal BPH of the watch because an automatic detection system may not be stable enough.

Although it might take longer with this technique to get a "reading" compared to the beat counter approach, the level of precision and stability should be very high.

Finally, because the time base on the smartphone may itself be out of alignment, some means should be provided to calibrate the phone. Probably the best way to do this is for the user to track the drift of the smartphone's internal clock over a 24 hour period (after disabling any type of automatic time sync or update feature) and then input a seconds (plus decimal seconds) per day correction factor into the app.

I considered downloading an oscilloscope app to at least show drift in the same general way (without the advantage of a waterfall display) but have not found one yet for Android that has a built-in signal generator to trigger each scan.

Best Regards,

Ibrahim


----------



## Keith W

igclapp said:


> I appreciate the time and effort you've put into this project and respectfully have some observations/suggestions.


You made some great suggestions. I'm really busy these days, most predominantly with trying to get my watch microbrand up and running, but also any number of watch-unrelated projects. Life is just busy, you know how it is. If and when I get around to an update, I think some of your ideas are definitely worth taking a closer look at.

Thanks for the great feedback.

_Cheers!_


----------



## igclapp

Keith W said:


> You made some great suggestions. I'm really busy these days, most predominantly with trying to get my watch microbrand up and running, but also any number of watch-unrelated projects. Life is just busy, you know how it is. If and when I get around to an update, I think some of your ideas are definitely worth taking a closer look at.
> 
> Thanks for the great feedback.
> 
> _Cheers!_


Hi Keith,

I totally understand. Nonetheless, I hope you can find time at some point just to make a really basic waterfall app to see how effectively this idea would work. I'm not certain, but I think the "strobe" or drift principle is how the high-end timing machines work.

One wrench in the works is that the smartphone's own timebase may not be very accurate. I checked mine and it loses about a second a day. Still, if one measures the phone timebase error then that can be accounted for (as long as the timebase is stable and does not vary appreciably in its daily error, which should be the case for most phones).

In the meantime I'm going to keep looking for an oscilloscope app (phone or PC) that has the required features to test the concept. So far I haven't found one that has a precision adjustable timebase or a signal generator that can be used to trigger the audio input reliably enough.

Best Regards,

Ibrahim


----------



## Nige7Whit

I spent most of yesterday evening downloading, converting and then 'sideloading' this app onto my BlackBerry Playbook, and although the app appears to work, I'm not yet sure if it is working correctly on this tablet. Sounds are registered, but the app does not seem to pick out the watch noise over the background 'clutter'. I have read this post from the start, and will try again to adjust the threshold settings, and maybe an additional microphone, if supported. 

The playbook has 2 microphones, one each side of the top edge, but using this app, only one seems to pick up the sound....... I'll try using the BlackBerry earbud/ mic headset thing from my BB phone, maybe that will help.


----------



## Dimarini

To all with microphone issues, this may apply to you or may not. On my Galaxy S3, Wildspectra is actually using the microphone at the top of the phone and does not use the one at the bottom. So for the S3 to detect the beats you have to place the top microphone hole near the watch. It detects beats better through the crystal than through the stainless case, but both work.


----------



## nola mike

Dimarini said:


> To all with microphone issues, this may apply to you or may not. On my Galaxy S3, Wildspectra is actually using the microphone at the top of the phone and does not use the one at the bottom. So for the S3 to detect the beats you have to place the top microphone hole near the watch. It detects beats better through the crystal than through the stainless case, but both work.


My S3 uses the bottom mic...

App shows promise, but is very inconsistent on my device. I have the cover off and the mic right next to the balance. I can see the spikes, and it appears that the app detects most of them--but not all, even though they're crossing the limit threshold. Although the integrated spectrum graph looks consistent, the blue/green/red SD and errors fluctuate wildly, they never settle down. Not sure why. Is there any way to take that spectrum graph, manually mark the beats, and have the app figure out the actual error from that? Seems like it would be more accurate, maybe take a 30 sec sample, mark it up and go from there.


----------



## StripeyNATO

My no-name (AKA 'Parnis') Chinese 6498 was running about a minute and a half a day fast so I had a go with the pro version of this app (what is it, 70p? Pretty good deal, anyway). And the bottom line is: yeah, it's great, watch is now spookily accurate, which is to say that twelve hours later I can't discern any deviation either way from the bang-on setting I put on after I finished the regulation process. Pretty cool, in other words. It would be _nice _if there was just one button on the control panel of the app that would just set the whole app up for watch regulation in one go. Because it's pretty damn complicated - but hey, I figured it out (just about).

Here's the set up on my Nexus 7:









And a couple of reading shots:

















The lower one is how I left the watch: accurate, basically.


----------



## Delivery McGee

Great app. I have a Vostok Amphibian (cobbled together from two broken ones), and have been trying to get it running right by poking at the regulator, letting it run while comparing it to my Seiko, and adjusting whenever I saw it getting out; obviously not the most efficient nor accurate method.

Once I figured out how to work the app (and that the Commiewatch runs at 5.5bps), it took me about five minutes to get it to a useable state (within 15s/day; I may fine-tune it further after it's run for a day or so.)

Edit: also, I was in a rather noisy environment -- A/C running just outside the window, parakeet chirping in the background -- and it worked just fine. Maybe my phone just has a better mic than some of y'alls.


----------



## Smoking Joe

Can you brainy fellows give us lazy chaps some pointers at how you set up the app. I had a go and couldn't make out head nor tail what I was looking at! Thanks. 
I also think a handy button just to use the app for regulating would be so handy. More advanced users can play around with the rest of the functions.


----------



## laikrodukas

There is a video for how to setup this app for watches


----------



## Smoking Joe

Nice one!


----------



## CMA22inc

Great app. 
I just used it to regulate a couple watches I had almost gave up on.

Now they are back in rotation!

Thanks Keith


----------



## nolte

Great app. It's confirming to me in a few seconds what I have observed about several watches from making notes over a few months.

I do have a general question to broadcast my ignorance:

I do see some periodic wild shifts in the SD. Are these likely to be due to environment noise/contamination?


----------



## khdetw

Keith W said:


> Okay, thanks. I've had multiple reports from people using the Nexus 7 having a very hard time picking up the beats. One possibility is that that particular device really doesn't have a sensitive enough mic to hear these watches. I don't like proposing such a theory because it sounds like making an excuse on my part. If I had one of these tablets myself, I would happily experiment with it thoroughly to see what I can come up with...but given the number of such reports I've seen, we may have discovered an intrinsic limitation.
> 
> I must confess, my Galaxy Tab 2 (a tablet) seems to have a weaker mic than my G2X (a phone), even though the former is a much newer device. I think tablets have less expensive mics since they obviously don't rely on audio features as heavily as phones. If it really doesn't work.........then........I'm sorry.
> 
> All that said, I recommend experimenting with:
> 
> transform size (64, 128, 256, MAYBE 512)
> "db spectrum" vs. "power spectrum" (don't bother with the other spectral types)
> If you use db spectrum, turn the gain all the way down by tapping the left half of the spectrogram until the screen flashes red (you may have to increase the min. height of the spectrogram to make it tall enough to tap on, it's the display directly above the buttons at the bottom of the screen).
> If you use power spectra, play with the gain (tap the left/right halves of the spectrogram) until the spectrogram is definitely not blank, but also not blown out and oversaturated. Ideally, it should be pretty dark such that the tick tocks appear as bright vertical lines in the spectra (Note that if you db spectra, it can be hard to make the spectrogram "dark", just turn the gain all the way down).
> ONLY AFTER you finally get good tick tock marks in the spectrogram, then move on to the integrated spectra, the orange plot under the beat-counter (the beat-counter is the needle-dial at the top of the screen). If the spectrogram shows bright clear tick marks, then the integrated spectra (the orange line) should show nice sharp tick tock "spikes"...exactly like an classic electrocardiogram plot.
> ONLY AFTER you actually see a good integrated spectra with clean spikes, then adjust the beat-detection thresholds (the two purple lines drawn through the integrated spectra) to try to get beat-detection, i.e., little purple triangles at the top of the integrated spectra. Adjust these thresholds by tapping the left and right halves of the beat-counter (not the integrated spectra). You want the spikes to reach above the upper purple line and the baseline audio between spikes to dip below the lower purple line.
> 
> If you really can't get the ticks to appear as vertical marks in the spectrogram, then there's no point worrying about beat-detection or beat-rate, there's nothing to lock onto. Definitely try power spectra if db spectra don't work, but you'll have to fiddle with the gain if you use power spectra.
> 
> Let me know how it goes.
> 
> Thanks for your patience.


On Galaxy S5, tapping the screen does not seem to do anything except slow down the scrolling rate with no apparent way to revert it back. Is there any way to adjust the thresholds that actually works?


----------

