Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Speccy loading noise?

17 views
Skip to first unread message

fuzzix

unread,
Mar 16, 2008, 6:57:45 AM3/16/08
to
Hey all,

Just watching the last series of The Wire... I'll keep details to a
minimum in case you're following (if you're following S5 you might want
to skip the vid), but is this familiar sounding noise what I think it is?

<http://netsoc.dit.ie/~fuzzix/speccy_wire.avi> (777842 bytes)

Can't think what else it might be but I understand there has been
controversy surrounding these matters in the past...

Are speccy loading noises usually a standard part of audio clip art
libraries?

Bonus points for identifying the game.

Chipmunk

unread,
Mar 16, 2008, 10:27:04 AM3/16/08
to
"fuzzix" <fuz...@gmail.com> wrote in message
news:friv07$r0m$1...@registered.motzarella.org...

Sounds like part of a loading screen to me.

I'm sure this very same sound has been use several times in other programs
as well.

/Chip.


Brian Gaff

unread,
Mar 16, 2008, 11:46:39 AM3/16/08
to
Lots of computers from around the 80s had similar noises of course, but I
think the Speccy was quite unique in allowing the user to hear it.

If you think it took ages to load Hacker into a Speccy, you should have
tried it from tape on an Atari 800xl!

Brian

--
Brian Gaff - bri...@blueyonder.co.uk
Note:- In order to reduce spam, any email without 'Brian Gaff'
in the display name may be lost.
Blind user, so no pictures please!
"Chipmunk" <chip...@kysoft.net> wrote in message
news:Y6aDj.12138$5i5....@newsfe6-gui.ntli.net...

fuzzix

unread,
Mar 16, 2008, 1:11:06 PM3/16/08
to
I did wonder if it was from another machine, it being a US show, but I
think I've sat around listening to ZX tapes long enough in my time to
pick out the "signature" :)

zxbruno

unread,
Mar 16, 2008, 9:41:34 PM3/16/08
to
lol. Here we go again.

I've edited the noise and raised the volume, but it still need
cleaning.

http://zxspectrum.zidev.com/zx/speccy_wire_(needs_cleaning).zip


I had a routine from Microhobby that could be used to read tape data
even if it didn't had the leading tone. I'm going to see if I can find
it.

zxbruno

unread,
Mar 16, 2008, 10:53:23 PM3/16/08
to
On Mar 16, 6:41 pm, zxbruno <zxspectrum...@gmail.com> wrote:
> lol. Here we go again.
>
> I've edited the noise and raised the volume, but it still needs

> cleaning.
>
> http://zxspectrum.zidev.com/zx/speccy_wire_(needs_cleaning).zip
>
> I had a routine from Microhobby that could be used to read tape data
> even if it didn't had the leading tone. I'm going to see if I can find
> it.

Bonus points for guessing the game, eh?

Here are another two wav files. Test01 is the result of a bandpass
filter, leaving just the frequencies between 1022 and 2044hz. Test02
is the result of a noise reduction filter applied to test01.

http//zxspectrum.zidev.com/zx/Speccy_sound_cleaning.zip

Scribbler

unread,
Mar 17, 2008, 12:32:42 AM3/17/08
to
zxbruno <zxspec...@gmail.com> wrote in news:9a41084a-4bf8-4435-a32a-
8cc587...@u10g2000prn.googlegroups.com:

Unfortunately it's such a short sample though, that even if we were able to
get the speccy to "recognise" it, it'll be almost impossible to decipher.

Obviously, with it been a screen, it's unlikely there's be any recognisable
code or text in there.

zxbruno

unread,
Mar 17, 2008, 2:04:38 AM3/17/08
to
On Mar 16, 9:32 pm, Scribbler <ngs_0...@mercuryvapour.co.uk> wrote:
>
> Unfortunately it's such a short sample though, that even if we were able to
> get the speccy to "recognise" it, it'll be almost impossible to decipher.
>
> Obviously, with it been a screen, it's unlikely there's be any recognisable
> code or text in there.

