diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-wavio.spec | 217 | ||||
| -rw-r--r-- | sources | 1 | 
3 files changed, 219 insertions, 0 deletions
| @@ -0,0 +1 @@ +/wavio-0.0.7.tar.gz 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 @@ -0,0 +1 @@ +a1b6fc665b0fb439c0cce17340d04ebd  wavio-0.0.7.tar.gz | 
