Sorry, I thought it is happening with all USB audio devices used with Tessel 2.
Audio device that I am using: https://www.amazon.com/Blue-Icicle-XLR-Converter-Preamp/dp/B001EW5YQS
As soon as the script starts running it starts recording from audio device
mic.listen(['-f', 'S16_LE', '-c', 1, '-r', 44100, '-t', 'raw', file])
After 2 seconds raw file is being copied
cp.spawn('cp', [file, fileCopy])
Audio is saved only on Tessel 2 internal storage.
Now 2 more seconds will pass and this far recorded audio in original file is all good.
As a next step, that copy we made is being uploaded to server using https://github.com/request/request
After 2 more seconds recording will be stopped and original recording is being uploaded also.
Copied file is 2 seconds long and all good
Original file will turn very crunchy from the time uploading starts till uploading ends.
exmaple.js (1.1 KB)