Maybe, but it's still worth a try. I found the routine I was looking
for (this will probably look messy):

10 ORG 40000
20 DI
30 LD HL,#53F
40 PUSH HL
50 LD DE,#4000
60 LBYTE LD A,#7F
70 IN A,(#FE)
80 RRA
90 RET NC
100 NBYTE LD L,1
110 LD BC,#B201
120 LBITS CALL #5E3
130 JR NC,LBYTE
140 LD A,#CB
150 CP B
160 RL L
170 LD B,#B0
180 JR NC,LBITS
190 BIT 7,L
200 JR NZ,LBITS
210 LD A,L
220 CP " " <SPACE
230 JR NC,OK
240 LD L," " <SPACE
250 OK LD H,0
260 ADD HL,HL
270 ADD HL,HL
280 ADD HL,HL
290 LD BC,15360
300 ADD HL,BC
310 LD C,D
320 LD B,8
330 PCHAR LD A,(HL)
340 LD (DE),A
350 INC HL
360 INC D
370 DJNZ PCHAR
380 LD D,C
390 INC E
400 JR NZ,NBYTE
410 LD A,D
420 CP #48
430 LD D,#50
440 JR Z,NBYTE
450 LD D,#40
460 JR NC,NBYTE
470 LD D,#48
480 JR NBYTE

If this code can be modified, we can:

1-See if we can make something of what we see, the same way we used to
try to find sprites inside games (changing the width, height,
position, etc.) There are some emulators that have this function
available.
2-Compare the data with some screen$
3-Have Specchums listen to it, and maybe someone will recognize it!

Brian Gaff

unread,
Mar 17, 2008, 6:29:49 AM3/17/08
to
You need to know if its code or basic, but if its code just save a block of
code longer then you need, use the header and put the code you have as the
code, then when you get loading error you can look at the code in ram.
Remember to save it with ramtop lowered though, and load it back up there
as well.

Brian

--
Brian Gaff....Note, this account does not accept Bcc: email.
graphics are great, but the blind can't hear them
Email: bri...@blueyonder.co.uk
______________________________________________________________________________________________________________


"zxbruno" <zxspec...@gmail.com> wrote in message
news:9a41084a-4bf8-4435...@u10g2000prn.googlegroups.com...

spi...@freenet.co.uk

unread,
Mar 17, 2008, 6:38:55 PM3/17/08
to
Brian Gaff <Bri...@blueyonder.co.uk> did eloquently scribble:

> You need to know if its code or basic, but if its code just save a block of
> code longer then you need, use the header and put the code you have as the
> code, then when you get loading error you can look at the code in ram.
> Remember to save it with ramtop lowered though, and load it back up there
> as well.

Isn't everyone forgetting about the slight problem of bit placement?
you can't just leap into the audio at an arbitrary point and expect it to
always be at a byte boundary.

You'd need to do a lot of shifting to get it into the right alignment.
If the signal was received strongly enough to have an alignment that is.
:)
--
______________________________________________________________________________
| spi...@freenet.co.uk | "Are you pondering what I'm pondering Pinky?" |
|Andrew Halliwell BSc(hons)| |
| in | "I think so brain, but this time, you control |
| Computer Science | the Encounter suit, and I'll do the voice..." |
------------------------------------------------------------------------------

zxbruno

unread,
Mar 18, 2008, 1:32:54 AM3/18/08
to
On Mar 17, 3:38 pm, spi...@freenet.co.uk wrote:
> Brian Gaff <Bria...@blueyonder.co.uk> did eloquently scribble:

Er, the assembler routine I posted can read anything from a Spectrum
tape, no matter what point you start reading from. It's from
Microhobby, a Spanish magazine, and it works great! Its original
purpose was to be able to look for text in code blocks without the
need to load it in memory. If someone who knows machine code can
modify it, it could be used to read speccy audio which otherwise would
be lost forever. I know a regular block of code needs the leading
tone, flag and sync bit, followed by the actual code, but with a
slight modification (by someone who knows), we can read just the code.

