Hiding, transmitting and retrieving an URL through audio

This website describes the project assigned and developed during the course of Didactic Laboratory of Information Engineering held by prof. Riccardo Bernardini as part of the Master Degree in Electronic Engineering at University of Udine.

Project Specifications

The aim of this project is to develop a system in which a text, in particular a web URL, has to be embedded in an audio track. When this is being played, a device records the audio and the URL has to be recovered, so the relative website can be opened and displayed.

Two main constraint were given:

  • The audio containing the embedded URL shouldn't sound different from the original audio without it
  • The system has to work with commercial devices (TV, PC, tablet, smartphone, ...), so no special hardware has to be used

The major application that was given is the second screen: while watching a programme on a TV, PC, ... a user may get information about it on his device (smartphone, tablet, PC, ...) directly, almost on real time, without searching for them.

Image not found! The second screen - A user can get information about the program he's watching: an URL is transmitted through audio, the user's device records it, recovers the URL and displays the website.

What was done

To have a working system, there are two things to do:

  • Encode the URL and embed it in the audio. This part has to be done by the ones who produce or distribute the audio content.
  • Record the audio that is being played and recover the URL. This part has to be done by the user.

A simplified system has been developed. As the video component doesn't play any role, in this implementation only audio components have been considered, in particular only stereo tracks. The URL is just recovered, and not displayed. Furthermore, some more simplifications have been taken (see System for more details). Also, a Matlab prototype has been developed to implement and test the system (see Sources).

Image not found! The simplified system: a device processes the URL to transmit, embedding it in an audio file, and plays it through two speakers. Another device records this sound, processes it and recovers the URL.

The resulting system is capable of working well, provided that some conditions are met: if this is not the case, the URL may not be recovered correctly (see Testing for more details). Some more investigations should be made to address these faulty situations. In any case, the main problems are that audio waves are very different from radio waves that are typically used and the devices that are to be used to play the audio or capture it are not designed for this application.

The code that was written is not optimized. Future development would be to develop an optimized program and a mobile app that records audio, gets the URL and displays it.