modusa 0.3.80__tar.gz → 0.3.82__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 (94) hide show
  1. {modusa-0.3.80 → modusa-0.3.82}/PKG-INFO +1 -1
  2. {modusa-0.3.80 → modusa-0.3.82}/pyproject.toml +1 -1
  3. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/tools/audio_player.py +4 -4
  4. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/tools/plotter.py +6 -2
  5. {modusa-0.3.80 → modusa-0.3.82}/LICENSE.md +0 -0
  6. {modusa-0.3.80 → modusa-0.3.82}/README.md +0 -0
  7. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/.DS_Store +0 -0
  8. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/__init__.py +0 -0
  9. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/config.py +0 -0
  10. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/decorators.py +0 -0
  11. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/devtools/generate_docs_source.py +0 -0
  12. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/devtools/generate_template.py +0 -0
  13. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/devtools/list_authors.py +0 -0
  14. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/devtools/list_plugins.py +0 -0
  15. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/devtools/main.py +0 -0
  16. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/devtools/templates/generator.py +0 -0
  17. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/devtools/templates/io.py +0 -0
  18. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/devtools/templates/model.py +0 -0
  19. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/devtools/templates/plugin.py +0 -0
  20. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/devtools/templates/test.py +0 -0
  21. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/devtools/templates/tool.py +0 -0
  22. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/fonts/NotoSansDevanagari-Regular.ttf +0 -0
  23. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/generators/__init__.py +0 -0
  24. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/generators/audio.py +0 -0
  25. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/generators/audio_waveforms.py +0 -0
  26. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/generators/base.py +0 -0
  27. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/generators/ftds.py +0 -0
  28. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/generators/s1d.py +0 -0
  29. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/generators/s2d.py +0 -0
  30. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/generators/s_ax.py +0 -0
  31. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/generators/t_ax.py +0 -0
  32. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/generators/tds.py +0 -0
  33. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/models/__init__.py +0 -0
  34. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/models/__pycache__/signal1D.cpython-312.pyc.4443461152 +0 -0
  35. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/models/audio.py +0 -0
  36. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/models/base.py +0 -0
  37. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/models/data.py +0 -0
  38. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/models/ftds.py +0 -0
  39. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/models/s1d.py +0 -0
  40. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/models/s2d.py +0 -0
  41. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/models/s_ax.py +0 -0
  42. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/models/t_ax.py +0 -0
  43. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/models/tds.py +0 -0
  44. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/plugins/__init__.py +0 -0
  45. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/plugins/base.py +0 -0
  46. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/tools/__init__.py +0 -0
  47. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/tools/_plotter_old.py +0 -0
  48. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/tools/ann_loader.py +0 -0
  49. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/tools/audio_converter.py +0 -0
  50. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/tools/audio_loader.py +0 -0
  51. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/tools/audio_recorder.py +0 -0
  52. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/tools/audio_saver.py +0 -0
  53. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/tools/base.py +0 -0
  54. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/tools/math_ops.py +0 -0
  55. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/tools/youtube_downloader.py +0 -0
  56. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/utils/.DS_Store +0 -0
  57. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/utils/__init__.py +0 -0
  58. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/utils/config.py +0 -0
  59. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/utils/excp.py +0 -0
  60. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/utils/logger.py +0 -0
  61. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/utils/np_func_cat.py +0 -0
  62. {modusa-0.3.80 → modusa-0.3.82}/src/modusa/utils/plot.py +0 -0
  63. {modusa-0.3.80 → modusa-0.3.82}/tests/__init__.py +0 -0
  64. {modusa-0.3.80 → modusa-0.3.82}/tests/data/song1.mp3 +0 -0
  65. {modusa-0.3.80 → modusa-0.3.82}/tests/data/song1.wav +0 -0
  66. {modusa-0.3.80 → modusa-0.3.82}/tests/test_generators/audio_waveform.py +0 -0
  67. {modusa-0.3.80 → modusa-0.3.82}/tests/test_generators/test_audio.py +0 -0
  68. {modusa-0.3.80 → modusa-0.3.82}/tests/test_generators/test_ftds.py +0 -0
  69. {modusa-0.3.80 → modusa-0.3.82}/tests/test_generators/test_s1d.py +0 -0
  70. {modusa-0.3.80 → modusa-0.3.82}/tests/test_generators/test_s2d.py +0 -0
  71. {modusa-0.3.80 → modusa-0.3.82}/tests/test_generators/test_s_ax.py +0 -0
  72. {modusa-0.3.80 → modusa-0.3.82}/tests/test_generators/test_signal.py +0 -0
  73. {modusa-0.3.80 → modusa-0.3.82}/tests/test_generators/test_signal_generator.py +0 -0
  74. {modusa-0.3.80 → modusa-0.3.82}/tests/test_generators/test_t_ax.py +0 -0
  75. {modusa-0.3.80 → modusa-0.3.82}/tests/test_generators/test_tds.py +0 -0
  76. {modusa-0.3.80 → modusa-0.3.82}/tests/test_io/audio_player.py +0 -0
  77. {modusa-0.3.80 → modusa-0.3.82}/tests/test_io/plotter.py +0 -0
  78. {modusa-0.3.80 → modusa-0.3.82}/tests/test_models/test_data.py +0 -0
  79. {modusa-0.3.80 → modusa-0.3.82}/tests/test_models/test_t_ax.py +0 -0
  80. {modusa-0.3.80 → modusa-0.3.82}/tests/test_plugins/youtube_audio_loader.py +0 -0
  81. {modusa-0.3.80 → modusa-0.3.82}/tests/test_signals/frequency_domain_signal.py +0 -0
  82. {modusa-0.3.80 → modusa-0.3.82}/tests/test_signals/spectrogram.py +0 -0
  83. {modusa-0.3.80 → modusa-0.3.82}/tests/test_signals/test_axis.py +0 -0
  84. {modusa-0.3.80 → modusa-0.3.82}/tests/test_signals/test_feature_time_domain_signal.py +0 -0
  85. {modusa-0.3.80 → modusa-0.3.82}/tests/test_signals/test_frequency_time_domain_signal.py +0 -0
  86. {modusa-0.3.80 → modusa-0.3.82}/tests/test_signals/test_signal1D.py +0 -0
  87. {modusa-0.3.80 → modusa-0.3.82}/tests/test_signals/test_signal2D.py +0 -0
  88. {modusa-0.3.80 → modusa-0.3.82}/tests/test_signals/test_time_domain_signal.py +0 -0
  89. {modusa-0.3.80 → modusa-0.3.82}/tests/test_signals/test_u_ax.py +0 -0
  90. {modusa-0.3.80 → modusa-0.3.82}/tests/test_signals/test_window_signal.py +0 -0
  91. {modusa-0.3.80 → modusa-0.3.82}/tests/test_signals/time_domain_signal.py +0 -0
  92. {modusa-0.3.80 → modusa-0.3.82}/tests/test_tools/test_audio_converter.py +0 -0
  93. {modusa-0.3.80 → modusa-0.3.82}/tests/test_tools/test_fourier_tranform.py +0 -0
  94. {modusa-0.3.80 → modusa-0.3.82}/tests/test_tools/test_math_ops.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modusa
