flamo 0.2.8__tar.gz → 0.2.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. {flamo-0.2.8 → flamo-0.2.10}/PKG-INFO +6 -6
  2. {flamo-0.2.8 → flamo-0.2.10}/README.md +5 -5
  3. {flamo-0.2.8 → flamo-0.2.10}/flamo/functional.py +1 -1
  4. {flamo-0.2.8 → flamo-0.2.10}/flamo/processor/dsp.py +77 -0
  5. {flamo-0.2.8 → flamo-0.2.10}/pyproject.toml +1 -1
  6. {flamo-0.2.8 → flamo-0.2.10}/.gitignore +0 -0
  7. {flamo-0.2.8 → flamo-0.2.10}/2025_FLAMO_ICASSP_DalSantoDeBortoli_poster.pdf +0 -0
  8. {flamo-0.2.8 → flamo-0.2.10}/LICENSE +0 -0
  9. {flamo-0.2.8 → flamo-0.2.10}/examples/e0_siso.py +0 -0
  10. {flamo-0.2.8 → flamo-0.2.10}/examples/e1_mimo.py +0 -0
  11. {flamo-0.2.8 → flamo-0.2.10}/examples/e1_vn.py +0 -0
  12. {flamo-0.2.8 → flamo-0.2.10}/examples/e2_chaining_filters.py +0 -0
  13. {flamo-0.2.8 → flamo-0.2.10}/examples/e3_series_class.py +0 -0
  14. {flamo-0.2.8 → flamo-0.2.10}/examples/e4_recursion.py +0 -0
  15. {flamo-0.2.8 → flamo-0.2.10}/examples/e4_recursion_nn.py +0 -0
  16. {flamo-0.2.8 → flamo-0.2.10}/examples/e5_shell.py +0 -0
  17. {flamo-0.2.8 → flamo-0.2.10}/examples/e6_anti_aliasing.py +0 -0
  18. {flamo-0.2.8 → flamo-0.2.10}/examples/e7_biquad.py +0 -0
  19. {flamo-0.2.8 → flamo-0.2.10}/examples/e7_biquad_nn.py +0 -0
  20. {flamo-0.2.8 → flamo-0.2.10}/examples/e7_geq.py +0 -0
  21. {flamo-0.2.8 → flamo-0.2.10}/examples/e7_peq.py +0 -0
  22. {flamo-0.2.8 → flamo-0.2.10}/examples/e7_svf.py +0 -0
  23. {flamo-0.2.8 → flamo-0.2.10}/examples/e8_active_acoustics.py +0 -0
  24. {flamo-0.2.8 → flamo-0.2.10}/examples/e8_colorless_fdn.py +0 -0
  25. {flamo-0.2.8 → flamo-0.2.10}/examples/e8_colorless_sfdn.py +0 -0
  26. {flamo-0.2.8 → flamo-0.2.10}/examples/e8_fdn.py +0 -0
  27. {flamo-0.2.8 → flamo-0.2.10}/examples/e9_loss_profile.py +0 -0
  28. {flamo-0.2.8 → flamo-0.2.10}/examples/run_all.py +0 -0
  29. {flamo-0.2.8 → flamo-0.2.10}/flamo/__init__.py +0 -0
  30. {flamo-0.2.8 → flamo-0.2.10}/flamo/auxiliary/__init__.py +0 -0
  31. {flamo-0.2.8 → flamo-0.2.10}/flamo/auxiliary/config/config.py +0 -0
  32. {flamo-0.2.8 → flamo-0.2.10}/flamo/auxiliary/eq.py +0 -0
  33. {flamo-0.2.8 → flamo-0.2.10}/flamo/auxiliary/filterbank.py +0 -0
  34. {flamo-0.2.8 → flamo-0.2.10}/flamo/auxiliary/minimize.py +0 -0
  35. {flamo-0.2.8 → flamo-0.2.10}/flamo/auxiliary/reverb.py +0 -0
  36. {flamo-0.2.8 → flamo-0.2.10}/flamo/auxiliary/scattering.py +0 -0
  37. {flamo-0.2.8 → flamo-0.2.10}/flamo/auxiliary/velvet.py +0 -0
  38. {flamo-0.2.8 → flamo-0.2.10}/flamo/optimize/__init__.py +0 -0
  39. {flamo-0.2.8 → flamo-0.2.10}/flamo/optimize/dataset.py +0 -0
  40. {flamo-0.2.8 → flamo-0.2.10}/flamo/optimize/loss.py +0 -0
  41. {flamo-0.2.8 → flamo-0.2.10}/flamo/optimize/surface.py +0 -0
  42. {flamo-0.2.8 → flamo-0.2.10}/flamo/optimize/trainer.py +0 -0
  43. {flamo-0.2.8 → flamo-0.2.10}/flamo/optimize/utils.py +0 -0
  44. {flamo-0.2.8 → flamo-0.2.10}/flamo/processor/__init__.py +0 -0
  45. {flamo-0.2.8 → flamo-0.2.10}/flamo/processor/system.py +0 -0
  46. {flamo-0.2.8 → flamo-0.2.10}/flamo/utils.py +0 -0
  47. {flamo-0.2.8 → flamo-0.2.10}/notebooks/e7_biquad.ipynb +0 -0
  48. {flamo-0.2.8 → flamo-0.2.10}/notebooks/e8_colorless_fdn.ipynb +0 -0
  49. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic1_speaker1.wav +0 -0
  50. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic1_speaker10.wav +0 -0
  51. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic1_speaker11.wav +0 -0
  52. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic1_speaker12.wav +0 -0
  53. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic1_speaker13.wav +0 -0
  54. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic1_speaker14.wav +0 -0
  55. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic1_speaker2.wav +0 -0
  56. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic1_speaker3.wav +0 -0
  57. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic1_speaker5.wav +0 -0
  58. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic1_speaker6.wav +0 -0
  59. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic1_speaker7.wav +0 -0
  60. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic1_speaker8.wav +0 -0
  61. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic1_speaker9.wav +0 -0
  62. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic2_speaker1.wav +0 -0
  63. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic2_speaker10.wav +0 -0
  64. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic2_speaker11.wav +0 -0
  65. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic2_speaker12.wav +0 -0
  66. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic2_speaker13.wav +0 -0
  67. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic2_speaker14.wav +0 -0
  68. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic2_speaker2.wav +0 -0
  69. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic2_speaker3.wav +0 -0
  70. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic2_speaker5.wav +0 -0
  71. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic2_speaker6.wav +0 -0
  72. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic2_speaker7.wav +0 -0
  73. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic2_speaker8.wav +0 -0
  74. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic2_speaker9.wav +0 -0
  75. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic3_speaker1.wav +0 -0
  76. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic3_speaker10.wav +0 -0
  77. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic3_speaker11.wav +0 -0
  78. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic3_speaker12.wav +0 -0
  79. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic3_speaker13.wav +0 -0
  80. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic3_speaker14.wav +0 -0
  81. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic3_speaker2.wav +0 -0
  82. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic3_speaker3.wav +0 -0
  83. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic3_speaker5.wav +0 -0
  84. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic3_speaker6.wav +0 -0
  85. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic3_speaker7.wav +0 -0
  86. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic3_speaker8.wav +0 -0
  87. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic3_speaker9.wav +0 -0
  88. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic4_speaker1.wav +0 -0
  89. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic4_speaker10.wav +0 -0
  90. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic4_speaker11.wav +0 -0
  91. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic4_speaker12.wav +0 -0
  92. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic4_speaker13.wav +0 -0
  93. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic4_speaker14.wav +0 -0
  94. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic4_speaker2.wav +0 -0
  95. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic4_speaker3.wav +0 -0
  96. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic4_speaker5.wav +0 -0
  97. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic4_speaker6.wav +0 -0
  98. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic4_speaker7.wav +0 -0
  99. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic4_speaker8.wav +0 -0
  100. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic4_speaker9.wav +0 -0
  101. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic5_speaker1.wav +0 -0
  102. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic5_speaker10.wav +0 -0
  103. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic5_speaker11.wav +0 -0
  104. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic5_speaker12.wav +0 -0
  105. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic5_speaker13.wav +0 -0
  106. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic5_speaker14.wav +0 -0
  107. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic5_speaker2.wav +0 -0
  108. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic5_speaker3.wav +0 -0
  109. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic5_speaker5.wav +0 -0
  110. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic5_speaker6.wav +0 -0
  111. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic5_speaker7.wav +0 -0
  112. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic5_speaker8.wav +0 -0
  113. {flamo-0.2.8 → flamo-0.2.10}/rirs/Otala-2024.05.10/mic5_speaker9.wav +0 -0
  114. {flamo-0.2.8 → flamo-0.2.10}/rirs/arni_35_3541_4_2.wav +0 -0
  115. {flamo-0.2.8 → flamo-0.2.10}/rirs/s3_r4_o.wav +0 -0
  116. {flamo-0.2.8 → flamo-0.2.10}/sphinx/Makefile +0 -0
  117. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/auxiliary/eq.doctree +0 -0
  118. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/auxiliary/filterbank.doctree +0 -0
  119. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/auxiliary/minimize.doctree +0 -0
  120. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/auxiliary/reverb.doctree +0 -0
  121. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/auxiliary/scattering.doctree +0 -0
  122. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/environment.pickle +0 -0
  123. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/functional.doctree +0 -0
  124. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/index.doctree +0 -0
  125. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/optimize/dataset.doctree +0 -0
  126. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/optimize/loss.doctree +0 -0
  127. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/optimize/trainer.doctree +0 -0
  128. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/optimize/utils.doctree +0 -0
  129. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/processor/dsp.doctree +0 -0
  130. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/doctrees/processor/system.doctree +0 -0
  131. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/.buildinfo +0 -0
  132. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/.buildinfo.bak +0 -0
  133. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/.nojekyll +0 -0
  134. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_sources/auxiliary/eq.rst.txt +0 -0
  135. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_sources/auxiliary/filterbank.rst.txt +0 -0
  136. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_sources/auxiliary/minimize.rst.txt +0 -0
  137. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_sources/auxiliary/reverb.rst.txt +0 -0
  138. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_sources/auxiliary/scattering.rst.txt +0 -0
  139. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_sources/functional.rst.txt +0 -0
  140. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_sources/index.rst.txt +0 -0
  141. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_sources/optimize/dataset.rst.txt +0 -0
  142. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_sources/optimize/loss.rst.txt +0 -0
  143. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_sources/optimize/trainer.rst.txt +0 -0
  144. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_sources/optimize/utils.rst.txt +0 -0
  145. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_sources/processor/dsp.rst.txt +0 -0
  146. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_sources/processor/system.rst.txt +0 -0
  147. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  148. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/alabaster.css +0 -0
  149. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/basic.css +0 -0
  150. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/badge_only.css +0 -0
  151. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  152. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  153. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  154. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  155. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  156. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  157. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  158. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  159. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  160. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  161. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  162. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/lato-bold.woff +0 -0
  163. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  164. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  165. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  166. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/lato-normal.woff +0 -0
  167. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  168. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/css/theme.css +0 -0
  169. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/custom.css +0 -0
  170. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/doctools.js +0 -0
  171. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/documentation_options.js +0 -0
  172. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/file.png +0 -0
  173. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-bold.eot +0 -0
  174. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
  175. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-bold.woff +0 -0
  176. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  177. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  178. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  179. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  180. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  181. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-italic.eot +0 -0
  182. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
  183. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-italic.woff +0 -0
  184. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  185. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-regular.eot +0 -0
  186. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
  187. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-regular.woff +0 -0
  188. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  189. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  190. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  191. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  192. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  193. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  194. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  195. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  196. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  197. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/github-banner.svg +0 -0
  198. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/jquery.js +0 -0
  199. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/js/badge_only.js +0 -0
  200. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/js/theme.js +0 -0
  201. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/js/versions.js +0 -0
  202. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/language_data.js +0 -0
  203. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/minus.png +0 -0
  204. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/plus.png +0 -0
  205. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/pygments.css +0 -0
  206. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/scripts/bootstrap.js +0 -0
  207. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/scripts/bootstrap.js.LICENSE.txt +0 -0
  208. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/scripts/bootstrap.js.map +0 -0
  209. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/scripts/fontawesome.js +0 -0
  210. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/scripts/fontawesome.js.LICENSE.txt +0 -0
  211. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/scripts/fontawesome.js.map +0 -0
  212. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/scripts/pydata-sphinx-theme.js +0 -0
  213. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/scripts/pydata-sphinx-theme.js.map +0 -0
  214. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/searchtools.js +0 -0
  215. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/sphinx_highlight.js +0 -0
  216. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/styles/pydata-sphinx-theme.css +0 -0
  217. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/styles/pydata-sphinx-theme.css.map +0 -0
  218. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/styles/theme.css +0 -0
  219. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.ttf +0 -0
  220. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  221. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.ttf +0 -0
  222. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  223. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.ttf +0 -0
  224. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  225. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/_static/webpack-macros.html +0 -0
  226. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/auxiliary/eq.html +0 -0
  227. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/auxiliary/filterbank.html +0 -0
  228. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/auxiliary/minimize.html +0 -0
  229. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/auxiliary/reverb.html +0 -0
  230. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/auxiliary/scattering.html +0 -0
  231. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/functional.html +0 -0
  232. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/genindex.html +0 -0
  233. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/index.html +0 -0
  234. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/objects.inv +0 -0
  235. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/optimize/dataset.html +0 -0
  236. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/optimize/loss.html +0 -0
  237. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/optimize/trainer.html +0 -0
  238. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/optimize/utils.html +0 -0
  239. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/processor/dsp.html +0 -0
  240. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/processor/system.html +0 -0
  241. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/search.html +0 -0
  242. {flamo-0.2.8 → flamo-0.2.10}/sphinx/_build/html/searchindex.js +0 -0
  243. {flamo-0.2.8 → flamo-0.2.10}/sphinx/auxiliary/eq.rst +0 -0
  244. {flamo-0.2.8 → flamo-0.2.10}/sphinx/auxiliary/filterbank.rst +0 -0
  245. {flamo-0.2.8 → flamo-0.2.10}/sphinx/auxiliary/minimize.rst +0 -0
  246. {flamo-0.2.8 → flamo-0.2.10}/sphinx/auxiliary/reverb.rst +0 -0
  247. {flamo-0.2.8 → flamo-0.2.10}/sphinx/auxiliary/scattering.rst +0 -0
  248. {flamo-0.2.8 → flamo-0.2.10}/sphinx/conf.py +0 -0
  249. {flamo-0.2.8 → flamo-0.2.10}/sphinx/functional.rst +0 -0
  250. {flamo-0.2.8 → flamo-0.2.10}/sphinx/index.rst +0 -0
  251. {flamo-0.2.8 → flamo-0.2.10}/sphinx/make.bat +0 -0
  252. {flamo-0.2.8 → flamo-0.2.10}/sphinx/optimize/dataset.rst +0 -0
  253. {flamo-0.2.8 → flamo-0.2.10}/sphinx/optimize/loss.rst +0 -0
  254. {flamo-0.2.8 → flamo-0.2.10}/sphinx/optimize/trainer.rst +0 -0
  255. {flamo-0.2.8 → flamo-0.2.10}/sphinx/optimize/utils.rst +0 -0
  256. {flamo-0.2.8 → flamo-0.2.10}/sphinx/processor/dsp.rst +0 -0
  257. {flamo-0.2.8 → flamo-0.2.10}/sphinx/processor/system.rst +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flamo
