0

I’m looking for a command-line tool that can play audio from a file at a specified rate and pitch, preserving the rate-pitch ratio. That is, playback with a control analogous to the turntable speed on a record player.

(I don’t want to process audio with time-stretching algorithms that control tempo and pitch independently. The audio doesn’t need to be processed—just played back at a different rate. Time-stretching audio with equal rate- and pitch-ratios with tools such as rubberband is not real-time and still exhibits artifacting.)

Is there a tool that can do this in real time which works on OS X?


This is not a duplicate of questions like Programmatically change the playback speed (NOT pitch) in real-time. I’m having trouble finding such a tool because most tools assume you want independent control of rate and pitch at the cost of sonic artifacts.

Jollywatt
  • 101
  • 2
  • I think `sox` can do that, but I've never used it on osx. `sox InputFile test.wave tempo Factor`. Have you looked at that? – Cupcake Protocol Sep 08 '18 at 03:03
  • Yes; doing `sox InputFile -d tempo Factor` changes speed without affecting pitch. Doing `sox InputFile -d tempo TFactor pitch PFactor`, where `PFactor = 1200*log2(TFactor)` (converting a multiplicative factor to cents) is almost what I want, but sox still time-bends and pitch-bends in two steps, resulting in “choppy” distortions. – Jollywatt Sep 08 '18 at 23:38

0 Answers0