Spaces:
Running
Running
jhj0517
commited on
Commit
·
6f022af
1
Parent(s):
d4bc29b
Wrap faster-whisper Segment to with fastapi's.
Browse files
modules/whisper/data_classes.py
CHANGED
@@ -1,10 +1,12 @@
|
|
|
|
1 |
import gradio as gr
|
2 |
import torch
|
3 |
-
from typing import Optional, Dict, List, Union
|
4 |
from pydantic import BaseModel, Field, field_validator, ConfigDict
|
5 |
from gradio_i18n import Translate, gettext as _
|
6 |
from enum import Enum
|
7 |
from copy import deepcopy
|
|
|
8 |
import yaml
|
9 |
|
10 |
from modules.utils.constants import *
|
@@ -17,12 +19,23 @@ class WhisperImpl(Enum):
|
|
17 |
|
18 |
|
19 |
class Segment(BaseModel):
|
20 |
-
|
21 |
-
|
22 |
-
start: Optional[float] = Field(default=None,
|
23 |
-
|
24 |
-
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
|
28 |
class BaseParams(BaseModel):
|
|
|
1 |
+
import faster_whisper.transcribe
|
2 |
import gradio as gr
|
3 |
import torch
|
4 |
+
from typing import Optional, Dict, List, Union, NamedTuple
|
5 |
from pydantic import BaseModel, Field, field_validator, ConfigDict
|
6 |
from gradio_i18n import Translate, gettext as _
|
7 |
from enum import Enum
|
8 |
from copy import deepcopy
|
9 |
+
|
10 |
import yaml
|
11 |
|
12 |
from modules.utils.constants import *
|
|
|
19 |
|
20 |
|
21 |
class Segment(BaseModel):
|
22 |
+
id: Optional[str] = Field(default=None, description="Unique identifier for the segment")
|
23 |
+
text: Optional[str] = Field(default=None, description="Transcription text of the segment")
|
24 |
+
start: Optional[float] = Field(default=None, description="Start time of the segment")
|
25 |
+
end: Optional[float] = Field(default=None, description="End time of the segment")
|
26 |
+
tokens: Optional[List[int]] = Field(default=None, description="List of token IDs")
|
27 |
+
temperature: Optional[float] = Field(default=None, description="Temperature used during the decoding process")
|
28 |
+
avg_logprob: Optional[float] = Field(default=None, description="Average log probability of the tokens")
|
29 |
+
compression_ratio: Optional[float] = Field(default=None, description="Compression ratio of the segment")
|
30 |
+
no_speech_prob: Optional[float] = Field(default=None, description="Probability that it's not speech")
|
31 |
+
words: Optional[List['Word']] = Field(default=None, description="List of words contained in the segment")
|
32 |
+
|
33 |
+
|
34 |
+
class Word(NamedTuple):
|
35 |
+
start: Optional[float] = None
|
36 |
+
end: Optional[float] = None
|
37 |
+
word: Optional[str] = None
|
38 |
+
probability: Optional[float] = None
|
39 |
|
40 |
|
41 |
class BaseParams(BaseModel):
|