Em cada segundo, você grava 44100 quadros (ou qualquer taxa de amostragem definida).
Basta adicionar o número de frames lidos e parar quando tiver gravado 60 * 44100 deles:
total = 0
while total < 60 * 44100:
l, data = inp.read()
if l:
total += l
f.write(data)
time.sleep(.001)