#lang scribble/manual @(require (for-label racket)) @title{(zero-crossing in)} Zero crossing frequency follower. outputs a frequency based upon the distance between interceptions of the X axis. The X intercepts are determined via linear interpolation so this gives better than just integer wavelength resolution. This is a very crude pitch follower, but can be useful in some situations. in - input signal. @racketblock[ (let* ((a (mul (sin-osc ar (mul-add (sin-osc kr 1 0) 600 700) 0) 0.1)) (b (mul (impulse ar (zero-crossing a) 0) 0.25))) (audition (out 0 (mce2 a b)))) ]