lyrics-transcriber 0.37.0__tar.gz → 0.39.0__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 (132) hide show
  1. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/PKG-INFO +3 -2
  2. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/handlers/extend_anchor.py +13 -2
  3. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/handlers/word_operations.py +8 -2
  4. lyrics_transcriber-0.39.0/lyrics_transcriber/frontend/dist/assets/index-DKnNJHRK.js +26696 -0
  5. lyrics_transcriber-0.39.0/lyrics_transcriber/frontend/dist/assets/index-DKnNJHRK.js.map +1 -0
  6. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/dist/index.html +1 -1
  7. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/package.json +3 -2
  8. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/EditModal.tsx +1 -0
  9. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/LyricsAnalyzer.tsx +36 -13
  10. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/ReferenceView.tsx +41 -1
  11. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/ReviewChangesModal.tsx +48 -16
  12. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/TimelineEditor.tsx +71 -16
  13. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/TranscriptionView.tsx +11 -7
  14. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/shared/components/HighlightedText.tsx +45 -12
  15. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/shared/hooks/useWordClick.ts +83 -19
  16. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/shared/types.ts +3 -0
  17. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/shared/utils/initializeDataWithIds.tsx +65 -9
  18. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/vite.config.js +4 -0
  19. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/vite.config.ts +4 -0
  20. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/lyrics/genius.py +41 -12
  21. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdg.py +1 -0
  22. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/composer.py +839 -534
  23. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/review/server.py +10 -12
  24. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/pyproject.toml +3 -2
  25. lyrics_transcriber-0.37.0/lyrics_transcriber/frontend/dist/assets/index-BNNbsbVN.js +0 -182
  26. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/LICENSE +0 -0
  27. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/README.md +0 -0
  28. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/__init__.py +0 -0
  29. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/cli/__init__.py +0 -0
  30. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/cli/cli_main.py +0 -0
  31. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/core/__init__.py +0 -0
  32. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/core/config.py +0 -0
  33. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/core/controller.py +0 -0
  34. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/anchor_sequence.py +0 -0
  35. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/corrector.py +0 -0
  36. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/handlers/__init__.py +0 -0
  37. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/handlers/base.py +0 -0
  38. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/handlers/levenshtein.py +0 -0
  39. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/handlers/no_space_punct_match.py +0 -0
  40. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/handlers/relaxed_word_count_match.py +0 -0
  41. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/handlers/repeat.py +0 -0
  42. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/handlers/sound_alike.py +0 -0
  43. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/handlers/syllables_match.py +0 -0
  44. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/handlers/word_count_match.py +0 -0
  45. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/phrase_analyzer.py +0 -0
  46. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/correction/text_utils.py +0 -0
  47. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/.gitignore +0 -0
  48. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/README.md +0 -0
  49. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/dist/vite.svg +0 -0
  50. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/eslint.config.js +0 -0
  51. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/index.html +0 -0
  52. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/package-lock.json +0 -0
  53. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/public/vite.svg +0 -0
  54. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/App.tsx +0 -0
  55. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/api.ts +0 -0
  56. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/AudioPlayer.tsx +0 -0
  57. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/CorrectionMetrics.tsx +0 -0
  58. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/DetailsModal.tsx +0 -0
  59. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/FileUpload.tsx +0 -0
  60. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/ModeSelector.tsx +0 -0
  61. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/SegmentDetailsModal.tsx +0 -0
  62. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/WordEditControls.tsx +0 -0
  63. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/shared/components/SourceSelector.tsx +0 -0
  64. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/shared/components/Word.tsx +0 -0
  65. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/shared/constants.ts +0 -0
  66. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/shared/styles.ts +0 -0
  67. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/components/shared/utils/referenceLineCalculator.ts +0 -0
  68. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/main.tsx +0 -0
  69. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/types.ts +0 -0
  70. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/src/vite-env.d.ts +0 -0
  71. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/tsconfig.app.json +0 -0
  72. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/tsconfig.json +0 -0
  73. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/tsconfig.node.json +0 -0
  74. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/tsconfig.tsbuildinfo +0 -0
  75. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/frontend/vite.config.d.ts +0 -0
  76. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/lyrics/base_lyrics_provider.py +0 -0
  77. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/lyrics/file_provider.py +0 -0
  78. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/lyrics/spotify.py +0 -0
  79. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/__init__.py +0 -0
  80. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/ass/__init__.py +0 -0
  81. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/ass/ass.py +0 -0
  82. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/ass/ass_specs.txt +0 -0
  83. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/ass/config.py +0 -0
  84. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/ass/constants.py +0 -0
  85. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/ass/event.py +0 -0
  86. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/ass/formatters.py +0 -0
  87. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/ass/lyrics_line.py +0 -0
  88. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/ass/lyrics_screen.py +0 -0
  89. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/ass/section_detector.py +0 -0
  90. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/ass/section_screen.py +0 -0
  91. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/ass/style.py +0 -0
  92. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/__init__.py +0 -0
  93. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/cdg.py +0 -0
  94. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/config.py +0 -0
  95. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/images/instrumental.png +0 -0
  96. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/images/intro.png +0 -0
  97. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/pack.py +0 -0
  98. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/render.py +0 -0
  99. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/transitions/centertexttoplogobottomtext.png +0 -0
  100. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/transitions/circlein.png +0 -0
  101. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/transitions/circleout.png +0 -0
  102. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/transitions/fizzle.png +0 -0
  103. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/transitions/largecentertexttoplogo.png +0 -0
  104. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/transitions/rectangle.png +0 -0
  105. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/transitions/spiral.png +0 -0
  106. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/transitions/topleftmusicalnotes.png +0 -0
  107. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/transitions/wipein.png +0 -0
  108. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/transitions/wipeleft.png +0 -0
  109. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/transitions/wipeout.png +0 -0
  110. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/transitions/wiperight.png +0 -0
  111. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/cdgmaker/utils.py +0 -0
  112. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/fonts/AvenirNext-Bold.ttf +0 -0
  113. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/fonts/DMSans-VariableFont_opsz,wght.ttf +0 -0
  114. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/fonts/DMSerifDisplay-Regular.ttf +0 -0
  115. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/fonts/Oswald-SemiBold.ttf +0 -0
  116. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/fonts/Zurich_Cn_BT_Bold.ttf +0 -0
  117. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/fonts/arial.ttf +0 -0
  118. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/fonts/georgia.ttf +0 -0
  119. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/fonts/verdana.ttf +0 -0
  120. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/generator.py +0 -0
  121. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/lyrics_file.py +0 -0
  122. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/plain_text.py +0 -0
  123. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/segment_resizer.py +0 -0
  124. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/subtitles.py +0 -0
  125. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/output/video.py +0 -0
  126. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/review/__init__.py +0 -0
  127. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/storage/__init__.py +0 -0
  128. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/storage/dropbox.py +0 -0
  129. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/transcribers/audioshake.py +0 -0
  130. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/transcribers/base_transcriber.py +0 -0
  131. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/transcribers/whisper.py +0 -0
  132. {lyrics_transcriber-0.37.0 → lyrics_transcriber-0.39.0}/lyrics_transcriber/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: lyrics-transcriber