3
- Version: 0.2.8
3
+ Version: 0.2.10
4
4
  Summary: An Open-Source Library for Frequency-Domain Differentiable Audio Processing
5
5
  Project-URL: Homepage, https://github.com/gdalsanto/flamo
6
6
  Project-URL: Issues, https://github.com/gdalsanto/flamo/issues
@@ -50,7 +50,7 @@ Description-Content-Type: text/markdown
50
50
 
51
51
  Open-source library for frequency-domain differentiable audio processing.
52
52
 
53
- It contains differentiable implementation of common LTI audio systems modules with learnable parameters.
53
+ It contains differentiable implementation of common LTI audio system modules with learnable parameters.
54
54
 
55
55
  ---
56
56
 
@@ -58,7 +58,7 @@ It contains differentiable implementation of common LTI audio systems modules wi
58
58
 
59
59
  Available differentiable audio signal processors - in `flamo.processor.dsp`:
60
60
  - **Gains** : Gains, Matrices, Householder Matrices
61
- - **Filters** : Biquads, State Variable Filters (SVF), Graphic Equalizers (GEQ), Parametric Equiliers (PEQ - not released yet)
61
+ - **Filters** : Biquads, State Variable Filters (SVF), Graphic Equalizers (GEQ), Parametric Equalizers (PEQ - not released yet)
62
62
  - **Delays** : Integer Delays, Fractional Delays
