asahi417 commited on
Commit
46f8e29
·
verified ·
1 Parent(s): 9814043

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +36 -71
README.md CHANGED
@@ -61,7 +61,7 @@ model_id = "kotoba-tech/kotoba-whisper-v2.2"
61
  torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32
62
  device = "cuda:0" if torch.cuda.is_available() else "cpu"
63
  model_kwargs = {"attn_implementation": "sdpa"} if torch.cuda.is_available() else {}
64
- generate_kwargs = {"language": "ja", "task": "transcribe"}
65
 
66
  # load model
67
  pipe = pipeline(
@@ -70,93 +70,58 @@ pipe = pipeline(
70
  device=device,
71
  model_kwargs=model_kwargs,
72
  chunk_length_s=15,
73
- batch_size=16,
74
  trust_remote_code=True,
75
  )
76
 
77
  # run inference
78
- result = pipe(
79
- "sample_diarization_japanese.mp3",
80
- add_punctuation=False,
81
- return_unique_speaker=True,
82
- generate_kwargs=generate_kwargs
83
- )
84
  print(result)
85
- >>>
86
- {'chunks': [{'speaker': ['SPEAKER_02'],
87
- 'text': 'そうですねこれも先ほどがずっと言っている自分の感覚的には大丈夫ですけれども',
88
- 'timestamp': (0.0, 5.0)},
89
- {'speaker': ['SPEAKER_02'],
90
- 'text': '今は屋外の気温',
91
- 'timestamp': (5.0, 7.6)},
92
- {'speaker': ['SPEAKER_02'],
93
- 'text': '昼も夜も上がってますので空気の入れ替えだけでは',
94
- 'timestamp': (7.6, 11.72)},
95
- {'speaker': ['SPEAKER_02'],
96
- 'text': 'かえって人が上がってきます',
97
- 'timestamp': (11.72, 13.54)},
98
- {'speaker': ['SPEAKER_02'],
99
- 'text': 'やっぱり愚直にやっぱりその街の良さをアピールしていくっていう',
100
- 'timestamp': (13.54, 17.24)},
101
- {'speaker': ['SPEAKER_00'],
102
- 'text': 'そういう姿勢が基本にあった上だのこういうPR作戦だと思うんです',
103
- 'timestamp': (17.24, 23.84)}],
104
- 'chunks/SPEAKER_00': [{'speaker': ['SPEAKER_00'],
105
- 'text': 'そういう姿勢が基本にあった上だのこういうPR作戦だと思うんです',
106
- 'timestamp': (17.24, 23.84)}],
107
- 'chunks/SPEAKER_02': [{'speaker': ['SPEAKER_02'],
108
- 'text': 'そうですねこれも先ほどがずっと言っている自分の感覚的には大丈夫ですけれども',
109
- 'timestamp': (0.0, 5.0)},
110
- {'speaker': ['SPEAKER_02'],
111
- 'text': '今は屋外の気温',
112
- 'timestamp': (5.0, 7.6)},
113
- {'speaker': ['SPEAKER_02'],
114
- 'text': '昼も夜も上がってますので空気の入れ替えだけでは',
115
- 'timestamp': (7.6, 11.72)},
116
- {'speaker': ['SPEAKER_02'],
117
- 'text': 'かえって人が上がってきます',
118
- 'timestamp': (11.72, 13.54)},
119
- {'speaker': ['SPEAKER_02'],
120
- 'text': 'やっぱり愚直にやっぱりその街の良さをアピールしていくっていう',
121
- 'timestamp': (13.54, 17.24)}],
122
- 'speakers': ['SPEAKER_00', 'SPEAKER_02'],
123
- 'text': 'そうですねこれも先ほどがずっと言っている自分の感覚的には大丈夫ですけれども今は屋外の気温昼も夜も上がってますので空気の入れ替えだけではかえって人が上がってきますやっぱり愚直にやっぱりその街の良さをアピールしていくっていうそういう姿勢が基本にあった上だのこういうPR作戦だと思うんです',
124
- 'text/SPEAKER_00': 'そういう姿勢が基本にあった上だのこういうPR作戦だと思うんです',
125
- 'text/SPEAKER_02': 'そうですねこれも先ほどがずっと言っている自分の感覚的には大丈夫ですけれども今は屋外の気温昼も夜も上がってますので空気の入れ替えだけではかえって人が上がってきますやっぱり愚直にやっぱりその街の良さをアピールしていくっていう'}
126
  ```
127
 
128
  - To activate punctuator:
129
  ```diff
130
- - add_punctuation=True,
131
- + add_punctuation=False,
132
  ```
133
-
134
- - To include more than a single speaker:
135
- ```diff
136
- - return_unique_speaker=True
137
- + return_unique_speaker=False
138
  ```
139
 
140
  - To contorol the number of speakers (see [here](https://huggingface.co/pyannote/speaker-diarization-3.1#controlling-the-number-of-speakers)):
141
  ```diff
142
- result = pipe(
143
- "sample_diarization_japanese.mp3",
144
- + num_speakers=2,
145
- add_punctuation=False,
146
- return_unique_speaker=True,
147
- generate_kwargs=generate_kwargs
148
- )
149
  ```
150
  or
151
  ```diff
152
- result = pipe(
153
- "sample_diarization_japanese.mp3",
154
- + min_speakers=2,
155
- + max_speakers=5,
156
- add_punctuation=False,
157
- return_unique_speaker=True,
158
- generate_kwargs=generate_kwargs
159
- )
160
  ```
161
 
162
  ### Flash Attention 2
 
61
  torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32
62
  device = "cuda:0" if torch.cuda.is_available() else "cpu"
63
  model_kwargs = {"attn_implementation": "sdpa"} if torch.cuda.is_available() else {}
64
+
65
 
66
  # load model
67
  pipe = pipeline(
 
70
  device=device,
71
  model_kwargs=model_kwargs,
72
  chunk_length_s=15,
73
+ batch_size=8,
74
  trust_remote_code=True,
75
  )
76
 
77
  # run inference
78
+ result = pipe("sample_diarization_japanese.mp3")
 
 
 
 
 
79
  print(result)
80
+ >>> {
81
+ 'chunk/SPEAKER_00': [{'speaker_id': 'SPEAKER_00', 'text': '水をマレーシアから買わなくてはならないのです', 'timestamp': [22.1, 24.97]}],
82
+ 'chunk/SPEAKER_01': [{'speaker_id': 'SPEAKER_01', 'text': 'これも先ほどがずっと言っている自分の感覚的には大丈夫ですけれども', 'timestamp': [0.03, 13.85]},
83
+ {'speaker_id': 'SPEAKER_01', 'text': '今は屋外の気温', 'timestamp': [5.03, 18.85]},
84
+ {'speaker_id': 'SPEAKER_01', 'text': '昼も夜も上がってますので', 'timestamp': [7.63, 21.45]},
85
+ {'speaker_id': 'SPEAKER_01', 'text': '空気の入れ替えだけではかえって人が上がってきます', 'timestamp': [9.91, 23.73]}],
86
+ 'chunk/SPEAKER_02': [{'speaker_id': 'SPEAKER_02', 'text': '愚直にやっぱりその街の良さをアピールしていくという', 'timestamp': [13.48, 22.1]},
87
+ {'speaker_id': 'SPEAKER_02', 'text': 'そういう姿勢が基本にあった上での', 'timestamp': [17.26, 25.88]},
88
+ {'speaker_id': 'SPEAKER_02', 'text': 'こういうPR作戦だと思うんですよね', 'timestamp': [19.86, 28.48]}],
89
+ 'chunks': [{'speaker_id': 'SPEAKER_00', 'text': '水をマレーシアから買わなくてはならないのです', 'timestamp': [22.1, 24.97]},
90
+ {'speaker_id': 'SPEAKER_01', 'text': 'これも先ほどがずっと言っている自分の感覚的には大丈夫ですけれども', 'timestamp': [0.03, 13.85]},
91
+ {'speaker_id': 'SPEAKER_01', 'text': '今は屋外の気温', 'timestamp': [5.03, 18.85]},
92
+ {'speaker_id': 'SPEAKER_01', 'text': '昼も夜も上がってますので', 'timestamp': [7.63, 21.45]},
93
+ {'speaker_id': 'SPEAKER_01', 'text': '空気の入れ替えだけではかえって人が上がってきます', 'timestamp': [9.91, 23.73]},
94
+ {'speaker_id': 'SPEAKER_02', 'text': '愚直にやっぱりその街の良さをアピールしていくという', 'timestamp': [13.48, 22.1]},
95
+ {'speaker_id': 'SPEAKER_02', 'text': 'そういう姿勢が基本にあった上での', 'timestamp': [17.26, 25.88]},
96
+ {'speaker_id': 'SPEAKER_02', 'text': 'こういうPR作戦だと思うんですよね', 'timestamp': [19.86, 28.48]}],
97
+ 'speaker_ids': ['SPEAKER_00', 'SPEAKER_01', 'SPEAKER_02'],
98
+ 'text/SPEAKER_00': '水をマレーシアから買わなくてはならないのです',
99
+ 'text/SPEAKER_01': 'これも先ほどがずっと言っている自分の感覚的には大丈夫ですけれども今は屋外の気温昼も夜も上がってますので空気の入れ替えだけではかえって人が上がってきます',
100
+ 'text/SPEAKER_02': '愚直にやっぱりその街の良さをアピールしていくというそういう姿勢が基本にあった上でのこういうPR作戦だと思うんですよね'
101
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
  ```
103
 
104
  - To activate punctuator:
105
  ```diff
106
+ - result = pipe("sample_diarization_japanese.mp3")
107
+ + result = pipe("sample_diarization_japanese.mp3", add_punctuation=True)
108
  ```
109
+ The punctuator will be applied to `text/*` feature. Eg.)
110
+ ```
111
+ 'text/SPEAKER_00': '水をマレーシアから買わなくてはならないのです。',
112
+ 'text/SPEAKER_01': 'これも先ほどがずっと言っている。自分の感覚的には大丈夫ですけれども、今は屋外の気温。昼も夜も上がってますので。空気の入れ替えだけではかえって人が上がってきます。',
113
+ 'text/SPEAKER_02': '愚直にやっぱりその街の良さをアピールしていくというそういう姿勢が基本にあった上でのこういうPR作戦だと思うんですよね'
114
  ```
115
 
116
  - To contorol the number of speakers (see [here](https://huggingface.co/pyannote/speaker-diarization-3.1#controlling-the-number-of-speakers)):
117
  ```diff
118
+ - result = pipe("sample_diarization_japanese.mp3")
119
+ + result = pipe("sample_diarization_japanese.mp3", num_speakers=3)
 
 
 
 
 
120
  ```
121
  or
122
  ```diff
123
+ - result = pipe("sample_diarization_japanese.mp3")
124
+ + result = pipe("sample_diarization_japanese.mp3", min_speakers=2, max_speakers=5)
 
 
 
 
 
 
125
  ```
126
 
127
  ### Flash Attention 2