sonusai 1.0.3__tar.gz → 1.0.5__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 (137) hide show
  1. {sonusai-1.0.3 → sonusai-1.0.5}/PKG-INFO +1 -1
  2. {sonusai-1.0.3 → sonusai-1.0.5}/pyproject.toml +1 -1
  3. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/generation.py +12 -23
  4. {sonusai-1.0.3 → sonusai-1.0.5}/README.rst +0 -0
  5. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/__init__.py +0 -0
  6. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/aawscd_probwrite.py +0 -0
  7. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/audiofe.py +0 -0
  8. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/calc_metric_spenh.py +0 -0
  9. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/config/__init__.py +0 -0
  10. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/config/config.py +0 -0
  11. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/config/config.yml +0 -0
  12. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/config/constants.py +0 -0
  13. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/constants.py +0 -0
  14. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/data/__init__.py +0 -0
  15. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/data/genmixdb.yml +0 -0
  16. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/data/silero_vad_v5.1.jit +0 -0
  17. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/data/silero_vad_v5.1.onnx +0 -0
  18. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/data/speech_ma01_01.wav +0 -0
  19. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/data/whitenoise.wav +0 -0
  20. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/datatypes.py +0 -0
  21. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/deprecated/gentcst.py +0 -0
  22. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/deprecated/plot.py +0 -0
  23. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/deprecated/tplot.py +0 -0
  24. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/doc/__init__.py +0 -0
  25. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/doc/doc.py +0 -0
  26. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/doc.py +0 -0
  27. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/genft.py +0 -0
  28. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/genmetrics.py +0 -0
  29. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/genmix.py +0 -0
  30. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/genmixdb.py +0 -0
  31. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/ir_metric.py +0 -0
  32. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/lsdb.py +0 -0
  33. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/main.py +0 -0
  34. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/__init__.py +0 -0
  35. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/calc_audio_stats.py +0 -0
  36. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/calc_class_weights.py +0 -0
  37. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/calc_optimal_thresholds.py +0 -0
  38. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/calc_pcm.py +0 -0
  39. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/calc_pesq.py +0 -0
  40. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/calc_phase_distance.py +0 -0
  41. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/calc_sa_sdr.py +0 -0
  42. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/calc_sample_weights.py +0 -0
  43. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/calc_segsnr_f.py +0 -0
  44. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/calc_speech.py +0 -0
  45. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/calc_wer.py +0 -0
  46. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/calc_wsdr.py +0 -0
  47. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/class_summary.py +0 -0
  48. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/confusion_matrix_summary.py +0 -0
  49. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/one_hot.py +0 -0
  50. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics/snr_summary.py +0 -0
  51. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/metrics_summary.py +0 -0
  52. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/__init__.py +0 -0
  53. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/audio.py +0 -0
  54. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/class_balancing.py +0 -0
  55. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/config.py +0 -0
  56. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/constants.py +0 -0
  57. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/data_io.py +0 -0
  58. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/db_datatypes.py +0 -0
  59. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/effects.py +0 -0
  60. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/feature.py +0 -0
  61. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/helpers.py +0 -0
  62. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/ir_delay.py +0 -0
  63. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/ir_effects.py +0 -0
  64. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/log_duration_and_sizes.py +0 -0
  65. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/mixdb.py +0 -0
  66. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/pad_audio.py +0 -0
  67. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/resample.py +0 -0
  68. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/sox_effects.py +0 -0
  69. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/sox_help.py +0 -0
  70. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/spectral_mask.py +0 -0
  71. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/truth.py +0 -0
  72. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/truth_functions/__init__.py +0 -0
  73. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/truth_functions/crm.py +0 -0
  74. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/truth_functions/energy.py +0 -0
  75. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/truth_functions/file.py +0 -0
  76. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/truth_functions/metadata.py +0 -0
  77. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/truth_functions/metrics.py +0 -0
  78. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/truth_functions/phoneme.py +0 -0
  79. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/truth_functions/sed.py +0 -0
  80. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mixture/truth_functions/target.py +0 -0
  81. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/mkwav.py +0 -0
  82. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/onnx_predict.py +0 -0
  83. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/queries/__init__.py +0 -0
  84. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/queries/queries.py +0 -0
  85. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/speech/__init__.py +0 -0
  86. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/speech/l2arctic.py +0 -0
  87. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/speech/librispeech.py +0 -0
  88. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/speech/mcgill.py +0 -0
  89. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/speech/textgrid.py +0 -0
  90. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/speech/timit.py +0 -0
  91. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/speech/types.py +0 -0
  92. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/speech/vctk.py +0 -0
  93. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/speech/voxceleb.py +0 -0
  94. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/summarize_metric_spenh.py +0 -0
  95. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/__init__.py +0 -0
  96. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/asl_p56.py +0 -0
  97. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/asr.py +0 -0
  98. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/asr_functions/__init__.py +0 -0
  99. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/asr_functions/aaware_whisper.py +0 -0
  100. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/audio_devices.py +0 -0
  101. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/braced_glob.py +0 -0
  102. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/calculate_input_shape.py +0 -0
  103. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/choice.py +0 -0
  104. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/compress.py +0 -0
  105. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/convert_string_to_number.py +0 -0
  106. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/create_timestamp.py +0 -0
  107. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/create_ts_name.py +0 -0
  108. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/dataclass_from_dict.py +0 -0
  109. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/db.py +0 -0
  110. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/docstring.py +0 -0
  111. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/energy_f.py +0 -0
  112. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/engineering_number.py +0 -0
  113. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/evaluate_random_rule.py +0 -0
  114. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/get_frames_per_batch.py +0 -0
  115. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/get_label_names.py +0 -0
  116. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/grouper.py +0 -0
  117. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/human_readable_size.py +0 -0
  118. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/keyboard_interrupt.py +0 -0
  119. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/load_object.py +0 -0
  120. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/max_text_width.py +0 -0
  121. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/model_utils.py +0 -0
  122. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/numeric_conversion.py +0 -0
  123. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/onnx_utils.py +0 -0
  124. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/parallel.py +0 -0
  125. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/path_info.py +0 -0
  126. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/print_mixture_details.py +0 -0
  127. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/rand.py +0 -0
  128. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/ranges.py +0 -0
  129. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/read_predict_data.py +0 -0
  130. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/reshape.py +0 -0
  131. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/seconds_to_hms.py +0 -0
  132. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/stacked_complex.py +0 -0
  133. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/stratified_shuffle_split.py +0 -0
  134. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/tokenized_shell_vars.py +0 -0
  135. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/write_audio.py +0 -0
  136. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/utils/yes_or_no.py +0 -0
  137. {sonusai-1.0.3 → sonusai-1.0.5}/sonusai/vars.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: sonusai