3
- Version: 0.37.0
3
+ Version: 0.39.0
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
@@ -14,6 +14,7 @@ Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
15
  Requires-Dist: dropbox (>=12)
16
16
  Requires-Dist: fastapi (>=0.115)
17
+ Requires-Dist: fonttools (>=4.55)
17
18
  Requires-Dist: karaoke-lyrics-processor (>=0.4)
18
19
  Requires-Dist: lyricsgenius (>=3)
19
20
  Requires-Dist: metaphone (>=0.6)
@@ -26,7 +27,7 @@ Requires-Dist: spacy (>=3.8)
26
27
  Requires-Dist: spacy-syllables (>=3)
27
28
  Requires-Dist: syllables (>=1)
28
29
  Requires-Dist: syrics (>=0)
29
- Requires-Dist: torch (>=2)
30
+ Requires-Dist: torch (<2.5)
30
31
  Requires-Dist: tqdm (>=4.67)
31
32
  Requires-Dist: transformers (>=4.47)
32
33
  Requires-Dist: uvicorn (>=0.34)
@@ -80,8 +80,19 @@ class ExtendAnchorHandler(GapCorrectionHandler):
80
80
  confidence = len(matching_sources) / len(gap.reference_words)
81
81
  sources = ", ".join(matching_sources)
82
82
 
83
- # Calculate reference positions for matching sources
84
- reference_positions = WordOperations.calculate_reference_positions(gap, matching_sources)
83
+ # Get base reference positions
84
+ base_reference_positions = WordOperations.calculate_reference_positions(gap, matching_sources)
85
+
86
+ # Adjust reference positions based on the word's position in the reference text
87
+ reference_positions = {}
88
+ for source in matching_sources:
89
+ if source in base_reference_positions:
90
+ # Find this word's position in the reference text
91
+ ref_words = gap.reference_words[source]
92
+ for ref_idx, ref_word in enumerate(ref_words):
93
+ if ref_word.lower() == word.lower():
94
+ reference_positions[source] = base_reference_positions[source] + ref_idx
95
+ break
85
96
 
86
97
  corrections.append(
87
98
  WordOperations.create_word_replacement_correction(
@@ -23,9 +23,15 @@ class WordOperations:
23
23
 
24
24
  for source in sources_to_check:
25
25
  if source in gap.preceding_anchor.reference_positions:
26
- # Calculate position based on anchor position and offset
26
+ # Calculate base position from anchor
27
27
  anchor_pos = gap.preceding_anchor.reference_positions[source]
28
- ref_pos = anchor_pos + len(gap.preceding_anchor.words)
28
+ base_ref_pos = anchor_pos + len(gap.preceding_anchor.words)
29
+
30
+ # Calculate word offset within the gap
31
+ word_offset = gap.words.index(gap.words[gap.transcription_position - gap.transcription_position])
32
+
33
+ # Add word offset to base position
34
+ ref_pos = base_ref_pos + word_offset
29
35
  reference_positions[source] = ref_pos
30
36
  return reference_positions
31
37