Retrocomputing Stack Exchange is a question and answer site for vintage-computer hobbyists interested in restoring, preserving, and using the classic computer and gaming systems of yesteryear. Join them; it only takes a minute:

My ZX Spectrum 48k seems very resistant to working with audio input. I no longer have any cassette players, so am relying on audio files from digital players. I have been able to save and verify a tiny BASIC program to a digital recorder, but getting the right volume to save files from playtzx or OTLA is eluding me.

But it's not an audio solution, @lvd — and that's what I was asking about. I have a Retroleum SMART card that does fast loading of snapshots
– scrussMar 27 '17 at 14:39

1

Newest developments: TZX Duino and Arduitape (Google for them) are Arduino-based devices that can play TZX files as audio into the Spectrum. They are kind of new in summer 2017.
– tofroJun 28 '17 at 6:27

3 Answers
3

If (and only if) your audio player is battery powered, and your Spectrum is the 48K or 128K toastrack model, try the following procedure, intended to boost the volume of your wave signal, as seen by the Spectrum EAR circuitry:

Get one of these audio cables. They are very common. And yes, they are stereo.

Why do we need it to be stereo? The trick is that both channels from the 3.5'' stereo plug will make contact inside the Spectrum jack this way:

So when you use it to load from a digital audio player, that will normally output the same level in both channels, you won't hear (or load) anything.

Then what? Just invert one of the channels so the voltage level of one channel, reffered to the other channel, will appear to be double the value of any of both channel reffered to ground (which won't be connected at all in our setup)

If the TAP/TZX conversion program allows this inversion, use it. If not, you can use an editor program like Audacity to perform the inversion. Here is how:

First, load your generated WAV into Audacity. The generated WAV should be stereo, but if not, it doesn't matter. We can clone one channel to the other one to make it stereo.

Use the magnifier tool inside the wave window to amgnify it to the point you can clearly see both waves, that initially will look the same.

Now click on the wav name tab and select "Split stereo track"

Now we have the left and right channels in different tracks, so we can manipulate each one independently.

Change to the select tool (above the magnifier tool) and click the second track (the one below the other) as near as possible to the beginning of it. Press Home to bring the selection mark to the very beginning of the track. From the menu, select Edit -> Select -> Cursor to Track End so the whole track is selected.

With that selection active, select Effect -> Invert

Now we have two independent tracks, one of them with an inverted version of the sound of the other one.

Now select both tracks: press Shift and click on both tracks (the region where the properties of each track are displayed). Then, click on the name of any of them and select "Make stereo track"

The final result should be a stereo track with one channel inverted.

Save this wave as PCM stereo track by choosing File -> Export

And then, WAV

Copy it to your digital audio player and use the stereo cable as described to play the resulting sound. Don't be surprised if you need to lower the volume in order to get it loaded.

For example, in order to load this Bruce Lee example with a Samsung Onyx, I had to do it using the MIC input on the Spectrum, as the EAR input was too loud to be usable.

If the audio player and the computer share a common ground — as they would if they were mains powered — there would no longer be the differential voltage range of +0 → +2×Vₛ.
– scrussMar 23 '17 at 12:52

2

What is the purpose of all this? To effectively double the volume without adding distortion? In other words, why would a tape player work while an audio player wouldn't?
– traalMar 24 '17 at 0:00

I also had problems getting my PC to work with OTLA on my 48+ model. What I did was play the .wav file through Video Lan Player (VLC) on full blast (125%) and it worked!

I used a stereo to split channel lead using phono to jack adaptors (basically green line in to red/white phono audio connections). I'm sure there's an easier way but this is the way that worked for me.

Welcome to Retro SE! Why did you decide to physically split the cable? Couldn't you simply mute one channel in VLC to achieve the same effect?
– nabulatorJul 22 '18 at 4:09

By the way, 125% isn't full, so you might get some distortion (floating point rounding errors, clipping) if you do that. Probably nothing that a system / emulated system wouldn't be able to deal with, but still...
– wizzwizz4♦Jul 22 '18 at 8:24