63
63
 
64
64
  Transforms - in `flamo.processor.dsp`:
@@ -77,7 +77,7 @@ Optimization - in `flamo.optimize`:
77
77
  ---
78
78
 
79
79
  ### 🛠️ Installation
80
- To install it via pip, on a new python virtual environment `flamo-env`
80
+ To install it via pip, on a new Python virtual environment `flamo-env`
81
81
  ```shell
82
82
  python3.10 -m venv .flamo-env
83
83
  source .flamo-env/bin/activate
@@ -91,7 +91,7 @@ pip install flamo
91
91
  conda install -c conda-forge libsndfile
92
92
  ```
93
93
 
94
- For local installation: clone and install dependencies on a new pyton virtual environment `flamo-env`
94
+ For local installation: clone and install dependencies on a new Python virtual environment `flamo-env`
95
95
  ```shell
96
96
  git clone https://github.com/gdalsanto/flamo
97
97
  cd flamo
@@ -160,7 +160,7 @@ model = system.Shell(core=filt, input_layer=input_layer, output_layer=output_lay
160
160
  estimation_init = model.get_freq_response()
161
161
  ````
162
162
 
163
- Set up optimization framework and launch it. The `Trainer` class is used to contain the model, training parameters, and training/valid steps in one class.
163
+ Set up the optimization framework and launch it. The `Trainer` class is used to contain the model, training parameters, and training/valid steps in one class.
164
164
 
165
165
  ```python
