jhj0517 commited on
Commit
6f022af
·
1 Parent(s): d4bc29b

Wrap faster-whisper Segment to with fastapi's.

Browse files
Files changed (1) hide show
  1. modules/whisper/data_classes.py +20 -7
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
- text: Optional[str] = Field(default=None,
21
- description="Transcription text of the segment")
22
- start: Optional[float] = Field(default=None,
23
- description="Start time of the segment")
24
- end: Optional[float] = Field(default=None,
25
- description="End time of the segment")
 
 
 
 
 
 
 
 
 
 
 
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):