I have been working on and off on the ability to record Shagmatic sessions to audio files for about 6 years. This has been a goal for a long time but I stopped working on it because there was no reason without a machine that achieved absolute positioning. Now that I have one and also another interested party to motivate me, I decided to re-visit the old project. I have just confirmed that I can record machine motion with a high degree of accuracy and high resolution at speeds fast enough to do the job properly. There is still some testing but I have written and debugged both an encoder and a decoder in firmware. I am using two microcontrollers assigning each job to one of them. This might not be necessary with a sufficiently fast controller but for now it seems best for testing.
What this means is that the following will all be possible.
1 recording any session for later playback using only readily available hardware such as a digital sound recorder for recording and virtually any MP3 player for playback. Playback can be done on an MP3 player of smart phone.
2 synchronizing a session with audio or video files. Once recorded they can be played back with accurate synchronization at any time.
3 transmitting live sessions over any channel capable of medium quality audio. For example fucking can be controlled over a cell phone, the internet or even a land line. Files can be saved and sent via email. Anything that can transmit or save audio is a candidate. I am not sure if I can get reliable reproduction form Edison cylinders but maybe.
These capabilities require a more advanced circuit board with space for two controllers and the various level shifting circuits needed. Since this represents such a major advancement in the capabilities of the Shagmatic I am not sharing at this point. I might be interested in sharing with others who would be interested in helping to develop this as a commmercial product.
The above may seem like they would be pretty easy to accomplish with modern digital designs used for a variety of other communication tasks. However that is not really the case. The requirements for encoding high resolution high speed realtime machine control using only low frequency audio signaling are unique and elusive. I have significantly adapted conventional encoding schemes to the specific needs of the Shagmatic.
Ideas and suggestions are welcome.
I built a machine using yours as a blueprint. To keep absolute position I used a ratchet to prevent slip and I used an optical transducer triggered by a reference mark on the ratchet to reset its position.
I realised it would be possible to program the machine to mirror the action in a video ( it would need programming in) . My idea was to record over the audio track on the movie (sterio , one for pulses, the other direction). Since the front end of audio devices remove dc the information would need to be presented as high frequency bursts. Direction was easy, a high frequency or no high frequency and a slow frequency of change. The pulses were a problem. At a sample rate of 44kHz each 20kHz burst would be 2 wavelengths long. Some audio chips can record at 96kHz but that isn’t much use for a stand alone device.
Either I need to spend a lot of tinkering time to develop a sophisticated decoder that is sensitive enough to detect 2 wavelength burst noise free OR make a very fast 2 bit digital recorder that will run in parallel with the video player and keep in sync and talk to the original microprocessor.
I would be interested in your solution.
I always figured the impact of the motion of the fucking machine mirroring the action on screen would be a very poiwerrful. The rubber hand illusion https://youtu.be/sxwn1w7MJvk
I am not sure how you are encoding direction. I am still working out minor details that will effect resolution but my tests indicate that I can resolve step and direction at adequate speeds using a 3k “carrier frequency”. if high sampling rates are to be used (I am assuming a fairly low sampling rate now of 44k because that does not require any special equipment) I am pretty sure I can go well over 3k and that the faster microcontrollers can do the decoding. i still need to hook up to a machine and see what the limits and the granularity are. currently sending double pulses which might be a little jittery? i re-read your description again and realize that you are proposing the use of stereo for step and direction. this does not allow for audio along with the video and machine instructions. my main interest is in synchronizing with music so this would not work for me although i think it would be very easy to do that way. since it took me 6 years of intermittent work to get this finally working i am not going to share the details of the code yet. if someone wants to build the appropriate hardware i would probably supply compiled code to experiment with.
I am interested in how your ratchet system works. What type of drive etc?