166
166
  input = signal_gallery(1, n_samples=nfft, n=in_ch, signal_type='impulse', fs=fs)
@@ -3,7 +3,7 @@
3
3
 
4
4
  Open-source library for frequency-domain differentiable audio processing.
5
5
 
6
- It contains differentiable implementation of common LTI audio systems modules with learnable parameters.
6
+ It contains differentiable implementation of common LTI audio system modules with learnable parameters.
7
7
 
8
8
  ---
9
9
 
@@ -11,7 +11,7 @@ It contains differentiable implementation of common LTI audio systems modules wi
11
11
 
12
12
  Available differentiable audio signal processors - in `flamo.processor.dsp`:
13
13
  - **Gains** : Gains, Matrices, Householder Matrices
14
- - **Filters** : Biquads, State Variable Filters (SVF), Graphic Equalizers (GEQ), Parametric Equiliers (PEQ - not released yet)
14
+ - **Filters** : Biquads, State Variable Filters (SVF), Graphic Equalizers (GEQ), Parametric Equalizers (PEQ - not released yet)
15
15
  - **Delays** : Integer Delays, Fractional Delays
16
16
 
17
17
  Transforms - in `flamo.processor.dsp`:
@@ -30,7 +30,7 @@ Optimization - in `flamo.optimize`:
30
30
  ---
