#!/bin/bash
perl -e '
for (my $c = 0; $c < 44100; $c++) {
    my $k = 1.2 * sin((1500) * $c * 22e-6); # steady tone
    # my $k = 1.0 * sin((1500 + $c/16e1) * $c * 22e-6); # rising tone
    #$k = 1 if $k > 1; $k = -1 if $k < -1; # clipping
    $k -= 2 if $k > 1; $k += 2 if $k < -1; # overflowing
    print pack "f", $k;
    #print $k, "\n";
} ' | sox -V -r 44100 -c 1 -b 32 -e floating-point -t raw - -c 2 -b 16 -t wav - trim 0 3 gain -1 dither \
> test.wav