3
- Version: 1.0.3
3
+ Version: 1.0.5
4
4
  Summary: Framework for building deep neural network models for sound, speech, and voice AI
5
5
  Home-page: https://aaware.com
6
6
  License: GPL-3.0-only
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "sonusai"
3
- version = "1.0.3"
3
+ version = "1.0.5"
4
4
  description = "Framework for building deep neural network models for sound, speech, and voice AI"
5
5
  authors = ["Chris Eddington <chris@aaware.com>", "Jason Calderwood <jason@aaware.com>"]
6
6
  maintainers = ["Chris Eddington <chris@aaware.com>", "Jason Calderwood <jason@aaware.com>"]
@@ -130,6 +130,7 @@ def initialize_db(location: str, test: bool = False) -> None:
130
130
  snr_gain FLOAT NOT NULL,
131
131
  snr_random BOOLEAN NOT NULL,
132
132
  start INTEGER NOT NULL,
133
+ UNIQUE(effects, file_id, pre_tempo, repeat, snr, snr_gain, snr_random, start),
133
134
  FOREIGN KEY(file_id) REFERENCES source_file (id))
134
135
  """)
135
136
 
@@ -436,27 +437,7 @@ def populate_mixture_table(
436
437
 
437
438
  # Populate source table
438
439
  if logging:
439
- logger.info("Populating source table")
440
- sources: list[tuple[str, int, float, bool, float, float, bool, int]] = []
441
- for mixture in mixtures:
442
- for source in mixture.all_sources.values():
443
- entry = from_source(source)
444
- if entry not in sources:
445
- sources.append(entry)
446
- for source in track(sources, disable=not show_progress):
447
- con.execute(
448
- """
449
- INSERT INTO source (effects, file_id, pre_tempo, repeat, snr, snr_gain, snr_random, start)
450
- VALUES (?, ?, ?, ?, ?, ?, ?, ?)
451
- """,
452
- source,
453
- )
454
-
455
- con.commit()
456
-
457
- # Populate mixture table
458
- if logging:
459
- logger.info("Populating mixture table")
440
+ logger.info("Populating mixture and source tables")
460
441
  for mixture in track(mixtures, disable=not show_progress):
461
442
  m_id = int(mixture.name) + 1
462
443
  con.execute(
@@ -468,6 +449,14 @@ def populate_mixture_table(
468
449
  )
469
450
 
470
451
  for source in mixture.all_sources.values():
452
+ con.execute(
453
+ """
454
+ INSERT OR IGNORE INTO source (effects, file_id, pre_tempo, repeat, snr, snr_gain, snr_random, start)
455
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)
456
+ """,
457
+ from_source(source),
458
+ )
459
+
471
460
  source_id = con.execute(
472
461
  """
473
462
  SELECT id
@@ -486,7 +475,7 @@ def populate_mixture_table(
486
475
  con.execute("INSERT INTO mixture_source (mixture_id, source_id) VALUES (?, ?)", (m_id, source_id))
487
476
 
488
477
  if logging:
489
- logger.info("Closing mixture table")
478
+ logger.info("Closing mixture and source tables")
490
479
  con.commit()
491
480
  con.close()
492
481
 
@@ -577,7 +566,7 @@ def _initialize_mixture_gains(mixdb: MixtureDatabase, mixture: Mixture, sources_
577
566
  # Special case for zeroing out noise data
578
567
  mixture.all_sources[category].snr_gain = 0
579
568
  elif category != "primary":
580
- if sources_energy["primary"] == 0:
569
+ if sources_energy["primary"] == 0 or sources_energy[category] == 0:
581
570
  # Avoid divide-by-zero
582
571
  mixture.all_sources[category].snr_gain = 1
583
572
  else:
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