31
31
 
32
32
  ### 🛠️ Installation
33
- To install it via pip, on a new python virtual environment `flamo-env`
33
+ To install it via pip, on a new Python virtual environment `flamo-env`
34
34
  ```shell
35
35
  python3.10 -m venv .flamo-env
36
36
  source .flamo-env/bin/activate
@@ -44,7 +44,7 @@ pip install flamo
44
44
  conda install -c conda-forge libsndfile
45
45
  ```
46
46
 
47
- For local installation: clone and install dependencies on a new pyton virtual environment `flamo-env`
47
+ For local installation: clone and install dependencies on a new Python virtual environment `flamo-env`
48
48
  ```shell
49
49
  git clone https://github.com/gdalsanto/flamo
50
50
  cd flamo
@@ -113,7 +113,7 @@ model = system.Shell(core=filt, input_layer=input_layer, output_layer=output_lay
113
113
  estimation_init = model.get_freq_response()
114
114
  ````
115
115
 
116
- Set up optimization framework and launch it. The `Trainer` class is used to contain the model, training parameters, and training/valid steps in one class.
116
+ Set up the optimization framework and launch it. The `Trainer` class is used to contain the model, training parameters, and training/valid steps in one class.
117
117
 
118
118
  ```python
119
119
  input = signal_gallery(1, n_samples=nfft, n=in_ch, signal_type='impulse', fs=fs)
@@ -992,7 +992,7 @@ def find_onset(rir: torch.Tensor):
992
992
  # extract local energy envelope
