City Frquencies logo

Development

Previously we have looked into some audio Android apps that use a base API 8, but from 2015 onwards this limit is upgraded to API 18, Android 4.3. Several test devices are to be used, a Samsung Galaxy S4 mini (API 18) and a Galaxy S5(API 22) where both will either use onboard hardware, or may utilise a USB powered addition providing USB host mode is available.

The intention is for the software to investigate the use of various libraries to create software synths that will install on our target devices. Ultimately we would like to create a suite of audio performance apps from basic synths to some that manipulate sound derived from a microphone source.

Research and development of an app to listen and record audio in the near ultra high frequency range of 18kHz to 22kHz is progressing throughout 2016-18. The first app, PilferShush Jammer, is available on Google Play now.

ELEVATOR 17

Elevator 17 on Google Play
The release of Elevator 17 as version 1.0.5 took place on 10th September 2012. An update to version 1.1.0 was released two days later which made the media player a background service. The final version of Elevator 17 is 1.2.0 and has updates to the UI and behaviour that are more expected of a media player.
Elevator 17 screen
A finite audio and slide show app that plays an mp3 file recorded during our live performance inside Elevator 17 from the Manchester Unity building at 226 Collins St. The slide show consists of photos taken during the construction of our battery powered sound system hidden in office style cases and all of the 35 elevators we toured during the Fringe Festival.

Audio: 41:14 min @ 128kbps - 40MB
Photos: 179 @ 320 X 240 - 2.3MB
Permission: MediaPlayer partial wake lock
Status : release version 1.2.0

For any custom ROMs it has been noted that large apk files from Google Play can bring up an insuffient space on device error. This can be overcome with the installation of MarketFix which requires root access and moves the market cache to the sdcard(Tested on the ZTE V9).

IMS 5

IMS 5 on Google Play
Incidental Melody Synth Five is designed to test a puredata patch running on Android and as such the focus is on giving the audio component priority on low powered devices running the minimum API. The latest version, 1.2, has some improvements to the interface via some custom classes that can be used in future synths.
Elevator 17 screen
This synth is designed to provide a means to gauge the performance on our test devices and is limited to a simple 8-step sequencer, octave multiplier, saw oscillator, minimal ADSR controls, filter/delay/phaser controls and several different interface controls of sliders, buttons and some XY trackpads.

The priority is to reduce any processing needed to draw the interface to its minimum and then provide some benchmarking to determine whether the current hardware and software combination will provided something usable and musical. With the right settings it is proving to be a funky little synth module.

Several changes have been made to the initial design with the second synth component, a 3 voice poly synth, being dropped as it was causing the test device to use 100% processor and slowed it down for other events. The other major change is the inclusion of popup dialog boxes that contain the sequencer and timer controls, allowing all interfaces to be drawn to a larger size.

Size: 1.05 MB
Permission: none
Status : release version 1.2

CFP RECORDER


AudioDSP screen
Proof-of-Concept: using the TarsosDSP library for an Android app using API 18 to record near-ultra high frequencies. Either using the onboard microphone of the Samsung Galaxy S5 test device or an attached USB audio dongle, this app records audio using an optional high pass filter, for example: above 15kHZ sound. An optional threshold gate is also available.

The intention is to use this app for investigating signals that may surround the user within the city (CBD) environment for the purpose of constructing an audible analogue as well as any possible use by advertising on television that can communicate to a listening app on a users phone.

This capability has a noted API (23) android.media.property.SUPPORT_MIC_NEAR_ULTRASOUND, as well as being remarked upon in media : Ars Technica

CFP ULTRA


CFP_Ultra is a proof-of-concept and research application.
CFP_Ultra screen
Using API 18 to listen and record near ultra-high frequencies via the device microphone, parse frequencies stepped by 75 Hz into alphabet characters as a means to allow messages to be received by the device from audio beacons. Audio is transmitted between 18kHz and 20kHz.

This app may be versioned for submission to an app store at the end of 2016.

LITTLE SIR ECHO

Little Sir Echo on Google Play
Little Sir Echo is a background app that listens only for sms or mms notifications that appear. It then triggers a repeat notification after a set time and continues to do so until the user views the sms or removes any sms notifications.
Little Sir Echo screen
Available for devices with Android 4.3 onwards (API 18) it will only trigger if the notification package contains "sms" or "mms" in it's name, ie. stock is com.android.mms. A simple setting for awake hours constrain Little Sir Echo to repeat notifications within user selected hours. Defaults apply for this and all other settings.

No information is gathered by this app (other than the package name check for sms or mms) nor are there any data logging capabilities of any kind. A wakelock is used to allow Little Sir Echo to repeat reminders that are set, this prevents the device from entering deep sleep. This version is strictly limited in capabilities but may be updated to allow for notification package name detection and setting, replacement of wakelock with alarm implementation, override on/off switch and limit number of repeats.

PILFERSHUSH JAMMER

PilferShush Jammer on F-Droid PilferShush Jammer on Google Play
PilferShush Jammer blocks other apps attempting to utilise the microphone without your knowledge. Some apps use hidden processes to record tracking audio in the background that is either generated by nearby beacons, television commercials, streamed music services or websites. This tracking audio is transmitted between 18 kHz and 22 kHz (near ultra high frequency) which is beyond the range of typical human hearing but within the recording range of a typical Android phone.
PilferShush Jammer screenshot running
To block unwanted use of the microphone by hidden app processes, PilferShush Jammer requests use of the hardware microphone from the Android system and holds it. This technique locks up the microphone from any other apps attempting to gain access to it. This technique has been tested only on user apps, not system apps. The Android system should halt PilferShush Jammer from blocking the microphone whenever a phone call is received or made.

When the jamming technique is running and the microphone is locked up, PilferShush Jammer posts a notification to keep the user informed that it is running. Tests have shown that it uses 0% CPU, 0% network and 43.6mb RAM when running for over an hour.

It requires RECORD_AUDIO permission so that it may access and lock up the microphone.
It does NOT record or listen to any audio. It does NOT connect to the internet.

Updated version (2.x) includes an Active Jammer function that emits NUHF tones between 18kHz - 24kHz in a random pattern centered on a carrier frequency and within a specified limit.

Latest release APK and source code is available here: Github

PILFERSHUSH

research application



PilferShush listens for ultra-high frequencies, like the ones utilized by ultrasonic trackers such as SilverPush, Alphonso, Lisnr, Shopkick, Signal360, and Fidzup. These signals are transmitted for purposes such as location tracking and consumer advertising. Near-Ultrasonic frequencies can be emitted from devices as small and covert as Internet-of-Things devices, or over retail speakers and bluetooth beacons.
PilferShush screenshot post capture
PilferShush app also includes background scanners for intermittent polling of microphone use (triggers exceptions via AUDIO_FOCUS, etc), scanning user apps for known package names used by audio beacon SDKs as well as RECORD_AUDIO, BOOT, receivers and services.

Future functions will include a near-ultrasonic audio jammer, USB audio and current Android API inclusions.