Augmented Code is concentrating on writing beautiful applications and games on iOS and macOS with performance and elegance in mind.
SignalPath 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 SignalPath 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 SignalPath 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 SignalPath 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
SignalPath 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 SignalPath out with this example file.
In this post we will go over basic usage of generics in Swift by building a simple singly linked list. Introduction to generics Generic code is code where the functionality is described without using specific types. Meaning, the code can use any types what match with constraints (if there are any). It’s best to take …
In this blog post we are going to look into how to share UI code between view controllers using protocol extension. Problem setup Let’s say we have two view controllers: one showing a list of items and another one showing items in a collection view. In iOS development it is common to use UITableViewController and …
CoreData is a framework for managing object graphs and storing them on disk. It is much more than just offering a persistent storage, therefore the rich API it provides, is meant to be used app-wide. In this blog post we’ll look into how to initialise CoreData storage, store some data in it and fetching it. …