I honestly think that this is the 3rd part of a screen$, and by the
amount of 0s it should mean the last two lines were left blank, but it
might be possible to recognize something. A gentleman at Speccy.org
had the same opinion.

If we can have someone filter the audio the right way (I'm an amateur
at that) or modifiy the routine I posted (I only know Basic) I think
we will find something.

Kevin Reilly

unread,
Mar 18, 2008, 4:14:56 AM3/18/08
to
On Mon, 17 Mar 2008 zxbruno wrote:

>I honestly think that this is the 3rd part of a screen$, and by the
>amount of 0s it should mean the last two lines were left blank, but it
>might be possible to recognize something. A gentleman at Speccy.org
>had the same opinion.

I'm pretty sure you're right. This sounds like the same burst of code
that's been used a couple of times in the various incarnations of CSI
(Google this group for more info). The CSI clips were longer, including
an instantly recognisable attribute table loading at the end, but were
masked by other noise and dialogue. The version from The Wire is the
clearest by far.

It would be pretty cool if we could figure out what program this is
from. Not sure how to go about it, though. I suppose the routine you
posted could be used as the basis for a literal bit-for-bit comparison
with EVERY possible SCREEN$ until a match is found, but that would take
an intolerably long time.

--
Kev
__________________________________________________________________________
"Man wanted to work in dynamite factory. Must be willing to travel."
Classified advertisement

Dylan Smith

unread,
Mar 18, 2008, 8:06:50 AM3/18/08
to
On 2008-03-17, spi...@freenet.co.uk <spi...@freenet.co.uk> wrote:
> Isn't everyone forgetting about the slight problem of bit placement?
> you can't just leap into the audio at an arbitrary point and expect it to
> always be at a byte boundary.

If it's a SCREEN$, it doesn't really matter - if you get it to show in
the Spectrum's frame buffer, you just need to look at what's drawing on
the screen, then you can probably align it just by looking at it and
guessing the start byte and start bit for the fragment.

If there's attributes included in the clip, you could almost certainly
figure out which byte and bit that starts on with some trial and error.

--
From the sunny Isle of Man.
Yes, the Reply-To email address is valid.

(O)enone

unread,
Mar 18, 2008, 2:23:48 PM3/18/08
to
zxbruno wrote:
> I honestly think that this is the 3rd part of a screen$, and by the
> amount of 0s it should mean the last two lines were left blank, but it
> might be possible to recognize something. A gentleman at Speccy.org
> had the same opinion.

I'd bet money on it.

--

(O)enone


zxbruno

unread,
Mar 19, 2008, 7:52:05 PM3/19/08
to
Quoting from a post made by Gasman on w.o.s.

"Here's my attempt at making sense of it:

I loaded the original audio into Audacity, ran it through a 10000Hz
high-pass filter, then amplified it by 24dB twice with 'allow
clipping' ticked - the extreme clipping gave me something
approximating a square wave. I saved the result out and converted it
to a raw data file using SoX (sox infile.wav -ub outfile.raw).

I put together a Ruby script (http://altaria.vm.bytemark.co.uk/
speccy_wire/decode.rb) to decode this into pulses rather naively - it
just counts the time taken to rise to 255 and back down to 0 again.
With a bit of statistics collecting and trial-and-error, I divided the
pulses into 'zero' bits (16 to 30 samples), 'one' bits (42 to 53
samples) and 'not-sure' bits (anything else). As suspected, this gave
me four blocks of (rather dirty) meaningful data, separated by long
runs of zeros.