3
- Version: 0.3.80
3
+ Version: 0.3.82
4
4
  Summary: A modular signal analysis python library.
5
5
  Author-Email: Ankit Anand <ankit0.anand0@gmail.com>
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "modusa"
3
- version = "0.3.80"
3
+ version = "0.3.82"
4
4
  description = "A modular signal analysis python library."
5
5
  authors = [
6
6
  { name = "Ankit Anand", email = "ankit0.anand0@gmail.com" },
@@ -3,7 +3,7 @@
3
3
  import numpy as np
4
4
  from IPython.display import display, HTML, Audio
5
5
 
6
- def play(y: np.ndarray, sr: float, t0: float = 0.0, regions = None, title = None) -> None:
6
+ def play(y: np.ndarray, sr: float, title = None, t0: float = 0.0, regions = None) -> None:
7
7
  """
8
8
  Plays audio clips for given regions in Jupyter Notebooks.
9
9
 
@@ -14,6 +14,8 @@ def play(y: np.ndarray, sr: float, t0: float = 0.0, regions = None, title = None
14
14
  - Mono (1D) numpy array.
15
15
  sr: float
16
16
  - Sampling rate of the audio.
17
+ title : str | None
18
+ - Title to display above audio players.
17
19
  t0: float
18
20
  - Starting timestamp, incase the audio is cropped
19
21
  - Default: 0.0 → Starts from 0.0 sec
@@ -21,15 +23,13 @@ def play(y: np.ndarray, sr: float, t0: float = 0.0, regions = None, title = None
21
23
  - Regions to extract and play (in sec), e.g. [(0, 10.2, "tag")]
22
24
  - If there is only one region, a tuple should also work. e.g. (0, 10.2, "tag")
23
25
  - Default: None → The entire song is selected.
24
- title : str | None
25
- - Title to display above audio players.
26
26
 
27
27
  Returns
28
28
  -------
29
29
  None
30
30
  """
31
31
  if title:
32
- display(HTML(f"<h4>{title}</h4>"))
32
+ display(HTML(f"<p style='font-size:15px; font-weight:600; text-decoration: underline;'>{title}</p>"))
33
33
 
34
34
  clip_tags = []
35
35
  timings = []
@@ -280,7 +280,7 @@ class Fig:
280
280
  curr_row[0].grid(True, linestyle='--', linewidth=0.7, color="lightgray" ,alpha=0.6)
281
281
 
282
282
 
283
- def add_matrix(self, M, y=None, x=None, c="viridis", o="upper", label=None, ylabel=None, ylim=None, yticks=None, yticklabels=None, xticks=None, xticklabels=None, cbar=True, grid=True, ax=None):
283
+ def add_matrix(self, M, y=None, x=None, c="viridis", o="upper", label=None, ylabel=None, ylim=None, yticks=None, yticklabels=None, xticks=None, xticklabels=None, cbar=True, grid=True, alpha=1, ax=None):
284
284
  """
285
285
  Add matrix to the figure.
286
286
 
@@ -323,6 +323,10 @@ class Fig:
323
323
  grid: bool
324
324
  - Do you want the grid?
325
325
  - Default: True
326
+ alpha: float (0 to 1)
327
+ - Transparency level
328
+ - 1 being opaque and 0 being completely transparent
329
+ - Default: 1
326
330
  ax: int
327
331
  - Which specific axis to plot (1, 2, 3, ...)
328
332
  - None
@@ -338,7 +342,7 @@ class Fig:
338
342
 
339
343
  extent = self._calculate_extent(x, y, o)
340
344
 
341
- im = curr_row[0].imshow(M, aspect="auto", origin=o, cmap=c, extent=extent, alpha=0.6)
345
+ im = curr_row[0].imshow(M, aspect="auto", origin=o, cmap=c, extent=extent, alpha=alpha)
342
346
 
343
347
  if ylabel is not None: curr_row[0].set_ylabel(ylabel)
344
348
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes