Looking around at other people's solutions - I found they'd return a large value on the first tap if left alone for a while, so I made this little tap tempo with a timeout that resets it.
TapTempo_timeout.pd
I like its immediacy so haven't added averaging or anything, open to improvements!
- 
				
				
				
				Tap Tempo 
 
- 
				
				
				
				just converting the final output to a bpm would be the biggest improvement I could see 
 
					