summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-10 19:52:11 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-10 19:52:11 +0000
commit23dd4629bc29a7ce531e7be3bf3cf06cdd810df8 (patch)
tree455bf96fdda3a7c4c3056ee8e45ce2943349a6af
parentf5e59b85dd8e349d43bf6b24a455ce9e1f7971be (diff)
automatic import of python-pyloudnorm
-rw-r--r--.gitignore1
-rw-r--r--python-pyloudnorm.spec426
-rw-r--r--sources1
3 files changed, 428 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..edf4340 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pyloudnorm-0.1.1.tar.gz
diff --git a/python-pyloudnorm.spec b/python-pyloudnorm.spec
new file mode 100644
index 0000000..23bd42a
--- /dev/null
+++ b/python-pyloudnorm.spec
@@ -0,0 +1,426 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pyloudnorm
+Version: 0.1.1
+Release: 1
+Summary: Implementation of ITU-R BS.1770-4 loudness algorithm in Python.
+License: MIT
+URL: https://github.com/csteinmetz1/pyloudnorm
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/75/b5/39d59c44ecd828fabfdbd796b50a561e6543ca90ef440ab307374f107856/pyloudnorm-0.1.1.tar.gz
+BuildArch: noarch
+
+Requires: python3-scipy
+Requires: python3-numpy
+Requires: python3-future
+
+%description
+
+# pyloudnorm [![Build Status](https://travis-ci.org/csteinmetz1/pyloudnorm.svg?branch=master)](https://travis-ci.org/csteinmetz1/pyloudnorm) ![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.3551801.svg)
+Flexible audio loudness meter in Python.
+
+Implementation of [ITU-R BS.1770-4](https://www.itu.int/dms_pubrec/itu-r/rec/bs/R-REC-BS.1770-4-201510-I!!PDF-E.pdf). <br/>
+Allows control over gating block size and frequency weighting filters for additional control.
+
+For full details on the implementation see our [paper](https://csteinmetz1.github.io/pyloudnorm-eval/paper/pyloudnorm_preprint.pdf) with a summary in our [AES presentation video](https://www.youtube.com/watch?v=krSJpQ3d4gE).
+
+## Installation
+You can install with pip as follows
+```
+pip install pyloudnorm
+```
+
+For the latest releases always install from the GitHub repo
+```
+pip install git+https://github.com/csteinmetz1/pyloudnorm
+```
+## Usage
+
+### Find the loudness of an audio file
+It's easy to measure the loudness of a wav file.
+Here we use PySoundFile to read a .wav file as an ndarray.
+```python
+import soundfile as sf
+import pyloudnorm as pyln
+
+data, rate = sf.read("test.wav") # load audio (with shape (samples, channels))
+meter = pyln.Meter(rate) # create BS.1770 meter
+loudness = meter.integrated_loudness(data) # measure loudness
+```
+
+### Loudness normalize and peak normalize audio files
+Methods are included to normalize audio files to desired peak values or desired loudness.
+```python
+import soundfile as sf
+import pyloudnorm as pyln
+
+data, rate = sf.read("test.wav") # load audio
+
+# peak normalize audio to -1 dB
+peak_normalized_audio = pyln.normalize.peak(data, -1.0)
+
+# measure the loudness first
+meter = pyln.Meter(rate) # create BS.1770 meter
+loudness = meter.integrated_loudness(data)
+
+# loudness normalize audio to -12 dB LUFS
+loudness_normalized_audio = pyln.normalize.loudness(data, loudness, -12.0)
+```
+
+### Advanced operation
+A number of alternate weighting filters are available, as well as the ability to adjust the analysis block size.
+Examples are shown below.
+```python
+import soundfile as sf
+import pyloudnorm as pyln
+from pyloudnorm import IIRfilter
+
+data, rate = sf.read("test.wav") # load audio
+
+# block size
+meter1 = pyln.Meter(rate) # 400ms block size
+meter2 = pyln.Meter(rate, block_size=0.200) # 200ms block size
+
+# filter classes
+meter3 = pyln.Meter(rate) # BS.1770 meter
+meter4 = pyln.Meter(rate, filter_class="DeMan") # fully compliant filters
+meter5 = pyln.Meter(rate, filter_class="Fenton/Lee 1") # low complexity improvement by Fenton and Lee
+meter6 = pyln.Meter(rate, filter_class="Fenton/Lee 2") # higher complexity improvement by Fenton and Lee
+meter7 = pyln.Meter(rate, filter_class="Dash et al.") # early modification option
+
+# create your own IIR filters
+my_high_pass = IIRfilter(0.0, 0.5, 20.0, rate, 'high_pass')
+my_high_shelf = IIRfilter(2.0, 0.7, 1525.0, rate, 'high_shelf')
+
+# create a meter initialized without filters
+meter8 = pyln.Meter(rate, filter_class="custom")
+
+# load your filters into the meter
+meter8._filters = {'my_high_pass' : my_high_pass, 'my_high_shelf' : my_high_shelf}
+
+```
+
+## Dependancies
+- **SciPy** ([https://www.scipy.org/](https://www.scipy.org/))
+- **NumPy** ([http://www.numpy.org/](http://www.numpy.org/))
+
+
+## Citation
+If you use pyloudnorm in your work please consider citing us.
+```
+@inproceedings{steinmetz2021pyloudnorm,
+ title={pyloudnorm: {A} simple yet flexible loudness meter in Python},
+ author={Steinmetz, Christian J. and Reiss, Joshua D.},
+ booktitle={150th AES Convention},
+ year={2021}}
+```
+
+## References
+
+> Ian Dash, Luis Miranda, and Densil Cabrera, "[Multichannel Loudness Listening Test](http://www.aes.org/e-lib/browse.cfm?elib=14581),"
+> 124th International Convention of the Audio Engineering Society, May 2008
+
+> Pedro D. Pestana and Álvaro Barbosa, "[Accuracy of ITU-R BS.1770 Algorithm in Evaluating Multitrack Material](http://www.aes.org/e-lib/online/browse.cfm?elib=16608),"
+> 133rd International Convention of the Audio Engineering Society, October 2012
+
+> Pedro D. Pestana, Josh D. Reiss, and Álvaro Barbosa, "[Loudness Measurement of Multitrack Audio Content Using Modifications of ITU-R BS.1770](http://www.aes.org/e-lib/browse.cfm?elib=16714),"
+> 134th International Convention of the Audio Engineering Society, May 2013
+
+> Steven Fenton and Hyunkook Lee, "[Alternative Weighting Filters for Multi-Track Program Loudness Measurement](http://www.aes.org/e-lib/browse.cfm?elib=19215),"
+> 143rd International Convention of the Audio Engineering Society, October 2017
+
+> Brecht De Man, "[Evaluation of Implementations of the EBU R128 Loudness Measurement](http://www.aes.org/e-lib/browse.cfm?elib=19790),"
+> 145th International Convention of the Audio Engineering Society, October 2018.
+
+
+
+%package -n python3-pyloudnorm
+Summary: Implementation of ITU-R BS.1770-4 loudness algorithm in Python.
+Provides: python-pyloudnorm
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pyloudnorm
+
+# pyloudnorm [![Build Status](https://travis-ci.org/csteinmetz1/pyloudnorm.svg?branch=master)](https://travis-ci.org/csteinmetz1/pyloudnorm) ![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.3551801.svg)
+Flexible audio loudness meter in Python.
+
+Implementation of [ITU-R BS.1770-4](https://www.itu.int/dms_pubrec/itu-r/rec/bs/R-REC-BS.1770-4-201510-I!!PDF-E.pdf). <br/>
+Allows control over gating block size and frequency weighting filters for additional control.
+
+For full details on the implementation see our [paper](https://csteinmetz1.github.io/pyloudnorm-eval/paper/pyloudnorm_preprint.pdf) with a summary in our [AES presentation video](https://www.youtube.com/watch?v=krSJpQ3d4gE).
+
+## Installation
+You can install with pip as follows
+```
+pip install pyloudnorm
+```
+
+For the latest releases always install from the GitHub repo
+```
+pip install git+https://github.com/csteinmetz1/pyloudnorm
+```
+## Usage
+
+### Find the loudness of an audio file
+It's easy to measure the loudness of a wav file.
+Here we use PySoundFile to read a .wav file as an ndarray.
+```python
+import soundfile as sf
+import pyloudnorm as pyln
+
+data, rate = sf.read("test.wav") # load audio (with shape (samples, channels))
+meter = pyln.Meter(rate) # create BS.1770 meter
+loudness = meter.integrated_loudness(data) # measure loudness
+```
+
+### Loudness normalize and peak normalize audio files
+Methods are included to normalize audio files to desired peak values or desired loudness.
+```python
+import soundfile as sf
+import pyloudnorm as pyln
+
+data, rate = sf.read("test.wav") # load audio
+
+# peak normalize audio to -1 dB
+peak_normalized_audio = pyln.normalize.peak(data, -1.0)
+
+# measure the loudness first
+meter = pyln.Meter(rate) # create BS.1770 meter
+loudness = meter.integrated_loudness(data)
+
+# loudness normalize audio to -12 dB LUFS
+loudness_normalized_audio = pyln.normalize.loudness(data, loudness, -12.0)
+```
+
+### Advanced operation
+A number of alternate weighting filters are available, as well as the ability to adjust the analysis block size.
+Examples are shown below.
+```python
+import soundfile as sf
+import pyloudnorm as pyln
+from pyloudnorm import IIRfilter
+
+data, rate = sf.read("test.wav") # load audio
+
+# block size
+meter1 = pyln.Meter(rate) # 400ms block size
+meter2 = pyln.Meter(rate, block_size=0.200) # 200ms block size
+
+# filter classes
+meter3 = pyln.Meter(rate) # BS.1770 meter
+meter4 = pyln.Meter(rate, filter_class="DeMan") # fully compliant filters
+meter5 = pyln.Meter(rate, filter_class="Fenton/Lee 1") # low complexity improvement by Fenton and Lee
+meter6 = pyln.Meter(rate, filter_class="Fenton/Lee 2") # higher complexity improvement by Fenton and Lee
+meter7 = pyln.Meter(rate, filter_class="Dash et al.") # early modification option
+
+# create your own IIR filters
+my_high_pass = IIRfilter(0.0, 0.5, 20.0, rate, 'high_pass')
+my_high_shelf = IIRfilter(2.0, 0.7, 1525.0, rate, 'high_shelf')
+
+# create a meter initialized without filters
+meter8 = pyln.Meter(rate, filter_class="custom")
+
+# load your filters into the meter
+meter8._filters = {'my_high_pass' : my_high_pass, 'my_high_shelf' : my_high_shelf}
+
+```
+
+## Dependancies
+- **SciPy** ([https://www.scipy.org/](https://www.scipy.org/))
+- **NumPy** ([http://www.numpy.org/](http://www.numpy.org/))
+
+
+## Citation
+If you use pyloudnorm in your work please consider citing us.
+```
+@inproceedings{steinmetz2021pyloudnorm,
+ title={pyloudnorm: {A} simple yet flexible loudness meter in Python},
+ author={Steinmetz, Christian J. and Reiss, Joshua D.},
+ booktitle={150th AES Convention},
+ year={2021}}
+```
+
+## References
+
+> Ian Dash, Luis Miranda, and Densil Cabrera, "[Multichannel Loudness Listening Test](http://www.aes.org/e-lib/browse.cfm?elib=14581),"
+> 124th International Convention of the Audio Engineering Society, May 2008
+
+> Pedro D. Pestana and Álvaro Barbosa, "[Accuracy of ITU-R BS.1770 Algorithm in Evaluating Multitrack Material](http://www.aes.org/e-lib/online/browse.cfm?elib=16608),"
+> 133rd International Convention of the Audio Engineering Society, October 2012
+
+> Pedro D. Pestana, Josh D. Reiss, and Álvaro Barbosa, "[Loudness Measurement of Multitrack Audio Content Using Modifications of ITU-R BS.1770](http://www.aes.org/e-lib/browse.cfm?elib=16714),"
+> 134th International Convention of the Audio Engineering Society, May 2013
+
+> Steven Fenton and Hyunkook Lee, "[Alternative Weighting Filters for Multi-Track Program Loudness Measurement](http://www.aes.org/e-lib/browse.cfm?elib=19215),"
+> 143rd International Convention of the Audio Engineering Society, October 2017
+
+> Brecht De Man, "[Evaluation of Implementations of the EBU R128 Loudness Measurement](http://www.aes.org/e-lib/browse.cfm?elib=19790),"
+> 145th International Convention of the Audio Engineering Society, October 2018.
+
+
+
+%package help
+Summary: Development documents and examples for pyloudnorm
+Provides: python3-pyloudnorm-doc
+%description help
+
+# pyloudnorm [![Build Status](https://travis-ci.org/csteinmetz1/pyloudnorm.svg?branch=master)](https://travis-ci.org/csteinmetz1/pyloudnorm) ![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.3551801.svg)
+Flexible audio loudness meter in Python.
+
+Implementation of [ITU-R BS.1770-4](https://www.itu.int/dms_pubrec/itu-r/rec/bs/R-REC-BS.1770-4-201510-I!!PDF-E.pdf). <br/>
+Allows control over gating block size and frequency weighting filters for additional control.
+
+For full details on the implementation see our [paper](https://csteinmetz1.github.io/pyloudnorm-eval/paper/pyloudnorm_preprint.pdf) with a summary in our [AES presentation video](https://www.youtube.com/watch?v=krSJpQ3d4gE).
+
+## Installation
+You can install with pip as follows
+```
+pip install pyloudnorm
+```
+
+For the latest releases always install from the GitHub repo
+```
+pip install git+https://github.com/csteinmetz1/pyloudnorm
+```
+## Usage
+
+### Find the loudness of an audio file
+It's easy to measure the loudness of a wav file.
+Here we use PySoundFile to read a .wav file as an ndarray.
+```python
+import soundfile as sf
+import pyloudnorm as pyln
+
+data, rate = sf.read("test.wav") # load audio (with shape (samples, channels))
+meter = pyln.Meter(rate) # create BS.1770 meter
+loudness = meter.integrated_loudness(data) # measure loudness
+```
+
+### Loudness normalize and peak normalize audio files
+Methods are included to normalize audio files to desired peak values or desired loudness.
+```python
+import soundfile as sf
+import pyloudnorm as pyln
+
+data, rate = sf.read("test.wav") # load audio
+
+# peak normalize audio to -1 dB
+peak_normalized_audio = pyln.normalize.peak(data, -1.0)
+
+# measure the loudness first
+meter = pyln.Meter(rate) # create BS.1770 meter
+loudness = meter.integrated_loudness(data)
+
+# loudness normalize audio to -12 dB LUFS
+loudness_normalized_audio = pyln.normalize.loudness(data, loudness, -12.0)
+```
+
+### Advanced operation
+A number of alternate weighting filters are available, as well as the ability to adjust the analysis block size.
+Examples are shown below.
+```python
+import soundfile as sf
+import pyloudnorm as pyln
+from pyloudnorm import IIRfilter
+
+data, rate = sf.read("test.wav") # load audio
+
+# block size
+meter1 = pyln.Meter(rate) # 400ms block size
+meter2 = pyln.Meter(rate, block_size=0.200) # 200ms block size
+
+# filter classes
+meter3 = pyln.Meter(rate) # BS.1770 meter
+meter4 = pyln.Meter(rate, filter_class="DeMan") # fully compliant filters
+meter5 = pyln.Meter(rate, filter_class="Fenton/Lee 1") # low complexity improvement by Fenton and Lee
+meter6 = pyln.Meter(rate, filter_class="Fenton/Lee 2") # higher complexity improvement by Fenton and Lee
+meter7 = pyln.Meter(rate, filter_class="Dash et al.") # early modification option
+
+# create your own IIR filters
+my_high_pass = IIRfilter(0.0, 0.5, 20.0, rate, 'high_pass')
+my_high_shelf = IIRfilter(2.0, 0.7, 1525.0, rate, 'high_shelf')
+
+# create a meter initialized without filters
+meter8 = pyln.Meter(rate, filter_class="custom")
+
+# load your filters into the meter
+meter8._filters = {'my_high_pass' : my_high_pass, 'my_high_shelf' : my_high_shelf}
+
+```
+
+## Dependancies
+- **SciPy** ([https://www.scipy.org/](https://www.scipy.org/))
+- **NumPy** ([http://www.numpy.org/](http://www.numpy.org/))
+
+
+## Citation
+If you use pyloudnorm in your work please consider citing us.
+```
+@inproceedings{steinmetz2021pyloudnorm,
+ title={pyloudnorm: {A} simple yet flexible loudness meter in Python},
+ author={Steinmetz, Christian J. and Reiss, Joshua D.},
+ booktitle={150th AES Convention},
+ year={2021}}
+```
+
+## References
+
+> Ian Dash, Luis Miranda, and Densil Cabrera, "[Multichannel Loudness Listening Test](http://www.aes.org/e-lib/browse.cfm?elib=14581),"
+> 124th International Convention of the Audio Engineering Society, May 2008
+
+> Pedro D. Pestana and Álvaro Barbosa, "[Accuracy of ITU-R BS.1770 Algorithm in Evaluating Multitrack Material](http://www.aes.org/e-lib/online/browse.cfm?elib=16608),"
+> 133rd International Convention of the Audio Engineering Society, October 2012
+
+> Pedro D. Pestana, Josh D. Reiss, and Álvaro Barbosa, "[Loudness Measurement of Multitrack Audio Content Using Modifications of ITU-R BS.1770](http://www.aes.org/e-lib/browse.cfm?elib=16714),"
+> 134th International Convention of the Audio Engineering Society, May 2013
+
+> Steven Fenton and Hyunkook Lee, "[Alternative Weighting Filters for Multi-Track Program Loudness Measurement](http://www.aes.org/e-lib/browse.cfm?elib=19215),"
+> 143rd International Convention of the Audio Engineering Society, October 2017
+
+> Brecht De Man, "[Evaluation of Implementations of the EBU R128 Loudness Measurement](http://www.aes.org/e-lib/browse.cfm?elib=19790),"
+> 145th International Convention of the Audio Engineering Society, October 2018.
+
+
+
+%prep
+%autosetup -n pyloudnorm-0.1.1
+
+%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-pyloudnorm -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..593a35c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+e320557e8a4fb72fca22f3d3f18b9c2d pyloudnorm-0.1.1.tar.gz