Project Details


AmI Main Steps

Sound Track will have the ability to track a user’s location and movement.

The system will use this location data to determine the speaker system nearest to the user.

Sound Track will seamlessly shift the user’s audio (podcast, music, audiobook, etc) to the nearest available speaker system.

The system will have an interface that provides controls for initial setup, preferences, notifications explaining why an action was automatically performed with the option to override, and active controls such as volume and possibly standard media controls (i.e. previous track, next track, pause/play, etc.).


AmI Features

Sound Track will track a user’s location and movement throughout their living space.

The system will respond in real time to changes in a user’s location.

Sound Track will adapt to various users’ preferences and various situations during use (for example, lowering the volume if it detects people talking).

Sound Track will allow a user’s audio to seamlessly follow them throughout their living space with minimal effort from the user.

Sound Track will support the user’s existing speaker systems.

The system will be able to intelligently respond to a variety of situations, such as tracking multiple users or lowering volume for quiet areas (for example, rooms where people may be sleeping or making phone calls).


Purpose and Scope

The goal of the system is to improve the user experience of listening to audio content while moving through various areas of their living space. Sound Track accomplishes this by routing the output(s) of existing audio sources to existing audio outputs such that the user is able to move freely around their living space while enjoying a seamless listening experience.

Sound Track is meant to stream existing audio output from other applications and devices and route to other existing speakers and devices. It is not the media player software nor the speaker.


Project Features

Priority 1

  1. Continuous tracking of user’s location
  2. Correlating location data to appropriate playback device
  3. Routing audio streams
  4. Software-based audio capture and playback Windows-based systems
  5. Software-based audio capture on Android-based mobile systems

Priority 2

  1. Hardware-based audio playback to standalone speaker systems
  2. Handling for multiple users and their playback preferences
  3. Software-based audio capture and playback on iOS
  4. Management via webapp control panel

Priority 3

  1. Hardware-based audio capture from non-computer/mobile sources
  2. Software-based audio capture and playback on Linux, macOS-based systems

System Architecture

system architecture diagram

Hardware

Central Server. Maintains Preference and Speaker Location databases, routes audio. Connects to audio capture and playback devices.

Location beacons/trackers. Stationary components for locating users in living space.

Supported existing audio playback devices (i.e. speakers). Receives and plays audio from Central Server.

Supported existing audio sources. Sends audio to Central Server.

On-person tracking (may be the same as audio source, also potentially optional). Mobile component for locating users in living space.

Software

WebApp control panel for playback preference management. Runs on Central Server. User interacts through mobile or computer device. Interacts with system via a preference database.

Database Management System for user(s) settings regarding music playback and initial setup, and for correlation between location information and audio playback devices. Runs on Central Server. WebApp control panel saves settings to database, while audio stream routing utilizes info in database.

Audio capture and streaming for all supported source device platforms OR utilize existing audio streaming protocols common on supported platforms. Runs on Central Server.

Audio stream routing. Utilizes location information and playback device correlation database to send user’s audio stream to appropriate playback device.

Supplementary data collection for any data potentially relevant to decision-making. Sends data to central server for eventual decision-making. Most likely would target mobile platforms.

Network

Central Server, tracking devices, audio sources and audio playback devices connect via LAN/WLAN.


Selected Components

Hardware

3x min. Estimote beacons

3x min. Raspberry Pi

2x min. Speakers

1x min. Windows computer

Software

MariaDB 10.2 Series


Open Issues

Whichever audio streaming solution we choose to use will determine which platforms we will be able to support.

Writing standalone apps for each platform will allow us to fully use that platform’s resources (i.e. audio stream(s), native music control), but this will introduce a good deal of complexity to the system.

Writing a one-size-fits-all web app for all platforms to use will cost far less time and resources, at the expense of having less access to each platform’s resources.

How to deal with hardware/software not working as expected (or at all).