add soundfile read/write unitest

pull/2/head
Luo Tao 7 years ago
parent 7d7984b8fb
commit b72b70e54c

1
.gitignore vendored

@ -1 +0,0 @@
thirdparty

@ -10,19 +10,21 @@ if [ $? != 0 ]; then
fi
# install package libsndfile
DIR="$( cd "$(dirname "$0")" ; pwd -P )"
mkdir thirdparty
curl -O "http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.28.tar.gz"
python -c "import soundfile"
if [ $? != 0 ]; then
echo "Download libsndfile-1.0.28.tar.gz failed !!!"
exit 1
echo "Install package libsndfile into default system path."
curl -O "http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.28.tar.gz"
if [ $? != 0 ]; then
echo "Download libsndfile-1.0.28.tar.gz failed !!!"
exit 1
fi
tar -zxvf libsndfile-1.0.28.tar.gz
cd libsndfile-1.0.28
./configure && make && make install
cd ..
rm -rf libsndfile-1.0.28
rm libsndfile-1.0.28.tar.gz
fi
tar -zxvf libsndfile-1.0.28.tar.gz
cd libsndfile-1.0.28
./configure --prefix=$DIR/thirdparty/libsndfile && make && make install
cd ..
rm -rf libsndfile-1.0.28
rm libsndfile-1.0.28.tar.gz
# prepare ./checkpoints
mkdir checkpoints

@ -1,11 +1,22 @@
"""Test Setup."""
import unittest
import numpy as np
import os
class TestSetup(unittest.TestCase):
# test the installation of libsndfile library
def test_soundfile(self):
import soundfile
import soundfile as sf
# floating point data is typically limited to the interval [-1.0, 1.0],
# but smaller/larger values are supported as well
data = np.array([[1.75, -1.75], [1.0, -1.0], [0.5, -0.5],
[0.25, -0.25]])
file = 'test.wav'
sf.write(file, data, 44100, format='WAV', subtype='FLOAT')
read, fs = sf.read(file)
assert np.all(read == data)
assert fs == 44100
os.remove(file)
if __name__ == '__main__':

Loading…
Cancel
Save