Thread: Modulating Data into CD Audio

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered /usr
    Join Date
    Aug 2001
    Location
    Newport, South Wales, UK
    Posts
    1,273

    Lightbulb Modulating Data into CD Audio

    Hello,

    The first computer I ever touched was an Atari 65XE (no sniggering from the Commodore crowd, please...). Given that I was around 4 years old at the time, I was always fascinated by the way games were loaded from standard audio casettes. When you pressed play on the recorder, you could hear a somewhat uncomforting scratching sound, which was rhythmic. The tape always began with a continuous tone, then broke into stanzas of frantic scratching roughly every two seconds. After doing that for around 20 seconds, the Atari would then execute what was loaded.

    Years later I read about the Kansas City Standard, a more general form of what the Ataris had used. The baud rate wasn't particularly impressive, but I suppose given the tech at the time (floppy disks were around, but prohibitively expensive in the European market) it+tapes were the most intuitive storage solution.

    But what if we were in a similar situation now? If we were to pretend that all digitally-encoded random access data storage media (hard drives, memory cards, etc.) were too expensive for the mainstream, but we could record and play CD audio (we'll also pretend that the Yellow Book that defined CD-ROMs hasn't come out yet ), what is the maximum baud rate that could be encoded?

    For reference, in the late 90s we were able to get ~33.6kbps from a simple copper phone line that had a bandwidth of 3.1 kHz. Some DSP acrobatics were required for this (QAM had to be invented first, I think). Some later trickery that relied on the local telephone exchange being digital pushed that further towards 56kbps (don't think anyone actually got that outside of a lab).

    CD Audio has a bandwidth of around 20 kHz. I don't think this is as much as most broadband standards, but I would guess that it should be possible to encode hundreds of kilobits per second.

    Now you might be thinking "Right, you're an idiot, CD Audio is already encoded as PCM! Just store the data as raw PCM!" The problem with that is although you will indeed have a precise audio representation of the data, you can't actually play that to an audio receiver (e.g. the analogue line in on a sound card) and expect to be able to reconstruct the data. There's all sorts of issues with that. Remember that the reason audio tapes were used to store data was cost. The commodity equipment being used for playback cannot render that audio perfectly. The commodity equipment receiving that audio cannot receive every possible waveform. The basic filters employed in most sound cards completely kill samples that are not close to the middle of the band. That data will be neither played back or received.

    So, to come up with something similar to KCS for CD Audio, we will need to define most likely a QAM-based scheme that produces a modulation that sits roughly in the centre of the 20 kHz available (working on the basis of perhaps 16 kHz). Like KCS we will also want to employ packetization of the input data, perhaps with a checksum to verify the integrity of what was received. As CD Audio has two channels, we could combine the samples from both of them to potentially double our baud rate.

    Does all of this sound doable to you?
    Last edited by SMurf; 10-24-2014 at 02:48 PM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. How to transfer audio data in real time?
    By leetow2003 in forum Networking/Device Communication
    Replies: 6
    Last Post: 02-21-2012, 03:10 PM
  2. Replies: 5
    Last Post: 12-05-2011, 10:02 PM
  3. Reading in 16 and 24-bit audio data into (32-bit) integer buffers
    By theblindwatchma in forum C Programming
    Replies: 2
    Last Post: 04-13-2008, 11:12 PM
  4. How To Generate Audio Data From A Wav File
    By mrchu in forum C++ Programming
    Replies: 10
    Last Post: 03-06-2008, 03:00 PM
  5. Modulating sound volumes
    By Azrei in forum Game Programming
    Replies: 2
    Last Post: 01-07-2005, 04:51 PM