future fixes
Browse files
App/Generate/database/ElevenLab.py
CHANGED
@@ -9,18 +9,17 @@ from pydantic import BaseModel
|
|
9 |
|
10 |
|
11 |
class AlignmentData(BaseModel):
|
12 |
-
|
13 |
start: float
|
14 |
end: float
|
15 |
-
hasFailedAlignment: bool
|
16 |
|
17 |
def to_dict(self) -> dict:
|
18 |
return {
|
19 |
-
"word": self.
|
20 |
-
"alignedWord": self.
|
21 |
"startTime": self.start,
|
22 |
"endTime": self.end,
|
23 |
-
"hasFailedAlignment":
|
24 |
}
|
25 |
|
26 |
|
@@ -768,11 +767,14 @@ class ElevenLab:
|
|
768 |
"post", "descript_transcript", json=data, external=self.descript
|
769 |
)
|
770 |
if not response_data:
|
|
|
|
|
771 |
response_data = await self.aligner(
|
772 |
"post",
|
773 |
"align/url",
|
774 |
json=data,
|
775 |
)
|
|
|
776 |
response_data = self.process_alignments(
|
777 |
data=response_data["alignment"], offset=0
|
778 |
)
|
@@ -782,14 +784,14 @@ class ElevenLab:
|
|
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(
|
786 |
|
787 |
async def aligner(
|
788 |
self,
|
789 |
method,
|
790 |
endpoint,
|
791 |
json=None,
|
792 |
-
external="https://yakova-aligner.hf.space/",
|
793 |
):
|
794 |
async with aiohttp.ClientSession() as session:
|
795 |
if external:
|
|
|
9 |
|
10 |
|
11 |
class AlignmentData(BaseModel):
|
12 |
+
word: str
|
13 |
start: float
|
14 |
end: float
|
|
|
15 |
|
16 |
def to_dict(self) -> dict:
|
17 |
return {
|
18 |
+
"word": self.word,
|
19 |
+
"alignedWord": self.word,
|
20 |
"startTime": self.start,
|
21 |
"endTime": self.end,
|
22 |
+
"hasFailedAlignment": False,
|
23 |
}
|
24 |
|
25 |
|
|
|
767 |
"post", "descript_transcript", json=data, external=self.descript
|
768 |
)
|
769 |
if not response_data:
|
770 |
+
data["audio_url"] = data["audio_url"][0]
|
771 |
+
print(data)
|
772 |
response_data = await self.aligner(
|
773 |
"post",
|
774 |
"align/url",
|
775 |
json=data,
|
776 |
)
|
777 |
+
print(response_data)
|
778 |
response_data = self.process_alignments(
|
779 |
data=response_data["alignment"], offset=0
|
780 |
)
|
|
|
784 |
self, data: List[Dict[str, Any]], offset: float = 0
|
785 |
) -> List[Dict[str, Any]]:
|
786 |
alignments = [AlignmentData(**item) for item in data]
|
787 |
+
return [alignment.to_dict() for alignment in alignments]
|
788 |
|
789 |
async def aligner(
|
790 |
self,
|
791 |
method,
|
792 |
endpoint,
|
793 |
json=None,
|
794 |
+
external="https://yakova-aligner.hf.space/align/url",
|
795 |
):
|
796 |
async with aiohttp.ClientSession() as session:
|
797 |
if external:
|