batchalign 0.7.6a4__tar.gz → 0.7.6a6__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 (109) hide show
  1. {batchalign-0.7.6a4/batchalign.egg-info → batchalign-0.7.6a6}/PKG-INFO +1 -1
  2. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/whisper/infer_asr.py +98 -17
  3. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/morphosyntax/ud.py +1 -1
  4. batchalign-0.7.6a6/batchalign/version +3 -0
  5. {batchalign-0.7.6a4 → batchalign-0.7.6a6/batchalign.egg-info}/PKG-INFO +1 -1
  6. batchalign-0.7.6a4/batchalign/version +0 -3
  7. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/LICENSE +0 -0
  8. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/MANIFEST.in +0 -0
  9. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/README.md +0 -0
  10. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/__init__.py +0 -0
  11. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/__main__.py +0 -0
  12. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/cli/__init__.py +0 -0
  13. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/cli/cli.py +0 -0
  14. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/cli/dispatch.py +0 -0
  15. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/constants.py +0 -0
  16. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/document.py +0 -0
  17. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/errors.py +0 -0
  18. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/formats/__init__.py +0 -0
  19. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/formats/base.py +0 -0
  20. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/formats/chat/__init__.py +0 -0
  21. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/formats/chat/file.py +0 -0
  22. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/formats/chat/generator.py +0 -0
  23. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/formats/chat/lexer.py +0 -0
  24. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/formats/chat/parser.py +0 -0
  25. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/formats/chat/utils.py +0 -0
  26. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/formats/textgrid/__init__.py +0 -0
  27. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/formats/textgrid/file.py +0 -0
  28. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/formats/textgrid/generator.py +0 -0
  29. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/formats/textgrid/parser.py +0 -0
  30. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/__init__.py +0 -0
  31. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/resolve.py +0 -0
  32. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/speaker/__init__.py +0 -0
  33. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/speaker/config.yaml +0 -0
  34. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/speaker/infer.py +0 -0
  35. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/speaker/utils.py +0 -0
  36. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/training/__init__.py +0 -0
  37. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/training/run.py +0 -0
  38. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/training/utils.py +0 -0
  39. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/utils.py +0 -0
  40. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/utterance/__init__.py +0 -0
  41. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/utterance/dataset.py +0 -0
  42. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/utterance/execute.py +0 -0
  43. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/utterance/infer.py +0 -0
  44. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/utterance/prep.py +0 -0
  45. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/utterance/train.py +0 -0
  46. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/whisper/__init__.py +0 -0
  47. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/models/whisper/infer_fa.py +0 -0
  48. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/__init__.py +0 -0
  49. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/analysis/__init__.py +0 -0
  50. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/analysis/eval.py +0 -0
  51. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/asr/__init__.py +0 -0
  52. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/asr/rev.py +0 -0
  53. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/asr/utils.py +0 -0
  54. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/asr/whisper.py +0 -0
  55. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/asr/whisperx.py +0 -0
  56. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/base.py +0 -0
  57. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/cleanup/__init__.py +0 -0
  58. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/cleanup/cleanup.py +0 -0
  59. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/cleanup/disfluencies.py +0 -0
  60. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/cleanup/parse_support.py +0 -0
  61. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/cleanup/retrace.py +0 -0
  62. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/cleanup/support/filled_pauses.eng +0 -0
  63. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/cleanup/support/replacements.eng +0 -0
  64. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/cleanup/support/test.test +0 -0
  65. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/dispatch.py +0 -0
  66. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/fa/__init__.py +0 -0
  67. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/fa/whisper_fa.py +0 -0
  68. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/morphosyntax/__init__.py +0 -0
  69. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/morphosyntax/coref.py +0 -0
  70. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/morphosyntax/fr/case.py +0 -0
  71. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/morphosyntax/ja/verbforms.py +0 -0
  72. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/pipeline.py +0 -0
  73. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/speaker/__init__.py +0 -0
  74. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/speaker/nemo_speaker.py +0 -0
  75. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/utr/__init__.py +0 -0
  76. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/utr/rev_utr.py +0 -0
  77. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/utr/utils.py +0 -0
  78. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/utr/whisper_utr.py +0 -0
  79. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/utterance/__init__.py +0 -0
  80. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/pipelines/utterance/ud_utterance.py +0 -0
  81. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/__init__.py +0 -0
  82. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/conftest.py +0 -0
  83. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/formats/chat/test_chat_file.py +0 -0
  84. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/formats/chat/test_chat_generator.py +0 -0
  85. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/formats/chat/test_chat_lexer.py +0 -0
  86. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/formats/chat/test_chat_parser.py +0 -0
  87. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/formats/chat/test_chat_utils.py +0 -0
  88. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/formats/textgrid/test_textgrid.py +0 -0
  89. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/pipelines/analysis/test_eval.py +0 -0
  90. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/pipelines/asr/test_asr_pipeline.py +0 -0
  91. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/pipelines/asr/test_asr_utils.py +0 -0
  92. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/pipelines/cleanup/test_disfluency.py +0 -0
  93. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/pipelines/cleanup/test_parse_support.py +0 -0
  94. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/pipelines/fa/test_fa_pipeline.py +0 -0
  95. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/pipelines/fixures.py +0 -0
  96. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/pipelines/test_pipeline.py +0 -0
  97. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/pipelines/test_pipeline_models.py +0 -0
  98. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/tests/test_document.py +0 -0
  99. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/utils/__init__.py +0 -0
  100. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/utils/config.py +0 -0
  101. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/utils/dp.py +0 -0
  102. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign/utils/utils.py +0 -0
  103. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign.egg-info/SOURCES.txt +0 -0
  104. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign.egg-info/dependency_links.txt +0 -0
  105. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign.egg-info/entry_points.txt +0 -0
  106. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign.egg-info/requires.txt +0 -0
  107. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/batchalign.egg-info/top_level.txt +0 -0
  108. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/setup.cfg +0 -0
  109. {batchalign-0.7.6a4 → batchalign-0.7.6a6}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: batchalign
