Using C and the Accelerate signal processing framework:
int numSamples = 1024; short *samples = malloc(numSamples * sizeof(short)); int convLen = numSamples * sizeof(float); float *convertedSamples = malloc(convLen); // convert 16 bit ints to 32 bit floats vDSP_vflt16(samples, 1, convertedSamples, 1, numSamples); // normalize to -1.0/1.0 range float div = 32767.0; vDSP_vsdiv(convertedSamples, 1, &div, convertedSamples, 1, numSamples); // ... do something with convertedSamples