Blog entry

Low-cost, normalized, floating point conversions on a microprocessor

Posted by admin on January 5, 2008

For continuously valued sensor data it is advantageous for the stream to be formatted as the floating point type in a normalized bounded interval, so that the numeric format is invariant with respect to the bit depth of the stream.

We take the unit interval to be [0, 1], and use the conversion formula for x in n bits, y = x / (2^n - 1).

Blog entry

Design of the uOSC Firmware

Posted by admin on January 4, 2008

# Memory Organization

2048 bytes of RAM plus stack.
Lots of program memory, can be used for const strings.

# Core state machine

1. Trigger or interrupt on USB SOF.
2. While remaining time to next SOF
- Endpoint Zero service
- Stall, error detect
- Class specific control requests
- Class specific endpoint handlers
- Interrupt
- Isochronous
- Bulk

Blog entry

USB Overview

Posted by admin on January 4, 2008

- Protocol Design
- Host-centric Control
- Synchronous 1khz frame rate (* 8 microframes for High-speed)
- Integrated power management, enumeration, etc.

- Descriptor
- USB Version, capabilities, power, etc
- Device ID -- Product ID / Vendor ID / Serial number
- Configurations, interfaces, class definitions

- Device Control

Blog entry

USB Class Overview

Posted by admin on January 4, 2008

- USB Serial:
- The CDC ACM is a serial port with AT modem control.
- Data endpoint must be Bulk.
- Can be fast if the bus is idle.

- USB Network:
- The CDC ECM is an ethernet packet stream with network control.
- Device generates a partial IP header. No source, no checksum.
- Device must have a unique MAC address.
- Bulk data endpoint is common.

Blog entry

Address Space of the uOSC Device

Posted by admin on January 4, 2008

uOSC or "micro OSC" is my current working title for the dirt-cheap-OSC-platform development effort currently targeting the Microchip PIC18F.

The following documents the use of Open Sound Control to communicate with the device.

# Session Initiation

Blog entry

Microchip Errata

Posted by admin on January 4, 2008

The PIC18F Revision A3 hardware has a buggy SIE (the USB controller) with timing issues that require a firmware workaround. Rev A3 SIE also has bad silicon in the ping-pong buffering mode-2 (PPM2), but we don't miss it -- uOSC is PPM3 with all endpoinds double-buffered including the control endpoint.

Blog entry

Subspace Patch 12-20-2007

Posted by Eric Battenberg on December 20, 2007

Here is the latest version of the max/msp/jitter subspace interpolation patch to be used with a multi-band compressor. It should work with any number of parameters and any number of presets.

To use it, the current parameters must be sent in a max "list" to "s params\_list". Interpolated and recalled parameter lists are output from "p space" and "p neural\_net" respectively.

Blog entry

What about a Spherical Hearing Model ?

Posted by Franz Zotter on December 17, 2007

In my opinion the experiment to evaluate the perceptual noticeable differences / modulations of directive sources includes too many parameters. There is magnitude directivity (modulated / differing in orientation or coefficients), phase directivity (modulated / differing in orientation or coefficients). A further question is: if the difference is being tested: should it be an absolute difference to an omnidirectional source, a difference to a pattern of different resolution, a pattern of different orientation, magnitude, or phase....

# Splitting the system up into subsystems #