Augmented Code is concentrating on writing beautiful applications and games on iOS and macOS with performance and elegance in mind.
Signal Path is a beautiful and swift spectrum viewing app. It makes easy to look through hours worth of data finding interesting signal peaks in long recordings (computing spectrums is backed by SIMD and GPU (Metal)). In addition Signal Path allows recording audio data through microphone and supports FIFO channels for importing complex signal data from any source.
Control how spectrums are represented
Use FFT settings popover to change FFT lengths, window functions, data types, sample rates, center frequencies and frequency offsets.
Fast Fourier Transform lengths from 256 to 8192.
Record audio data
In addition to viewing recorded spectrums Signal Path supports recording audio data from a connected microphone.
Have fun discovering what is going on around you.
Compress and decompress data
Scale data by merging multiple spectrums into one or duplicate spectrums onto several lines enabling fine-grained look on the data.
Note: When merging multiple spectrums into one maximum spectrum points from the set are presented.
Automatic data type selection
Using a file name format _.iq Signal Path is able to automatically choose IQ data type when first time opening a file.
Supported data format descriptions in file names:
- i8, int8
- u8, uint8
- i16, int16
- u16, uint16
- i32, int32
- u32, uint32
Note: IQ data type selection is persistent and needs to be done only once.
FIFO channels for importing data
Signal Path supports FIFO channels for importing data from any source.
Create FIFO recording by using File->New FIFO Recording menu item.
File path to the channel can be conveniently copied using Edit->Copy FIFO Path menu item.
Easiest way of testing it out is by using Terminal command:
echo "$(cat /path/to/existing/file/containing/data)" > /path/to/fifo/channel
cat /path/to/existing/file/containing/data > /path/to/fifo/channel
Give it a try
Try out Signal Path with this example file.
Subscribe to RSS feed.
Dynamic type is a feature on iOS what allows users to customise size of the text on screen. Supporting dynamic type enables users with low vision condition to still use your app. It defines a set of APIs for getting font sizes matching with users text size choice in the settings. There are two ways …
UTIs come up pretty quickly when working with files. Unfortunately APIs used for checking for conformance and creating UTIs is pretty old and does not fit well into Swift ecosystem. Uniform Type Identifiers Uniform type identifiers define abstract data types what can be used to describe the type of an entity. Entities include pasteboard data, …
Printing object description Probably the most used command when debugging apps is po. It evaluates the expression and prints out the object description. When printing custom objects, it should be noted that the format of the result can be customised by implementing debugDescription in CustomDebugStringConvertible protocol. Modifying code in runtime LLDB’s expression command allows executing code when …