993
993
  win_len = 64
994
994
  overlap = 0.75
995
- win = torch.hann_window(win_len)
995
+ win = torch.hann_window(win_len, dtype=rir.dtype, device=rir.device)
996
996
 
997
997
  # pad rir
998
998
  rir = torch.nn.functional.pad(rir, (int(win_len * overlap), int(win_len * overlap)))
@@ -3520,3 +3520,80 @@ class GainDelay(DSP):
3520
3520
  delay_samples = delay_samples.to(gain.real.dtype)
3521
3521
  phase = torch.einsum("fo, omn -> fmn", self.omega, delay_samples.unsqueeze(0))
3522
3522
  return gain.unsqueeze(0) * (self.gamma ** delay_samples) * torch.exp(-1j * phase)
3523
+
3524
+
3525
+ class parallelGainDelay(GainDelay):
3526
+ """
3527
+ Parallel counterpart of the :class:`GainDelay` class.
3528
+ For information about **attributes** and **methods** see :class:`GainDelay`.
3529
+
3530
+ Shape:
3531
+ - input: :math:`(B, M, N, ...)`
3532
+ - param: :math:`(2, N)`
3533
+ - output: :math:`(B, M, N, ...)`
3534
+
3535
+ where :math:`B` is the batch size, :math:`M` is the number of frequency bins,
3536
+ and :math:`N` is the number of input channels.
3537
+ Ellipsis :math:`(...)` represents additional dimensions.
3538
+ """
3539
+
3540
+ def __init__(
3541
+ self,
3542
+ size: tuple = (1,),
3543
+ max_len: int = 2000,
3544
+ isint: bool = False,
3545
+ unit: int = 100,
3546
+ nfft: int = 2**11,
3547
+ fs: int = 48000,
3548
+ map_gain: Optional[callable] = None,
3549
+ map_delay: Optional[callable] = None,
3550
+ requires_grad: bool = False,
3551
+ alias_decay_db: float = 0.0,
3552
+ device: Optional[str] = None,
3553
+ dtype: torch.dtype = torch.float32,
3554
+ ):
3555
+ super().__init__(
3556
+ size=size,
3557
+ max_len=max_len,
3558
+ isint=isint,
3559
+ unit=unit,
3560
+ nfft=nfft,
3561
+ fs=fs,
3562
+ map_gain=map_gain,
3563
+ map_delay=map_delay,
3564
+ requires_grad=requires_grad,
3565
+ alias_decay_db=alias_decay_db,
3566
+ device=device,
3567
+ dtype=dtype,
3568
+ )
3569
+
3570
+ def check_param_shape(self):
3571
+ """
3572
+ Checks if the shape of the gain-delay parameters is valid.
3573
+ """
3574
+ assert (
3575
+ len(self.size) == 2 and self.size[0] == 2
3576
+ ), "parallelGainDelay parameters must have shape (2, N), for MIMO use GainDelay module."
3577
+
3578
+ def get_freq_convolve(self):
3579
+ """
3580
+ Computes the frequency convolution function for parallel gain-delay processing.
3581
+ """
3582
+ self.freq_convolve = lambda x, param: torch.einsum(
3583
+ "fn,bfn...->bfn...", self.freq_response(param), x
3584
+ )
3585
+
3586
+ def get_io(self):
3587
+ """
3588
+ Computes the number of input and output channels based on the size parameter.
3589
+ """
3590
+ self.input_channels = self.size[-1]
3591
+ self.output_channels = self.size[-1]
3592
+
3593
+ def _combine_gain_delay(self, gain: torch.Tensor, delay_samples: torch.Tensor):
3594
+ """
3595
+ Combines gain and delay for parallel processing (element-wise).
3596
+ """
3597
+ delay_samples = delay_samples.to(gain.real.dtype)
3598
+ phase = torch.einsum("fo, on -> fn", self.omega, delay_samples.unsqueeze(0))
3599
+ return gain.unsqueeze(0) * (self.gamma ** delay_samples) * torch.exp(-1j * phase)
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "flamo"
7
- version = "0.2.8"
7
+ version = "0.2.10"
8
8
  authors = [
9
9
  { name="Gloria Dal Santo", email="gloria.dalsanto@aalto.fi" },
10
10
  { name="Gian Marco De Bortoli", email="gian.debortoli@aalto.fi"},
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes