Detect speed of DC motor electrically
Theoretically, it is possible to use brush noise of a DC motor to assess rotational speed. Brush noise is AC, so a high-pass filter plus an envelope detector would give you a pulse for every commutation.

However, these pulses will vary in amplitude and duration, so counting them will be a challenge. The character of the noise will be constantly changing as microscopic defects in the brushes wear out, while new irregularities get exposed. Any dirt on the collector will induce arcing as well, generating extra pulses you'll have to find a way to ignore. At higher speeds such pulses will overlap, making counting practically impossible. Plus, this method will be incompatible with traditional PWM motor control, because you will be feeding your DC motor with AC in the first place.

A related (albeit different) concept called Brushed-Motor Ripple Counter can be applied to motors where brushes are large enough to short two poles together, and the detection is based on changes in inductance rather than switching noise. That method appears to be reliable enough to be useful (but if you go though the experimental results you will see that the detection sometimes skips a position or two), but it most likely won't work with hobby-grade motors.