I then fed this into a second Ruby script (http://
altaria.vm.bytemark.co.uk/speccy_wire/plot.rb) to plot the data in the
Spectrum screen layout Because each 'not-sure' bit is a potential
place where we're mis-counting bits, we can't measure the length of
any chunk with any real confidence, so I did a bit of hand-tuning
based on the assumption that the first 'one' bit after each long run
of zeros would occur at the same X position each time. I didn't know
whereabouts on the screen this would be (although in hindsight it's
pretty obviously going to be the far left) so I made the image 512
pixels wide (so the top character row would show the bits at offset
0...511, the next character row would show the bits at offset
256...767 and so on). This gave me plot.gif (http://
altaria.vm.bytemark.co.uk/speccy_wire/plot.gif)

On that plot I noticed some diagonal bands drifting to the right, and
the data covered slightly more than 5 pixel rows, which suggested that
I was over-counting the number of bits. There were a few places where
we had two consecutive 'not-sure' bits, so on a hunch, I tried
replacing each of these with a single 'not-sure' bit. The result is
plot2.gif (http://altaria.vm.bytemark.co.uk/speccy_wire/plot2.gif) - a
bit straighter, but still not brilliant. However... it may be my
imagination, or just seeing what I'm expecting to see, but is that the
rounded corner of an Ultimate logo I see (in the center)? I think we
may be looking at Sabre Wulf again."

J

unread,
Mar 20, 2008, 10:26:22 AM3/20/08
to
zxbruno wrote:
> replacing each of these with a single 'not-sure' bit. The result is
> plot2.gif (http://altaria.vm.bytemark.co.uk/speccy_wire/plot2.gif) - a
> bit straighter, but still not brilliant. [...]
Hi,

I've also been working on decoding this sound. I've used your test1 and
test2.wav because I've had some problems extracting the sound correctly.
I also used audacity to further process the clips, using normalize to
remove any dc component and leveler (at a very high setting) to remove
volume fluctuations. The original clip has an high background noise,
your clips are better, and I filtered them further.

I've wrote some python scripts to decode spectrum loading sounds. The
current script correctly decodes my test signals (generated from .scr,
not real tapes), but I'm not so sure it is handling the sound from the
video correctly. Here are my results:

Original size:
http://farm4.static.flickr.com/3179/2347065087_a7bd8456bb_o_d.png

Same image, just amplified:
http://farm3.static.flickr.com/2007/2347915492_356c083a08_o_d.png

I think I can see some structure, and I've seen the same structures in
the various experiments I've made, however it's hard to see anything.
Maybe someone can make head or tails out of it?

Also, can anyone upload a .wav recorded from a tape of a screen of a
known game? I don't have my tapes (nor a tape recorder, that is old
tech!) here. A .wav from a tape would be a better test for the decoding
software than cleanly generated signals.

I really hope we can solve this.

Regards,
João Silva

zxbruno

unread,
Mar 20, 2008, 6:48:12 PM3/20/08
to
Hi João (Português como eu?).

I've started the same thread at w.o.s.
Here's the link, in case you want to follow both threads.

http://www.worldofspectrum.org/forums/showthread.php?t=19932

qaopm

unread,
Mar 21, 2008, 1:13:19 PM3/21/08
to
zxbruno wrote:

> Quoting from a post made by Gasman on w.o.s.
>
> "Here's my attempt at making sense of it:

[snip]

> I think we may be looking at Sabre Wulf again."

He's right. Listen to this - Speccy in left channel, Wire clip in the
right.

http://www.divshare.com/download/4076262-791

This was from a Speedlocked version of Sabre Wulf which I had to pitch
down somewhat... I assume the sample on The Wire was from the original
pre-Speedlock release.

Lee

zxbruno

unread,
Mar 22, 2008, 3:09:52 AM3/22/08
to

Thanks!!!!!

Speccy loading noise on CBS and HBO. Who's next?

fuzzix

unread,
Mar 22, 2008, 8:22:09 PM3/22/08
to
zxbruno wrote:
> Quoting from a post made by Gasman on w.o.s.

Unbelievable... more bonus points for Gasman (as if he needs them!)

0 new messages