Mbonea commited on
Commit
dbada5e
·
1 Parent(s): d0ada25

added an adapter

Browse files
Files changed (1) hide show
  1. App/Generate/database/ElevenLab.py +28 -0
App/Generate/database/ElevenLab.py CHANGED
@@ -3,6 +3,25 @@ import asyncio
3
  import os
4
  import uuid
5
  import tempfile
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
 
7
 
8
  class ElevenLab:
@@ -754,8 +773,17 @@ class ElevenLab:
754
  "align/url",
755
  json=data,
756
  )
 
 
 
757
  return response_data
758
 
 
 
 
 
 
 
759
  async def aligner(
760
  self,
761
  method,
 
3
  import os
4
  import uuid
5
  import tempfile
6
+ from typing import List, Dict, Any
7
+
8
+ from pydantic import BaseModel
9
+
10
+
11
+ class AlignmentData(BaseModel):
12
+ text: str
13
+ start: float
14
+ end: float
15
+ hasFailedAlignment: bool
16
+
17
+ def to_dict(self) -> dict:
18
+ return {
19
+ "word": self.text,
20
+ "alignedWord": self.text,
21
+ "startTime": self.start,
22
+ "endTime": self.end,
23
+ "hasFailedAlignment": self.hasFailedAlignment,
24
+ }
25
 
26
 
27
  class ElevenLab:
 
773
  "align/url",
774
  json=data,
775
  )
776
+ response_data = self.process_alignments(
777
+ data=response_data["alignment"], offset=0
778
+ )
779
  return response_data
780
 
781
+ def process_alignments(
782
+ self, data: List[Dict[str, Any]], offset: float = 0
783
+ ) -> List[Dict[str, Any]]:
784
+ alignments = [AlignmentData(**item) for item in data]
785
+ return [alignment.to_dict(offset) for alignment in alignments]
786
+
787
  async def aligner(
788
  self,
789
  method,