Integrate Sound Into Your Next Project

Companies use CUE’s acoustic modem for applications as diverse as proximity awareness, wayfinding, AR, and IoT. By licensing our acoustic modem, CUE aims to improve communication standards everywhere through a secure, reliable alternative to WiFi, Bluetooth, and Cell Service. Any device with a microphone or speaker can transmit and receive data offline, and devices previously disconnected from the Internet of Things can now cost-effectively communicate.

Use Cases

Proximity Detection & Wayfinding

Eliminate hardware costs and maintenance of proximity beacons on-site. For example, use location-aware "smart soundtracks" to detect when a user enters the region.

Ticketing, Payments & Authentication

Send ultrasonic payloads to enable peer-to-peer (P2P) frictionless financial exchanges using microphones and speakers already available on mobile devices.

Offline Data Transfer

Broadcast arbitrary data payloads from any speaker to any nearby microphone without reliance on WiFi, Bluetooth, or Cell Service.

Seemless Pairing

Any device with a microphone or speaker can synchronize and exchange data like a WiFi password or a customer identifier.

Comparison Chart

See how CUE stacks up to alternative communications solutions

Supports all devices, new and old
Supports two way communications
Supports sending to many devices at once
Broadcasts confined to rooms
Zero pairing, setup, or config

Our Technology

CUE is used at over 800 live events annually. Operating routinely in the largest of stadiums and arenas with NFL, NCAA, and Fortune 500 partners, CUE has an intimate understanding of high-stakes environments in which, due to heavy load and saturation, network connectivity is prone to failure while coordination of mobile devices is in high demand.

CUE has implemented an infrastructure of ultrasound at venues around the world, synchronizing crowds of up to 120,000 and making our Live Event Product Suite possible. We've accomplished this with a success rate of 100%, all while only making use of existing speaker infrastructure -- no additional hardware required.

Integrate in Minutes

CUE is the best and easiest software platform for offline data exchange using audio. Millions of users engage with our acoustic modem on a variety of projects. See how we can help you with your next project.

    #import <engine/AudioSession.h>
    #import <engine/CUEEngine.h>

    if( ! [AudioSession setup] ) {
        NSLog( @"Error setting up AudioSession" );
    [CUEEngine.sharedInstance setupWithAPIKey:API_KEY];

    [CUEEngine.sharedInstance setReceiverCallback:
         ^void( NSString* jsonString )
             NSLog(@"Detected ultrasonic payload with JSON: %@", jsonString);
    # Determine the Java command to use to start the JVM.
    if [ -n "$JAVA_HOME" ] ; then
        if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
            # IBM's JDK on AIX uses strange locations for the executables
        if [ ! -x "$JAVACMD" ] ; then
            die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
    #import <engine/AudioSession.h>
    #import <engine/CUEEngine.h>

    if( ! [AudioSession setup] ) {
        NSLog( @"Error setting up AudioSession" );
    [CUEEngine.sharedInstance setupWithAPIKey:API_KEY];

    [CUEEngine.sharedInstance setReceiverCallback:
         ^void( NSString* jsonString )
             NSLog(@"Detected ultrasonic payload with JSON: %@", jsonString);
    if( ! AudioSession.setup() ) {
        print("Error setting up AudioSession" );
    let instance = CUEEngine.sharedInstance() as! CUEEngine
    instance.setup(withAPIKey: API_KEY)

    instance.setReceiverCallback() { (json: Optional) -> () in
                guard let json = json else { return }
                //convert json string to dictionary
                let data = .utf8)
                do {
                    let cueJson = try JSONSerialization.jsonObject(with: data! , options: []) as? [String: Any]
                    print("Detected ultrasonic payload with JSON: \(cueJson)")
                } catch {
    CUEEngine.getInstance().setupWithAPIKey(this, API_KEY);

    CUEEngine.getInstance().setReceiverCallback(new CUEReceiverCallbackInterface() {
                public void run(@NonNull String json) {
                    final CUETrigger model = CUETrigger.parse(json);
                    Log.i(TAG, "Detected ultrasonic payload with JSON: " + model);
    CUEEngine.getInstance().setupWithAPIKey(this, API_KEY)
    CUEEngine.getInstance().setReceiverCallback(object : CUEReceiverCallbackInterface() {
        fun run(json: String) {
            val model: CUETrigger = CUETrigger.parse(json)
            Log.i(TAG, "Detected ultrasonic payload with JSON: $model")

Quick Download CUE Live App

Scan the QR code or enter your phone number to download.

Footer wave flourishExported from Sketch