Loopback App Refresh Screen Pause Round-Trip\nLatency Test FX Disabled Loopback 2 Save Results Unzoom Zoom Out Zoom In About Recorder Player Frequency vs. Recorder Buffer Period (ms) Plot Frequency vs. Player Buffer Period (ms) Plot Buffer Period\n& Glitch Test Calibrate Sound Level Now Glitches Total Number of Glitches: In Full Settings Microphone Source DEFAULT MIC CAMCORDER VOICE_RECOGNITION VOICE_COMMUNICATION REMOTE_SUBMIX (Java only) UNPROCESSED (N or later) Performance Mode DEFAULT NONE LATENCY LATENCY_EFFECTS POWER_SAVING Test settings will appear here after the first test is run SETTINGS About Sampling Rate Round-trip audio latency testing app\n using the Dr. Rick O\'Rang audio loopback dongle.\n Authors: Ricardo Garcia (rago), Tzu-Yin Tai, and Brandon Swanson\n Open source project on:\n https://github.com/gkasten/drrickorang\n References:\n https://source.android.com/devices/audio/latency.html\n https://goo.gl/dxcw0d\n\n\n adb parameters: all parameters are optional. If not specified, defaults will be used.\n -ei SF \t\t\t\t\t\t\t\t\t\t\t\t ####\t\t sampling frequency \n -ei BS \t\t\t\t\t\t\t\t\t\t\t\t ####\t\t down sample block size \n -es Filename \t\t\t\t\t\t\t ssss\t\t\t output filename \n -ei MicSource \t\t\t\t\t\t\t ####\t\t microphone source\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 0: DEFAULT\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 1: MIC\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 2: CAMCORDER\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 3: VOICE_RECOGNITION\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 4: VOICE_COMMUNICATION\n -ei AudioThread \t\t\t\t\t ####\t\t Audio Thread Type\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 0: Java\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 1: Native (SLES)\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 2: Native (AAudio)\n -ei AudioLevel \t\t\t\t\t\t ####\t\t Audio Level [0:15]\n -ei RecorderBuffer \t\t\t\t ####\t\t Recorder Buffer Frames\n -ei PlayerBuffer \t\t\t\t\t\t ####\t\t Player Buffer Frames\n -ei TestType \t\t\t\t\t\t\t\t ####\t\t Audio Test Type\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 222: Latency Test\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 223: Buffer Test\n -ei BufferTestDuration \t ####\t\t Buffer Test Duration \n -ei NumLoadThreads \t ####\t\t Number of Simulated Load Threads (0 - 20) \n -ei CI \t ####\t\t Channel Index for USB Audio (0 - 8) \n -ez CaptureSysTrace \t ####\t\t enable/disable systrace and bugreport capturing \n -ez CaptureWavs \t ####\t\t enable/disable .wav file snippets capturing \n -ei NumCaptures \t ####\t\t Number of systrace/bugreport and/or wav snippets to capture \n -ei WaveDuration \t ####\t\t Duration in seconds of captured wave files \n\n\n Example: adb shell am start -n org.drrickorang.loopback/.LoopbackActivity \n --ei SF 48000 --es FileName output --ei MicSource 3 --ei AudioThread 1 --ei AudioLevel 12 --ei TestType 223 --ei BufferTestDuration 5 --ez CaptureWavs true --ei NumCaptures 5 8000 11025 22050 44100 48000 Audio Thread Type Java native (SLES) native (AAudio) Channel Index Mono 0 1 2 3 4 5 6 7 Player Buffer (Frames) (Max: %1$d) Recorder Buffer (Frames) (Max: %1$d) Compute Default Settings System Default Recorder Buffer Buffer Test Duration (Seconds) (Max: %1$d) Buffer Test Wave Plot Duration (Seconds) (Max: %1$d) Number of Simulated Load Threads Systrace Captures During Test BugReport Captures During Test Wav Snippet Captures During Test Calibrate sound level before latency test (experimental) Number of Systrace/BugReport and or Wav Snippets to Capture Frames to ignore at the start of the latency test (Max: %1$d) Save Files To: //mnt/sdcard/ Choose Filenames \n and Location Glitches and Callbacks over Time Compare All To use this feature it is necessary to launch a shell script on the Android device using ADB shell. This script is responsible for launching an asynchronous Systrace and writing its buffer to file when signaled by the Loopback App. \n\n At the completion of the audio glitch/buffer test the Loopback App will signal the script to exit so the script must be started before each test. \n\n The Loopback App places this script on the Android device when launched at \n /sdcard/Loopback/loopback_listener \n\n Trace Categories: The loopback_listener script takes as arguments the categories to be tracked in the Systrace. By default the sched and audio categories are included. For a list of available categories see\n developer.android.com/tools/help/systrace.html \n\n Example invocation:\n adb shell \"sh /sdcard/Loopback/loopback_listener load am\" This feature is highly experimental. It will try various volume levels until it picks one that it thinks is optimal. It has only been tested with the loopback plug and may fail completely in open air. Please disregard me.