lyrics-transcriber 0.34.0__tar.gz → 0.34.1__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 (85) hide show
  1. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/PKG-INFO +1 -1
  2. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/handlers/syllables_match.py +22 -2
  3. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/pyproject.toml +1 -1
  4. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/LICENSE +0 -0
  5. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/README.md +0 -0
  6. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/__init__.py +0 -0
  7. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/cli/__init__.py +0 -0
  8. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/cli/cli_main.py +0 -0
  9. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/core/__init__.py +0 -0
  10. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/core/config.py +0 -0
  11. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/core/controller.py +0 -0
  12. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/anchor_sequence.py +0 -0
  13. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/corrector.py +0 -0
  14. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/handlers/__init__.py +0 -0
  15. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/handlers/base.py +0 -0
  16. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/handlers/extend_anchor.py +0 -0
  17. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/handlers/levenshtein.py +0 -0
  18. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/handlers/no_space_punct_match.py +0 -0
  19. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/handlers/relaxed_word_count_match.py +0 -0
  20. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/handlers/repeat.py +0 -0
  21. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/handlers/sound_alike.py +0 -0
  22. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/handlers/word_count_match.py +0 -0
  23. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/handlers/word_operations.py +0 -0
  24. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/phrase_analyzer.py +0 -0
  25. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/correction/text_utils.py +0 -0
  26. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/lyrics/base_lyrics_provider.py +0 -0
  27. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/lyrics/genius.py +0 -0
  28. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/lyrics/spotify.py +0 -0
  29. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/__init__.py +0 -0
  30. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/ass/__init__.py +0 -0
  31. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/ass/ass.py +0 -0
  32. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/ass/ass_specs.txt +0 -0
  33. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/ass/config.py +0 -0
  34. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/ass/constants.py +0 -0
  35. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/ass/event.py +0 -0
  36. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/ass/formatters.py +0 -0
  37. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/ass/lyrics_line.py +0 -0
  38. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/ass/lyrics_screen.py +0 -0
  39. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/ass/section_detector.py +0 -0
  40. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/ass/section_screen.py +0 -0
  41. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/ass/style.py +0 -0
  42. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdg.py +0 -0
  43. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/__init__.py +0 -0
  44. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/cdg.py +0 -0
  45. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/composer.py +0 -0
  46. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/config.py +0 -0
  47. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/images/instrumental.png +0 -0
  48. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/images/intro.png +0 -0
  49. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/pack.py +0 -0
  50. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/render.py +0 -0
  51. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/transitions/centertexttoplogobottomtext.png +0 -0
  52. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/transitions/circlein.png +0 -0
  53. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/transitions/circleout.png +0 -0
  54. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/transitions/fizzle.png +0 -0
  55. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/transitions/largecentertexttoplogo.png +0 -0
  56. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/transitions/rectangle.png +0 -0
  57. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/transitions/spiral.png +0 -0
  58. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/transitions/topleftmusicalnotes.png +0 -0
  59. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/transitions/wipein.png +0 -0
  60. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/transitions/wipeleft.png +0 -0
  61. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/transitions/wipeout.png +0 -0
  62. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/transitions/wiperight.png +0 -0
  63. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/cdgmaker/utils.py +0 -0
  64. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/fonts/AvenirNext-Bold.ttf +0 -0
  65. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/fonts/DMSans-VariableFont_opsz,wght.ttf +0 -0
  66. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/fonts/DMSerifDisplay-Regular.ttf +0 -0
  67. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/fonts/Oswald-SemiBold.ttf +0 -0
  68. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/fonts/Zurich_Cn_BT_Bold.ttf +0 -0
  69. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/fonts/arial.ttf +0 -0
  70. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/fonts/georgia.ttf +0 -0
  71. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/fonts/verdana.ttf +0 -0
  72. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/generator.py +0 -0
  73. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/lyrics_file.py +0 -0
  74. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/plain_text.py +0 -0
  75. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/segment_resizer.py +0 -0
  76. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/subtitles.py +0 -0
  77. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/output/video.py +0 -0
  78. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/review/__init__.py +0 -0
  79. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/review/server.py +0 -0
  80. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/storage/__init__.py +0 -0
  81. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/storage/dropbox.py +0 -0
  82. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/transcribers/audioshake.py +0 -0
  83. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/transcribers/base_transcriber.py +0 -0
  84. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/transcribers/whisper.py +0 -0
  85. {lyrics_transcriber-0.34.0 → lyrics_transcriber-0.34.1}/lyrics_transcriber/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: lyrics-transcriber
3
- Version: 0.34.0
3
+ Version: 0.34.1
4
4
  Summary: Automatically create synchronised lyrics files in ASS and MidiCo LRC formats with word-level timestamps, using Whisper and lyrics from Genius and Spotify
5
5
  License: MIT
6
6
  Author: Andrew Beveridge
@@ -16,22 +16,42 @@ class SyllablesMatchHandler(GapCorrectionHandler):
16
16
  """Handles gaps where number of syllables in reference text matches number of syllables in transcription."""
17
17
 
18
18
  def __init__(self):
19
+ # Initialize logger first
20
+ self.logger = logging.getLogger(__name__)
21
+
19
22
  # Marking SpacySyllables as used to prevent unused import warning
20
23
  _ = SpacySyllables
24
+
21
25
  # Load spacy model with syllables pipeline
22
- self.nlp = spacy.load("en_core_web_sm")
26
+ try:
27
+ self.nlp = spacy.load("en_core_web_sm")
28
+ except OSError:
29
+ self.logger.info("Language model 'en_core_web_sm' not found. Attempting to download...")
30
+ import subprocess
31
+
32
+ try:
33
+ subprocess.check_call(["python", "-m", "spacy", "download", "en_core_web_sm"])
34
+ self.nlp = spacy.load("en_core_web_sm")
35
+ self.logger.info("Successfully downloaded and loaded en_core_web_sm")
36
+ except subprocess.CalledProcessError as e:
37
+ raise OSError(
38
+ "Language model 'en_core_web_sm' could not be downloaded. "
39
+ "Please install it manually with: python -m spacy download en_core_web_sm"
40
+ ) from e
41
+
23
42
  # Add syllables component to pipeline if not already present
24
43
  if "syllables" not in self.nlp.pipe_names:
25
44
  self.nlp.add_pipe("syllables", after="tagger")
45
+
26
46
  # Initialize Pyphen for English
27
47
  self.dic = pyphen.Pyphen(lang="en_US")
48
+
28
49
  # Initialize NLTK's CMU dictionary
29
50
  try:
30
51
  self.cmudict = cmudict.dict()
31
52
  except LookupError:
32
53
  nltk.download("cmudict")
33
54
  self.cmudict = cmudict.dict()
34
- self.logger = logging.getLogger(__name__)
35
55
 
36
56
  def _count_syllables_spacy(self, words: List[str]) -> int:
37
57
  """Count syllables using spacy_syllables."""
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "lyrics-transcriber"
3
- version = "0.34.0"
3
+ version = "0.34.1"
4
4
  description = "Automatically create synchronised lyrics files in ASS and MidiCo LRC formats with word-level timestamps, using Whisper and lyrics from Genius and Spotify"
5
5
  authors = ["Andrew Beveridge <andrew@beveridge.uk>"]
6
6
  license = "MIT"