3
- Version: 0.7.6a4
3
+ Version: 0.7.6a6
4
4
  Summary: Python Speech Language Sample Analysis
5
5
  Author: Brian MacWhinney, Houjun Liu
6
6
  Author-email: macw@cmu.edu, houjun@cmu.edu
@@ -64,19 +64,89 @@ class WhisperASRModel(object):
64
64
 
65
65
  def __init__(self, model, base="openai/whisper-large-v3", language="english", target_sample_rate=16000):
66
66
  L.debug("Initializing whisper model...")
67
- self.pipe = pipeline(
68
- "automatic-speech-recognition",
69
- model=model,
70
- tokenizer=WhisperTokenizer.from_pretrained(base),
71
- chunk_length_s=25,
72
- stride_length_s=3,
73
- device=DEVICE,
74
- torch_dtype=torch.float32,
75
- return_timestamps="word",
76
- )
77
- L.debug("Done, initalizing processor and config...")
78
67
  self.__config = GenerationConfig.from_pretrained(base)
79
68
  self.__config.no_repeat_ngram_size = 4
69
+
70
+ if language == "Cantonese":
71
+ self.pipe = pipeline(
72
+ "automatic-speech-recognition",
73
+ model=model,
74
+ # tokenizer=WhisperTokenizer.from_pretrained(base),
75
+ chunk_length_s=30,
76
+ # stride_length_s=3,
77
+ device=DEVICE,
78
+ # torch_dtype=torch.float32,
79
+ return_timestamps="word",
80
+ )
81
+ self.__config = GenerationConfig.from_model_config(self.pipe.model.config)
82
+ self.__config.no_repeat_ngram_size = 4
83
+ self.__config.use_cache = False
84
+
85
+ forced_decoder_ids = self.pipe.tokenizer.get_decoder_prompt_ids(language="yue", task="transcribe")
86
+
87
+ suppress_tokens = []
88
+
89
+ # Define other parameters
90
+ return_attention_mask = False
91
+ pad_token_id = 50257
92
+ bos_token_id = 50257
93
+ eos_token_id = 50257
94
+ decoder_start_token_id = 50258
95
+ begin_suppress_tokens = [
96
+ 220,
97
+ 50257
98
+ ],
99
+ alignment_heads = [
100
+ [5, 3],
101
+ [5, 9],
102
+ [8, 0],
103
+ [8, 4],
104
+ [8, 8],
105
+ [9, 0],
106
+ [9, 7],
107
+ [9, 9],
108
+ [10, 5]
109
+ ]
110
+ lang_to_id = {"<|yue|>": 50325}
111
+ task_to_id = {"transcribe": 50359}
112
+ is_multilingual = True
113
+ max_initial_timestamp_index = 50
114
+ no_timestamps_token_id = 50363
115
+ prev_sot_token_id = 50361
116
+ max_length = 448
117
+
118
+ # Assign values to generation config
119
+ self.__config.forced_decoder_ids = forced_decoder_ids
120
+ self.__config.suppress_tokens = suppress_tokens
121
+ self.__config.pad_token_id = pad_token_id
122
+ self.__config.bos_token_id = bos_token_id
123
+ self.__config.eos_token_id = eos_token_id
124
+ self.__config.decoder_start_token_id = decoder_start_token_id
125
+ self.__config.lang_to_id = lang_to_id
126
+ self.__config.task_to_id = task_to_id
127
+ self.__config.alignment_heads = alignment_heads
128
+ self.__config.alignment_heads = alignment_heads
129
+ self.__config.begin_suppress_tokens = begin_suppress_tokens
130
+ self.__config.is_multilingual = is_multilingual
131
+ self.__config.max_initial_timestamp_index = max_initial_timestamp_index
132
+ self.__config.no_timestamps_token_id = no_timestamps_token_id
133
+ self.__config.prev_sot_token_id = prev_sot_token_id
134
+ self.__config.max_length =max_length
135
+
136
+ self.pipe.model.generation_config = self.__config
137
+
138
+ else:
139
+ self.pipe = pipeline(
140
+ "automatic-speech-recognition",
141
+ model=model,
142
+ tokenizer=WhisperTokenizer.from_pretrained(base),
143
+ chunk_length_s=25,
144
+ stride_length_s=3,
145
+ device=DEVICE,
146
+ torch_dtype=torch.float32,
147
+ return_timestamps="word",
148
+ )
149
+ L.debug("Done, initalizing processor and config...")
80
150
  processor = WhisperProcessor.from_pretrained(base)
