lyrics-transcriber 0.32.2__tar.gz → 0.32.3__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.32.2 → lyrics_transcriber-0.32.3}/PKG-INFO +1 -1
  2. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/phrase_analyzer.py +13 -4
  3. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/pyproject.toml +1 -1
  4. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/LICENSE +0 -0
  5. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/README.md +0 -0
  6. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/__init__.py +0 -0
  7. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/cli/__init__.py +0 -0
  8. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/cli/cli_main.py +0 -0
  9. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/core/__init__.py +0 -0
  10. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/core/config.py +0 -0
  11. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/core/controller.py +0 -0
  12. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/anchor_sequence.py +0 -0
  13. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/corrector.py +0 -0
  14. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/handlers/__init__.py +0 -0
  15. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/handlers/base.py +0 -0
  16. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/handlers/extend_anchor.py +0 -0
  17. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/handlers/levenshtein.py +0 -0
  18. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/handlers/no_space_punct_match.py +0 -0
  19. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/handlers/relaxed_word_count_match.py +0 -0
  20. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/handlers/repeat.py +0 -0
  21. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/handlers/sound_alike.py +0 -0
  22. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/handlers/syllables_match.py +0 -0
  23. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/handlers/word_count_match.py +0 -0
  24. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/handlers/word_operations.py +0 -0
  25. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/correction/text_utils.py +0 -0
  26. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/lyrics/base_lyrics_provider.py +0 -0
  27. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/lyrics/genius.py +0 -0
  28. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/lyrics/spotify.py +0 -0
  29. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/__init__.py +0 -0
  30. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/ass/__init__.py +0 -0
  31. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/ass/ass.py +0 -0
  32. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/ass/ass_specs.txt +0 -0
  33. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/ass/config.py +0 -0
  34. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/ass/constants.py +0 -0
  35. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/ass/event.py +0 -0
  36. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/ass/formatters.py +0 -0
  37. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/ass/lyrics_line.py +0 -0
  38. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/ass/lyrics_screen.py +0 -0
  39. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/ass/section_detector.py +0 -0
  40. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/ass/section_screen.py +0 -0
  41. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/ass/style.py +0 -0
  42. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdg.py +0 -0
  43. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/__init__.py +0 -0
  44. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/cdg.py +0 -0
  45. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/composer.py +0 -0
  46. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/config.py +0 -0
  47. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/images/instrumental.png +0 -0
  48. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/images/intro.png +0 -0
  49. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/pack.py +0 -0
  50. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/render.py +0 -0
  51. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/transitions/centertexttoplogobottomtext.png +0 -0
  52. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/transitions/circlein.png +0 -0
  53. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/transitions/circleout.png +0 -0
  54. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/transitions/fizzle.png +0 -0
  55. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/transitions/largecentertexttoplogo.png +0 -0
  56. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/transitions/rectangle.png +0 -0
  57. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/transitions/spiral.png +0 -0
  58. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/transitions/topleftmusicalnotes.png +0 -0
  59. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/transitions/wipein.png +0 -0
  60. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/transitions/wipeleft.png +0 -0
  61. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/transitions/wipeout.png +0 -0
  62. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/transitions/wiperight.png +0 -0
  63. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/cdgmaker/utils.py +0 -0
  64. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/fonts/AvenirNext-Bold.ttf +0 -0
  65. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/fonts/DMSans-VariableFont_opsz,wght.ttf +0 -0
  66. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/fonts/DMSerifDisplay-Regular.ttf +0 -0
  67. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/fonts/Oswald-SemiBold.ttf +0 -0
  68. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/fonts/Zurich_Cn_BT_Bold.ttf +0 -0
  69. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/fonts/arial.ttf +0 -0
  70. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/fonts/georgia.ttf +0 -0
  71. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/fonts/verdana.ttf +0 -0
  72. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/generator.py +0 -0
  73. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/lyrics_file.py +0 -0
  74. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/plain_text.py +0 -0
  75. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/segment_resizer.py +0 -0
  76. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/subtitles.py +0 -0
  77. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/output/video.py +0 -0
  78. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/review/__init__.py +0 -0
  79. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/review/server.py +0 -0
  80. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/storage/__init__.py +0 -0
  81. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/storage/dropbox.py +0 -0
  82. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/transcribers/audioshake.py +0 -0
  83. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/transcribers/base_transcriber.py +0 -0
  84. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/transcribers/whisper.py +0 -0
  85. {lyrics_transcriber-0.32.2 → lyrics_transcriber-0.32.3}/lyrics_transcriber/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: lyrics-transcriber
3
- Version: 0.32.2
3
+ Version: 0.32.3
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
@@ -21,10 +21,19 @@ class PhraseAnalyzer:
21
21
  try:
22
22
  self.nlp = spacy.load(language_code)
23
23
  except OSError:
24
- self.logger.error(f"Failed to load language model: {language_code}")
25
- raise OSError(
26
- f"Language model '{language_code}' not found. " f"Please install it with: python -m spacy download {language_code}"
27
- )
24
+ self.logger.info(f"Language model {language_code} not found. Attempting to download...")
25
+ import subprocess
26
+
27
+ try:
28
+ subprocess.check_call(["python", "-m", "spacy", "download", language_code])
29
+ self.nlp = spacy.load(language_code)
30
+ self.logger.info(f"Successfully downloaded and loaded {language_code}")
31
+ except subprocess.CalledProcessError as e:
32
+ self.logger.error(f"Failed to download language model: {language_code}")
33
+ raise OSError(
34
+ f"Language model '{language_code}' could not be downloaded. "
35
+ f"Please install it manually with: python -m spacy download {language_code}"
36
+ ) from e
28
37
 
29
38
  def score_phrase(self, words: List[str], context: str) -> PhraseScore:
30
39
  """Score a phrase based on grammatical completeness and natural breaks.
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "lyrics-transcriber"
3
- version = "0.32.2"
3
+ version = "0.32.3"
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"