Engineering notes
Numbers from building karanow, including the paths that were measured and then abandoned. Everything here is reproducible against the app and the scripts in its repository.
- CoreML was 2.3× slower than the CPU — Moving a 1291-operator separation graph to the CoreML execution provider made it 622 ms instead of 268 ms.
- Why the budget threshold is 85%, not 100% — Real-time separation must finish 1.125 seconds of audio every 1.125 seconds.
- A pitch line has to be notes, not a curve — A frame-by-frame pitch curve holds still for one or two frames at a time.