lyrics-transcriber 0.45.0__py3-none-any.whl → 0.46.0__py3-none-any.whl
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.
- lyrics_transcriber/frontend/.yarn/releases/{yarn-4.6.0.cjs → yarn-4.7.0.cjs} +292 -291
- lyrics_transcriber/frontend/.yarnrc.yml +1 -1
- lyrics_transcriber/frontend/dist/assets/{index-ZCT0s9MG.js → index-BXOpmKq-.js} +104 -87
- lyrics_transcriber/frontend/dist/assets/index-BXOpmKq-.js.map +1 -0
- lyrics_transcriber/frontend/dist/index.html +1 -1
- lyrics_transcriber/frontend/package.json +1 -1
- lyrics_transcriber/frontend/src/components/Header.tsx +1 -16
- lyrics_transcriber/frontend/src/components/LyricsAnalyzer.tsx +5 -3
- lyrics_transcriber/frontend/src/components/ReferenceView.tsx +3 -1
- lyrics_transcriber/frontend/src/components/shared/components/HighlightedText.tsx +4 -2
- lyrics_transcriber/frontend/src/components/shared/components/SourceSelector.tsx +26 -3
- lyrics_transcriber/frontend/src/components/shared/components/Word.tsx +2 -1
- lyrics_transcriber/frontend/src/components/shared/types.ts +2 -0
- {lyrics_transcriber-0.45.0.dist-info → lyrics_transcriber-0.46.0.dist-info}/METADATA +1 -1
- {lyrics_transcriber-0.45.0.dist-info → lyrics_transcriber-0.46.0.dist-info}/RECORD +18 -18
- lyrics_transcriber/frontend/dist/assets/index-ZCT0s9MG.js.map +0 -1
- {lyrics_transcriber-0.45.0.dist-info → lyrics_transcriber-0.46.0.dist-info}/LICENSE +0 -0
- {lyrics_transcriber-0.45.0.dist-info → lyrics_transcriber-0.46.0.dist-info}/WHEEL +0 -0
- {lyrics_transcriber-0.45.0.dist-info → lyrics_transcriber-0.46.0.dist-info}/entry_points.txt +0 -0
@@ -5,7 +5,7 @@
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
7
7
|
<title>Lyrics Transcriber Analyzer</title>
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
8
|
+
<script type="module" crossorigin src="/assets/index-BXOpmKq-.js"></script>
|
9
9
|
</head>
|
10
10
|
<body>
|
11
11
|
<div id="root"></div>
|
@@ -1,14 +1,12 @@
|
|
1
1
|
import { Box, Button, Typography, useMediaQuery, useTheme, Switch, FormControlLabel, Tooltip, Paper } from '@mui/material'
|
2
2
|
import LockIcon from '@mui/icons-material/Lock'
|
3
3
|
import UploadFileIcon from '@mui/icons-material/UploadFile'
|
4
|
-
import TextSnippetIcon from '@mui/icons-material/TextSnippet'
|
5
4
|
import FindReplaceIcon from '@mui/icons-material/FindReplace'
|
6
5
|
import EditIcon from '@mui/icons-material/Edit'
|
7
|
-
import { CorrectionData } from '../types'
|
6
|
+
import { CorrectionData, InteractionMode } from '../types'
|
8
7
|
import CorrectionMetrics from './CorrectionMetrics'
|
9
8
|
import ModeSelector from './ModeSelector'
|
10
9
|
import AudioPlayer from './AudioPlayer'
|
11
|
-
import { InteractionMode } from '../types'
|
12
10
|
import { ApiClient } from '../api'
|
13
11
|
import { findWordById } from './shared/utils/wordUtils'
|
14
12
|
|
@@ -29,7 +27,6 @@ interface HeaderProps {
|
|
29
27
|
onHandlerToggle: (handler: string, enabled: boolean) => void
|
30
28
|
isUpdatingHandlers: boolean
|
31
29
|
onHandlerClick?: (handler: string) => void
|
32
|
-
onAddLyrics?: () => void
|
33
30
|
onFindReplace?: () => void
|
34
31
|
onEditAll?: () => void
|
35
32
|
}
|
@@ -47,7 +44,6 @@ export default function Header({
|
|
47
44
|
onHandlerToggle,
|
48
45
|
isUpdatingHandlers,
|
49
46
|
onHandlerClick,
|
50
|
-
onAddLyrics,
|
51
47
|
onFindReplace,
|
52
48
|
onEditAll,
|
53
49
|
}: HeaderProps) {
|
@@ -271,17 +267,6 @@ export default function Header({
|
|
271
267
|
audioHash={audioHash}
|
272
268
|
/>
|
273
269
|
</Box>
|
274
|
-
{!isReadOnly && apiClient && onAddLyrics && (
|
275
|
-
<Button
|
276
|
-
variant="outlined"
|
277
|
-
size="small"
|
278
|
-
onClick={onAddLyrics}
|
279
|
-
startIcon={<TextSnippetIcon />}
|
280
|
-
sx={{ minWidth: 'fit-content', height: '32px' }}
|
281
|
-
>
|
282
|
-
Add Reference Lyrics
|
283
|
-
</Button>
|
284
|
-
)}
|
285
270
|
</Box>
|
286
271
|
</Paper>
|
287
272
|
</>
|
@@ -124,6 +124,7 @@ interface MemoizedReferenceViewProps {
|
|
124
124
|
onSourceChange: (source: string) => void
|
125
125
|
corrected_segments: LyricsSegment[]
|
126
126
|
corrections: WordCorrection[]
|
127
|
+
onAddLyrics?: () => void
|
127
128
|
}
|
128
129
|
|
129
130
|
// Create a memoized ReferenceView component
|
@@ -139,7 +140,8 @@ const MemoizedReferenceView = memo(function MemoizedReferenceView({
|
|
139
140
|
currentSource,
|
140
141
|
onSourceChange,
|
141
142
|
corrected_segments,
|
142
|
-
corrections
|
143
|
+
corrections,
|
144
|
+
onAddLyrics
|
143
145
|
}: MemoizedReferenceViewProps) {
|
144
146
|
return (
|
145
147
|
<ReferenceView
|
@@ -155,6 +157,7 @@ const MemoizedReferenceView = memo(function MemoizedReferenceView({
|
|
155
157
|
onSourceChange={onSourceChange}
|
156
158
|
corrected_segments={corrected_segments}
|
157
159
|
corrections={corrections}
|
160
|
+
onAddLyrics={onAddLyrics}
|
158
161
|
/>
|
159
162
|
);
|
160
163
|
});
|
@@ -195,7 +198,6 @@ const MemoizedHeader = memo(function MemoizedHeader({
|
|
195
198
|
onHandlerToggle,
|
196
199
|
isUpdatingHandlers,
|
197
200
|
onHandlerClick,
|
198
|
-
onAddLyrics,
|
199
201
|
onFindReplace,
|
200
202
|
onEditAll
|
201
203
|
}: MemoizedHeaderProps) {
|
@@ -213,7 +215,6 @@ const MemoizedHeader = memo(function MemoizedHeader({
|
|
213
215
|
onHandlerToggle={onHandlerToggle}
|
214
216
|
isUpdatingHandlers={isUpdatingHandlers}
|
215
217
|
onHandlerClick={onHandlerClick}
|
216
|
-
onAddLyrics={onAddLyrics}
|
217
218
|
onFindReplace={onFindReplace}
|
218
219
|
onEditAll={onEditAll}
|
219
220
|
/>
|
@@ -948,6 +949,7 @@ export default function LyricsAnalyzer({ data: initialData, onFileLoad, apiClien
|
|
948
949
|
onSourceChange={setCurrentSource}
|
949
950
|
corrected_segments={data.corrected_segments}
|
950
951
|
corrections={data.corrections}
|
952
|
+
onAddLyrics={() => setIsAddLyricsModalOpen(true)}
|
951
953
|
/>
|
952
954
|
</Grid>
|
953
955
|
</Grid>
|
@@ -34,7 +34,8 @@ export default function ReferenceView({
|
|
34
34
|
highlightInfo,
|
35
35
|
mode,
|
36
36
|
gaps,
|
37
|
-
corrections
|
37
|
+
corrections,
|
38
|
+
onAddLyrics
|
38
39
|
}: ReferenceViewProps) {
|
39
40
|
// Get available sources from referenceSources object
|
40
41
|
const availableSources = useMemo(() =>
|
@@ -183,6 +184,7 @@ export default function ReferenceView({
|
|
183
184
|
availableSources={availableSources}
|
184
185
|
currentSource={effectiveCurrentSource}
|
185
186
|
onSourceChange={onSourceChange}
|
187
|
+
onAddLyrics={onAddLyrics}
|
186
188
|
/>
|
187
189
|
</Box>
|
188
190
|
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 0.2 }}>
|
@@ -181,7 +181,8 @@ export function HighlightedText({
|
|
181
181
|
return correction ? {
|
182
182
|
originalWord: correction.original_word,
|
183
183
|
handler: correction.handler,
|
184
|
-
confidence: correction.confidence
|
184
|
+
confidence: correction.confidence,
|
185
|
+
source: correction.source
|
185
186
|
} : null;
|
186
187
|
})()}
|
187
188
|
/>
|
@@ -219,7 +220,8 @@ export function HighlightedText({
|
|
219
220
|
const correctionInfo = correction ? {
|
220
221
|
originalWord: correction.original_word,
|
221
222
|
handler: correction.handler,
|
222
|
-
confidence: correction.confidence
|
223
|
+
confidence: correction.confidence,
|
224
|
+
source: correction.source
|
223
225
|
} : null;
|
224
226
|
|
225
227
|
return (
|
@@ -1,21 +1,23 @@
|
|
1
1
|
import { Box, Button } from '@mui/material'
|
2
|
+
import AddIcon from '@mui/icons-material/Add'
|
2
3
|
|
3
4
|
export interface SourceSelectorProps {
|
4
5
|
currentSource: string
|
5
6
|
onSourceChange: (source: string) => void
|
6
7
|
availableSources: string[]
|
8
|
+
onAddLyrics?: () => void
|
7
9
|
}
|
8
10
|
|
9
|
-
export function SourceSelector({ currentSource, onSourceChange, availableSources }: SourceSelectorProps) {
|
11
|
+
export function SourceSelector({ currentSource, onSourceChange, availableSources, onAddLyrics }: SourceSelectorProps) {
|
10
12
|
return (
|
11
|
-
<Box sx={{ display: 'flex', flexWrap: 'wrap', gap: 0.3 }}>
|
13
|
+
<Box sx={{ display: 'flex', flexWrap: 'wrap', gap: 0.3, alignItems: 'center' }}>
|
12
14
|
{availableSources.map((source) => (
|
13
15
|
<Button
|
14
16
|
key={source}
|
15
17
|
size="small"
|
16
18
|
variant={currentSource === source ? 'contained' : 'outlined'}
|
17
19
|
onClick={() => onSourceChange(source)}
|
18
|
-
sx={{
|
20
|
+
sx={{
|
19
21
|
mr: 0,
|
20
22
|
py: 0.2,
|
21
23
|
px: 0.8,
|
@@ -28,6 +30,27 @@ export function SourceSelector({ currentSource, onSourceChange, availableSources
|
|
28
30
|
{source.charAt(0).toUpperCase() + source.slice(1)}
|
29
31
|
</Button>
|
30
32
|
))}
|
33
|
+
{onAddLyrics && (
|
34
|
+
<Button
|
35
|
+
size="small"
|
36
|
+
variant="outlined"
|
37
|
+
onClick={onAddLyrics}
|
38
|
+
startIcon={<AddIcon sx={{ fontSize: '0.9rem' }} />}
|
39
|
+
sx={{
|
40
|
+
mr: 0,
|
41
|
+
py: 0.2,
|
42
|
+
px: 0.8,
|
43
|
+
minWidth: 'auto',
|
44
|
+
fontSize: '0.7rem',
|
45
|
+
lineHeight: 1.2,
|
46
|
+
'& .MuiButton-startIcon': {
|
47
|
+
marginLeft: '-5px',
|
48
|
+
marginRight: '1px',
|
49
|
+
marginTop: '-1px'
|
50
|
+
}
|
51
|
+
}}
|
52
|
+
>New</Button>
|
53
|
+
)}
|
31
54
|
</Box>
|
32
55
|
)
|
33
56
|
}
|
@@ -61,7 +61,8 @@ export const WordComponent = React.memo(function Word({
|
|
61
61
|
const tooltipContent = (
|
62
62
|
<>
|
63
63
|
<strong>Original:</strong> "{correction.originalWord}"<br />
|
64
|
-
<strong>Corrected by:</strong> {correction.handler}
|
64
|
+
<strong>Corrected by:</strong> {correction.handler}<br />
|
65
|
+
<strong>Source:</strong> {correction.source}
|
65
66
|
</>
|
66
67
|
)
|
67
68
|
|
@@ -62,6 +62,7 @@ export interface WordProps {
|
|
62
62
|
originalWord: string
|
63
63
|
handler: string
|
64
64
|
confidence: number
|
65
|
+
source: string
|
65
66
|
} | null
|
66
67
|
}
|
67
68
|
|
@@ -100,6 +101,7 @@ export interface ReferenceViewProps extends BaseViewProps {
|
|
100
101
|
onSourceChange: (source: string) => void
|
101
102
|
corrected_segments: LyricsSegment[]
|
102
103
|
corrections: WordCorrection[]
|
104
|
+
onAddLyrics?: () => void
|
103
105
|
}
|
104
106
|
|
105
107
|
// Update HighlightedTextProps to include linePositions
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: lyrics-transcriber
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.46.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
|
@@ -23,16 +23,16 @@ lyrics_transcriber/correction/phrase_analyzer.py,sha256=dtO_2LjxnPdHJM7De40mYIdH
|
|
23
23
|
lyrics_transcriber/correction/text_utils.py,sha256=z4eiTBCmkNeTUvxG_RpR1Zwg0cbMPKFyxVaKAvLAk88,761
|
24
24
|
lyrics_transcriber/frontend/.gitignore,sha256=lgGIPiVpFVUNSZl9oNQLelLOWUzpF7sikLW8xmsrrqI,248
|
25
25
|
lyrics_transcriber/frontend/.yarn/install-state.gz,sha256=kcgQ-S9HvdNHexkXQVt18LWUpqtP2mdyRfjJV1htFAc,345895
|
26
|
-
lyrics_transcriber/frontend/.yarn/releases/yarn-4.
|
27
|
-
lyrics_transcriber/frontend/.yarnrc.yml,sha256=
|
26
|
+
lyrics_transcriber/frontend/.yarn/releases/yarn-4.7.0.cjs,sha256=KTYy2KCV2OpHhussV5jIPDdUSr7RftMRhqPsRUmgfAY,2765465
|
27
|
+
lyrics_transcriber/frontend/.yarnrc.yml,sha256=0hZQ1OTcPqTUNBqQeme4VFkIzrsabHNzLtc_M-wSgIM,66
|
28
28
|
lyrics_transcriber/frontend/README.md,sha256=-D6CAfKTT7Y0V3EjlZ2fMy7fyctFQ4x2TJ9vx6xtccM,1607
|
29
|
-
lyrics_transcriber/frontend/dist/assets/index-
|
30
|
-
lyrics_transcriber/frontend/dist/assets/index-
|
31
|
-
lyrics_transcriber/frontend/dist/index.html,sha256=
|
29
|
+
lyrics_transcriber/frontend/dist/assets/index-BXOpmKq-.js,sha256=fJYGO_HEfgSg_5A6_NK1Ee1f2kP_Qkp7JVcDe2ymvj4,1226990
|
30
|
+
lyrics_transcriber/frontend/dist/assets/index-BXOpmKq-.js.map,sha256=cgcHxY4eVWppSWSJ-ucIom6w9cuk47hay-wy8jlwD9k,2606947
|
31
|
+
lyrics_transcriber/frontend/dist/index.html,sha256=48OalxiOQ5ZEiPndZ-7VH4wb0wbeXzFH6VNWzRz1tqc,400
|
32
32
|
lyrics_transcriber/frontend/dist/vite.svg,sha256=SnSK_UQ5GLsWWRyDTEAdrjPoeGGrXbrQgRw6O0qSFPs,1497
|
33
33
|
lyrics_transcriber/frontend/eslint.config.js,sha256=3ADH23ANA4NNBKFy6nCVk65e8bx1DrVd_FIaYNnhuqA,734
|
34
34
|
lyrics_transcriber/frontend/index.html,sha256=KfqJVONzpUyPIwV73nZRiCWlwLnFWeB3z0vzxDPNudU,376
|
35
|
-
lyrics_transcriber/frontend/package.json,sha256=
|
35
|
+
lyrics_transcriber/frontend/package.json,sha256=Jhcrbko3OfV2YYc0JCkluoEFMTXq8EEqYm5gcI7O8SU,1181
|
36
36
|
lyrics_transcriber/frontend/public/vite.svg,sha256=SnSK_UQ5GLsWWRyDTEAdrjPoeGGrXbrQgRw6O0qSFPs,1497
|
37
37
|
lyrics_transcriber/frontend/src/App.tsx,sha256=f1-dp-MU8vap18eAXacwVDO5P4eE2iG9zSvjau-7NJs,6533
|
38
38
|
lyrics_transcriber/frontend/src/api.ts,sha256=UgqPc1jo8DEVgxh3_9Lyf9GBsHYpqMAqsPEE5BzTV4w,6640
|
@@ -45,24 +45,24 @@ lyrics_transcriber/frontend/src/components/EditTimelineSection.tsx,sha256=74dKgU
|
|
45
45
|
lyrics_transcriber/frontend/src/components/EditWordList.tsx,sha256=hJPXdpW3vur9OFnnIS8xk79yWWTsOuQgy2FdWNQ8vLg,10465
|
46
46
|
lyrics_transcriber/frontend/src/components/FileUpload.tsx,sha256=fwn2rMWtMLPTZLREMb3ps4prSf9nzxGwnjmeC6KYsJA,2383
|
47
47
|
lyrics_transcriber/frontend/src/components/FindReplaceModal.tsx,sha256=U7duKns4IqNXwbWFbQfdyaswnvkSRpfsU0UG__-Serc,20192
|
48
|
-
lyrics_transcriber/frontend/src/components/Header.tsx,sha256=
|
49
|
-
lyrics_transcriber/frontend/src/components/LyricsAnalyzer.tsx,sha256=
|
48
|
+
lyrics_transcriber/frontend/src/components/Header.tsx,sha256=PKFMDITEyC77ndk0emOsU6LFbPTLkWmkTLxEcndKPJY,11657
|
49
|
+
lyrics_transcriber/frontend/src/components/LyricsAnalyzer.tsx,sha256=i6RFC-JB5LfURVZnAuNevci1LMxmEXjKTgGTZNj9uSQ,40701
|
50
50
|
lyrics_transcriber/frontend/src/components/ModeSelector.tsx,sha256=OuCOqePGs5JC3NxZxrR-rDu5W5WSObuxrLVOIaqHDOs,1941
|
51
51
|
lyrics_transcriber/frontend/src/components/PreviewVideoSection.tsx,sha256=-9_ljoaadHjAAvia_vhEUgCajPv2jFnRDVR6VWN_a0w,4166
|
52
|
-
lyrics_transcriber/frontend/src/components/ReferenceView.tsx,sha256=
|
52
|
+
lyrics_transcriber/frontend/src/components/ReferenceView.tsx,sha256=thpf2ojge9pvZojUnGaiQroeHfBmxhUesO7945RGSfk,9499
|
53
53
|
lyrics_transcriber/frontend/src/components/ReviewChangesModal.tsx,sha256=zcGoIu5Iqs4ZXpGr3yeMIEKPf8FRLCP2i1TzNOmKzg0,13048
|
54
54
|
lyrics_transcriber/frontend/src/components/SegmentDetailsModal.tsx,sha256=6ME02FkFwCgDAxW49yW260N4vbr80eAJ332Ex811GOo,1643
|
55
55
|
lyrics_transcriber/frontend/src/components/TimelineEditor.tsx,sha256=Aa6ykDRVhWUNHcJ14KGzmUCPDCAltw9gXpdR5ogVQpc,12842
|
56
56
|
lyrics_transcriber/frontend/src/components/TranscriptionView.tsx,sha256=It9alDqvlp3zu9ceEjFpqBOKDa2BFxP4AHm7v2K4AI0,7399
|
57
57
|
lyrics_transcriber/frontend/src/components/WordDivider.tsx,sha256=tOs_4WZGlJQ1o7sZFGLhwUoyX2jSKMa6vLZqa-1vzKY,6590
|
58
|
-
lyrics_transcriber/frontend/src/components/shared/components/HighlightedText.tsx,sha256=
|
59
|
-
lyrics_transcriber/frontend/src/components/shared/components/SourceSelector.tsx,sha256=
|
60
|
-
lyrics_transcriber/frontend/src/components/shared/components/Word.tsx,sha256=
|
58
|
+
lyrics_transcriber/frontend/src/components/shared/components/HighlightedText.tsx,sha256=Iopa2n7ANnPtHFu2zq7vnfwQ4SOgmBUHUfNKwBQHBxY,16203
|
59
|
+
lyrics_transcriber/frontend/src/components/shared/components/SourceSelector.tsx,sha256=FpMn-0i1NFxdIHZN0dxHkWzIIsOEi9CJc_rQMpLyxVw,2031
|
60
|
+
lyrics_transcriber/frontend/src/components/shared/components/Word.tsx,sha256=4y1kyWsAO--phTwWvRgX8nAHwSKuBYKVSuJK6j8--rg,2153
|
61
61
|
lyrics_transcriber/frontend/src/components/shared/constants.ts,sha256=25q1qjCwzV-hR72wSb_rJSe4dVuQ0l-piLMoZSpynGQ,488
|
62
62
|
lyrics_transcriber/frontend/src/components/shared/hooks/useWordClick.ts,sha256=aRDzH144FYuK9N3Y0wyTp2c1-DJOT_Y3HWQHHGqiUsY,6196
|
63
63
|
lyrics_transcriber/frontend/src/components/shared/styles.ts,sha256=J1jCSuRqpk1mOFYAqJudhxeozH-q1bi-dsOibLukBJU,411
|
64
64
|
lyrics_transcriber/frontend/src/components/shared/types.js,sha256=1DqoH1vIn6o1ng-XyBS6JRVVkf8Hj7ub_UD4x8loMjA,77
|
65
|
-
lyrics_transcriber/frontend/src/components/shared/types.ts,sha256
|
65
|
+
lyrics_transcriber/frontend/src/components/shared/types.ts,sha256=TUjxwXxiahw0JrRUTUFk_ucUo-G16hB0Jpt8OgVULoU,3892
|
66
66
|
lyrics_transcriber/frontend/src/components/shared/utils/keyboardHandlers.ts,sha256=qtXin35bdVlitJSOmgju-WZP4QkwAJqjlYH3DuwfFPg,4522
|
67
67
|
lyrics_transcriber/frontend/src/components/shared/utils/localStorage.ts,sha256=jpLT65Rk_toaB-8X2lRGyYZ9EoMQDI45GviUT7N9Bp0,3240
|
68
68
|
lyrics_transcriber/frontend/src/components/shared/utils/referenceLineCalculator.ts,sha256=TJ2oHDitFFVxm83eFEhdlwvhx--mIt3054YbET2RiXs,2575
|
@@ -148,8 +148,8 @@ lyrics_transcriber/transcribers/base_transcriber.py,sha256=T3m4ZCwZ9Bpv6Jvb2hNcn
|
|
148
148
|
lyrics_transcriber/transcribers/whisper.py,sha256=YcCB1ic9H6zL1GS0jD0emu8-qlcH0QVEjjjYB4aLlIQ,13260
|
149
149
|
lyrics_transcriber/types.py,sha256=d73cDstrEI_tVgngDYYYFwjZNs6OVBuAB_QDkga7dWA,19841
|
150
150
|
lyrics_transcriber/utils/word_utils.py,sha256=-cMGpj9UV4F6IsoDKAV2i1aiqSO8eI91HMAm_igtVMk,958
|
151
|
-
lyrics_transcriber-0.
|
152
|
-
lyrics_transcriber-0.
|
153
|
-
lyrics_transcriber-0.
|
154
|
-
lyrics_transcriber-0.
|
155
|
-
lyrics_transcriber-0.
|
151
|
+
lyrics_transcriber-0.46.0.dist-info/LICENSE,sha256=BiPihPDxhxIPEx6yAxVfAljD5Bhm_XG2teCbPEj_m0Y,1069
|
152
|
+
lyrics_transcriber-0.46.0.dist-info/METADATA,sha256=71tS3Z4R4N11CnTvkLAUpB4bggQAsRfVsrV3oN35930,6017
|
153
|
+
lyrics_transcriber-0.46.0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
154
|
+
lyrics_transcriber-0.46.0.dist-info/entry_points.txt,sha256=kcp-bSFkCACAEA0t166Kek0HpaJUXRo5SlF5tVrqNBU,216
|
155
|
+
lyrics_transcriber-0.46.0.dist-info/RECORD,,
|