diff options
author | CoprDistGit <infra@openeuler.org> | 2023-03-09 18:03:17 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-03-09 18:03:17 +0000 |
commit | 580429989e521c4b3c2360fc623f96351108ef7b (patch) | |
tree | ec850584a7b915a025c0674be0a71693b651564c /python-wavio.spec | |
parent | 40adc13da71695a0a4d77ea803d7cb3e0471c6bf (diff) |
automatic import of python-wavio
Diffstat (limited to 'python-wavio.spec')
-rw-r--r-- | python-wavio.spec | 217 |
1 files changed, 217 insertions, 0 deletions
diff --git a/python-wavio.spec b/python-wavio.spec new file mode 100644 index 0000000..893eef8 --- /dev/null +++ b/python-wavio.spec @@ -0,0 +1,217 @@ +%global _empty_manifest_terminate_build 0 +Name: python-wavio +Version: 0.0.7 +Release: 1 +Summary: A Python module for reading and writing WAV files using numpy arrays. +License: BSD +URL: https://github.com/WarrenWeckesser/wavio +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/32/94/92ea8799b0770cf5dd8e5424a47fd9f0465ec6e9f3c5837af4fb7ad72ee3/wavio-0.0.7.tar.gz +BuildArch: noarch + +Requires: python3-numpy + +%description +``wavio`` is a Python module that defines two functions: +* ``wavio.read`` reads a WAV file and returns an object that holds the + sampling rate, sample width (in bytes), and a numpy array containing the + data. +* ``wavio.write`` writes a numpy array to a WAV file, optionally using a + specified sample width. +The functions can read and write 8-, 16-, 24- and 32-bit integer WAV files. +The module uses the ``wave`` module in Python's standard library, so it has +the same limitations as that module. In particular, the ``wave`` module +does not support compressed WAV files, and it does not handle floating +point WAV files. When floating point data is passed to ``wavio.write`` it +is converted to integers before being written to the WAV file. +``wavio`` requires Python 3.7 or later. +``wavio`` depends on numpy (http://www.numpy.org). NumPy version 1.19.0 or +later is required. The unit tests in ``wavio`` require ``pytest``. +The API of the functions in ``wavio`` should not be considered stable. There +may be backwards-incompatible API changes between releases. +*Important notice* +In version 0.0.5, the data handling in ``wavio.write`` has been changed in +a backwards-incompatible way. The API for scaling the input in 0.0.4 was +a flexible interface that only its creator could love. The new API is +simpler, and it is hoped that it does the right thing by default in +most cases. In particular: +* When the input data is an integer type, the values are not scaled or + shifted. The only change that might happen is the data will be clipped + if the values do not fit in the output integer type. +* If the input data is a floating point type, ``sampwidth`` must be given. + The default behavior is to scale input values in the range [-1.0, 1.0] + to the output range [min_int+1, max_int], where min_int and max_int are + the minimum and maximum values of the output data type determined by + ``sampwidth``. See the description of ``scale`` in the docstring of + ``wavio.write`` for more options. Regardless of the value of ``scale``, + the float input 0.0 is always mapped to the midpoint of the output type; + ``wavio.write`` will not translate the values up or down. +* A warning is now generated if any data values are clipped. A parameter + allows the generation of the warning to be disabled or converted to an + exception. +Example +~~~~~~~ +The following code (also found in the docstring of ``wavio.write``) writes +a three second 440 Hz sine wave to a 24-bit WAV file:: + import numpy as np + import wavio + rate = 22050 # samples per second + T = 3 # sample duration (seconds) + n = int(rate*T) # number of samples + t = np.arange(n)/rate # grid of time values + f = 440.0 # sound frequency (Hz) + x = np.sin(2*np.pi * f * t) + +%package -n python3-wavio +Summary: A Python module for reading and writing WAV files using numpy arrays. +Provides: python-wavio +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-wavio +``wavio`` is a Python module that defines two functions: +* ``wavio.read`` reads a WAV file and returns an object that holds the + sampling rate, sample width (in bytes), and a numpy array containing the + data. +* ``wavio.write`` writes a numpy array to a WAV file, optionally using a + specified sample width. +The functions can read and write 8-, 16-, 24- and 32-bit integer WAV files. +The module uses the ``wave`` module in Python's standard library, so it has +the same limitations as that module. In particular, the ``wave`` module +does not support compressed WAV files, and it does not handle floating +point WAV files. When floating point data is passed to ``wavio.write`` it +is converted to integers before being written to the WAV file. +``wavio`` requires Python 3.7 or later. +``wavio`` depends on numpy (http://www.numpy.org). NumPy version 1.19.0 or +later is required. The unit tests in ``wavio`` require ``pytest``. +The API of the functions in ``wavio`` should not be considered stable. There +may be backwards-incompatible API changes between releases. +*Important notice* +In version 0.0.5, the data handling in ``wavio.write`` has been changed in +a backwards-incompatible way. The API for scaling the input in 0.0.4 was +a flexible interface that only its creator could love. The new API is +simpler, and it is hoped that it does the right thing by default in +most cases. In particular: +* When the input data is an integer type, the values are not scaled or + shifted. The only change that might happen is the data will be clipped + if the values do not fit in the output integer type. +* If the input data is a floating point type, ``sampwidth`` must be given. + The default behavior is to scale input values in the range [-1.0, 1.0] + to the output range [min_int+1, max_int], where min_int and max_int are + the minimum and maximum values of the output data type determined by + ``sampwidth``. See the description of ``scale`` in the docstring of + ``wavio.write`` for more options. Regardless of the value of ``scale``, + the float input 0.0 is always mapped to the midpoint of the output type; + ``wavio.write`` will not translate the values up or down. +* A warning is now generated if any data values are clipped. A parameter + allows the generation of the warning to be disabled or converted to an + exception. +Example +~~~~~~~ +The following code (also found in the docstring of ``wavio.write``) writes +a three second 440 Hz sine wave to a 24-bit WAV file:: + import numpy as np + import wavio + rate = 22050 # samples per second + T = 3 # sample duration (seconds) + n = int(rate*T) # number of samples + t = np.arange(n)/rate # grid of time values + f = 440.0 # sound frequency (Hz) + x = np.sin(2*np.pi * f * t) + +%package help +Summary: Development documents and examples for wavio +Provides: python3-wavio-doc +%description help +``wavio`` is a Python module that defines two functions: +* ``wavio.read`` reads a WAV file and returns an object that holds the + sampling rate, sample width (in bytes), and a numpy array containing the + data. +* ``wavio.write`` writes a numpy array to a WAV file, optionally using a + specified sample width. +The functions can read and write 8-, 16-, 24- and 32-bit integer WAV files. +The module uses the ``wave`` module in Python's standard library, so it has +the same limitations as that module. In particular, the ``wave`` module +does not support compressed WAV files, and it does not handle floating +point WAV files. When floating point data is passed to ``wavio.write`` it +is converted to integers before being written to the WAV file. +``wavio`` requires Python 3.7 or later. +``wavio`` depends on numpy (http://www.numpy.org). NumPy version 1.19.0 or +later is required. The unit tests in ``wavio`` require ``pytest``. +The API of the functions in ``wavio`` should not be considered stable. There +may be backwards-incompatible API changes between releases. +*Important notice* +In version 0.0.5, the data handling in ``wavio.write`` has been changed in +a backwards-incompatible way. The API for scaling the input in 0.0.4 was +a flexible interface that only its creator could love. The new API is +simpler, and it is hoped that it does the right thing by default in +most cases. In particular: +* When the input data is an integer type, the values are not scaled or + shifted. The only change that might happen is the data will be clipped + if the values do not fit in the output integer type. +* If the input data is a floating point type, ``sampwidth`` must be given. + The default behavior is to scale input values in the range [-1.0, 1.0] + to the output range [min_int+1, max_int], where min_int and max_int are + the minimum and maximum values of the output data type determined by + ``sampwidth``. See the description of ``scale`` in the docstring of + ``wavio.write`` for more options. Regardless of the value of ``scale``, + the float input 0.0 is always mapped to the midpoint of the output type; + ``wavio.write`` will not translate the values up or down. +* A warning is now generated if any data values are clipped. A parameter + allows the generation of the warning to be disabled or converted to an + exception. +Example +~~~~~~~ +The following code (also found in the docstring of ``wavio.write``) writes +a three second 440 Hz sine wave to a 24-bit WAV file:: + import numpy as np + import wavio + rate = 22050 # samples per second + T = 3 # sample duration (seconds) + n = int(rate*T) # number of samples + t = np.arange(n)/rate # grid of time values + f = 440.0 # sound frequency (Hz) + x = np.sin(2*np.pi * f * t) + +%prep +%autosetup -n wavio-0.0.7 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-wavio -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.7-1 +- Package Spec generated |