81
151
  L.debug("Whisper initialization done.")
82
152
 
@@ -147,14 +217,25 @@ class WhisperASRModel(object):
147
217
  })
148
218
 
149
219
  L.debug("Whisper Transcribing...")
220
+ config = {
221
+ "repetition_penalty": 1.001,
222
+ "generation_config": self.__config,
223
+ "task": "transcribe",
224
+ "language": self.lang
225
+ }
226
+
227
+ if self.lang == "Cantonese":
228
+ config = {
229
+ "repetition_penalty": 1.001,
230
+ # "generation_config": self.__config,
231
+ # "task": "transcribe",
232
+ # "language": self.lang
233
+ }
234
+
150
235
  words = self.pipe(data.cpu().numpy(),
151
236
  batch_size=1,
152
- generate_kwargs = {
153
- "repetition_penalty": 1.001,
154
- "generation_config": self.__config,
155
- "task": "transcribe",
156
- "language": self.lang
157
- })
237
+ generate_kwargs=config)
238
+
158
239
  # "do_sample": True,
159
240
  # "temperature": 0.1
160
241
  # })
@@ -237,7 +237,7 @@ def handler__VERB(word, lang=None):
237
237
  res = handler(word, lang)
238
238
  if "sconj" in res:
239
239
  return res
240
- elif "verb" not in res:
240
+ elif "verb" not in res and "aux" not in res:
241
241
  return res
242
242
  else:
243
243
  return res+flag+stringify_feats(aspect, mood,
@@ -0,0 +1,3 @@
1
+ 0.7.6-alpha.6
2
+ October 3, 2024
3
+ default to whisper small for cantonese (try 2)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: batchalign
3
- Version: 0.7.6a4
3
+ Version: 0.7.6a6
4
4
  Summary: Python Speech Language Sample Analysis
5
5
  Author: Brian MacWhinney, Houjun Liu
6
6
  Author-email: macw@cmu.edu, houjun@cmu.edu
@@ -1,3 +0,0 @@
1
- 0.7.6-alpha.4
2
- September 29th, 2024
3
- fix weird caching problem
File without changes
File without changes
File without changes
File without changes
File without changes