Hi Kiste, The reason that I think it still might work is because - what I mentioned previously - is that my Apple II I had built in the past also just worked with tones to store data (at that time only games ?).
I copied a pice of the casette interface of the Apple II schematic diagram I found on the internet. What you see is that with an opamp the audio is input signal is converted to a digital signal and the rest of the processing is done in software. There is no special chip on the board to process this data stream. Also the data out is just a direct output of a flip-flop with some resistors to reduce the signal outpt but not even a low pass filter. The variations in cassette speed will result in a variation of the tone so if I use a tone range to detect the right tone it might work. Kind regards, Rob [cid:5c2fee4d-df6c-4349-83cd-44b473fd42d7] ________________________________ Van: [email protected] <[email protected]> namens hans <[email protected]> Verzonden: vrijdag 25 februari 2022 16:20 Aan: jallib <[email protected]> Onderwerp: Re: [jallib] PWM serial audio transmission Hi Vasile, In my time a birth was still followed by a placenta, nowadays an iphone comes after. A long time ago I was infected by Wouter, Jal is even more persistent than corona, see http://www.voti.nl/setalk/n_index.html regards Hans Op vrijdag 25 februari 2022 om 13:34:14 UTC+1 schreef vasile: Hi Hans. Congratulations for your young mind! There aren't many people programming at your age. You are a great example! On Fri, Feb 25, 2022 at 10:16 AM hans <[email protected]> wrote: Hi Vasiele and others. I was born before the last world war and I suspect most of you after it. I hope it stays that way!! Great, I can study today again. Thank you. Op vrijdag 25 februari 2022 om 06:58:52 UTC+1 schreef vasile: Kiste, not only the ZX81 but Sinclair Spectrum and most of it's clones did the same. The biggest problem was the tape speed variation (among the volume variation which was corrected in romanian clones -and we had more than any, I recall 5 different types). Hans, on the actual PIC18 series on which JAL works ( presuming you will do with JAL) you might have some sampling speed issues. You need at least 7.5us for an ADC sample and according to Nyquist theorem you need not 2x ( which is pure theoretical) but at least 4x faster sampling than maximum frequency you are recording. After your AD is sampled, the PWM is not an issue, but you might experience a small delay between real recorded speech and the PWM filtered one. If you plan to add voice for your puppet, then limiting to 4KHz may be a good choice. best wishes, hopefully not WW III, but in pace for playing nice... On Thu, Feb 24, 2022 at 10:38 PM 'Oliver Seitz' via jallib <[email protected]> wrote: Hi Rob, connecting two PICs is not like an audio recording. Better connect the pic to your soundcard to record and then playback, that way you'll get something similar to a tape recorder. The difficulties when using audio equipment are (at least): - only alternating current is transmitted - the volume is never exactly the same - the frequency range is limited to like 100Hz-10kHz - the line level voltage is less than 1V Reading should be possible by most PICs which have comparators. Only a resistor is needed, then you can detect zero crossings. The Sinclair ZX81 used audio equipment as storage. A burst of three oscillations coded a zero, five coded a one. The output was low-pass filtered. You usually had to try loading a program several times, slightly adjusting the volume, until you got lucky. Greets, Kiste Am Donnerstag, 24. Februar 2022, 19:56:01 MEZ hat Rob CJ <[email protected]> Folgendes geschrieben: Hi Hans, If I understand you right the only thing you want to do is to record a signal or a sequence of signals on a casette player that can be used to trigger something when the recording is played back right? If my initial suggestion would work - which may work since I have the idea that my Apple II did more ore less the same thing - I could give it a try to do a proof of concept. I may have a the problem that I do not have a casette recorder but I could fake it by just connecting two PICs to see if that works. The final test could then be done by you. Which PIC type are you using? Kind regards, Rob ________________________________ Van: [email protected] <[email protected]> namens hans <[email protected]> Verzonden: donderdag 24 februari 2022 17:07 Aan: jallib <[email protected]> Onderwerp: Re: [jallib] PWM serial audio transmission Another piece of text: So far I've done everything with MIDI. I used one midi channel for the actions with a general command type. Then 2 data, one for the device nr (16) and one for the command. (0-128) This has worked well for years, but it does require a complete MIDI sound package. Op donderdag 24 februari 2022 om 16:55:46 UTC+1 schreef hans: Hey , I have tried a circuit with an MT8880 but the ICI has failed. I did hear the 16 tones, but when I wanted to receive them, the chip gave up the ghost. In theory I understand your suggestions well, but developing something like this is not easy for me. I'm just a LEGO builder. regards Hans Op woensdag 23 februari 2022 om 19:30:37 UTC+1 schreef [email protected]: Hi Hans, Kiste, You can still by DTMF decoders and I assume also DTMF encoders. Just look at for example Aliexpress and type DTMF. But another suggestion. Many, many years ago I had built an Apple II and I used cassette tapes to store and load games which was using tones generated by the Apple II itself using two tones, one for high, one for low and one as a lead-in tone (not sure in the lead-in tone was another tone) to synchronze the start of the recorded program. You would not need this lead-in tone in your case So I think it may not be that complex: -) For recording on casette, generate this dual tone by the PIC via PWM or maybe it is also sufficient to generate one tone in case of a 1 and no tone in case of a 0 but I think this will be less reliable. -) For playback, measure the length of the recorded PWM tone. If is is within a certain range you accept it as a one and in case of two tones the lower tone could be zero and the higher tone is one. As long as the tone frequency is not too high, I think this could work. A more advanced solution would be to use a phase locked loop (PLL) but I am not sure if it will work. The PLL locks to the input signal so the voltage that controls the oscillator goes up and down to follow (lock on to) the input signal and this oscillator voltage signal could then be used by a comparator of the PIC to detect a high or low tone. You can also use the oscillator of the IC to generate the two tones by controlling the oscillator voltage by the PIC. A typical IC for that is the HEF4046. I have used this IC many many years ago too. This solution may be bit over the top since you only want a kind of trigger signal But maybe the first solution is more doable. Just give it a try. Kind regards, Rob ________________________________ Van: 'Oliver Seitz' via jallib <[email protected]> Verzonden: woensdag 23 februari 2022 09:58 Aan: [email protected] <[email protected]> Onderwerp: Re: [jallib] PWM serial audio transmission Hi Hans, 20 years ago I would have suggested using DTMF, but the decoder chips are rare these days... PIC controllers include various peripherals which can be used to encode and decode DC-free signals (which, apart from the frequency below, say, 10kHz, is the requirement to be recorded as audio). On/off keying or frequency shift keying are the easiest, I think. Which chips are you going to use? Greets, Kiste Am Mittwoch, 23. Februar 2022, 09:15:43 MEZ hat hans <[email protected]> Folgendes geschrieben: Hello everyone, I have been trying for a long time to place a serial signal on one track of an audio recording which I can read afterwards. To make all kinds of things happen at the same time as the audio is played. I have now tried to do this with the old modem system ( TCM3105) but it failed hopelessly. I read that there are also systems to do this using PWM. Does anyone have an idea? regards Hans -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/773ca37b-9bed-4349-a8eb-32a5d8973df6n%40googlegroups.com<https://groups.google.com/d/msgid/jallib/773ca37b-9bed-4349-a8eb-32a5d8973df6n%40googlegroups.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/201142693.752814.1645606718467%40mail.yahoo.com<https://groups.google.com/d/msgid/jallib/201142693.752814.1645606718467%40mail.yahoo.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/d4803c41-505a-4297-81d5-7be0ef06b112n%40googlegroups.com<https://groups.google.com/d/msgid/jallib/d4803c41-505a-4297-81d5-7be0ef06b112n%40googlegroups.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/DB6P195MB018301D93CBE73C8A9C74FF0E63D9%40DB6P195MB0183.EURP195.PROD.OUTLOOK.COM<https://groups.google.com/d/msgid/jallib/DB6P195MB018301D93CBE73C8A9C74FF0E63D9%40DB6P195MB0183.EURP195.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/1712343432.941652.1645735109957%40mail.yahoo.com<https://groups.google.com/d/msgid/jallib/1712343432.941652.1645735109957%40mail.yahoo.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/f8c9ab42-0f79-4899-8974-bab64a1785c4n%40googlegroups.com<https://groups.google.com/d/msgid/jallib/f8c9ab42-0f79-4899-8974-bab64a1785c4n%40googlegroups.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]<mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/068d3769-e491-4f55-9daa-7a2d1e612df8n%40googlegroups.com<https://groups.google.com/d/msgid/jallib/068d3769-e491-4f55-9daa-7a2d1e612df8n%40googlegroups.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/DB6P195MB01832EBF0D9FB18F67DA4BFFE63E9%40DB6P195MB0183.EURP195.PROD.OUTLOOK.COM.
