@@ -44,10 +44,10 @@ def format(self) -> list[dict[str, Any]]:
44
44
@classmethod
45
45
def validate_input (cls , values : Any ) -> Any :
46
46
"""
47
- Validate input for Audio, expecting 'data' and 'format ' keys in dictionary.
47
+ Validate input for Audio, expecting 'data' and 'audio_format ' keys in dictionary.
48
48
"""
49
49
if isinstance (values , cls ):
50
- return {"data" : values .data , "format " : values .format }
50
+ return {"data" : values .data , "audio_format " : values .audio_format }
51
51
return encode_audio (values )
52
52
53
53
@classmethod
@@ -62,7 +62,7 @@ def from_url(cls, url: str) -> "Audio":
62
62
raise ValueError (f"Unsupported MIME type for audio: { mime_type } " )
63
63
audio_format = mime_type .split ("/" )[1 ]
64
64
encoded_data = base64 .b64encode (response .content ).decode ("utf-8" )
65
- return cls (data = encoded_data , format = audio_format )
65
+ return cls (data = encoded_data , audio_format = audio_format )
66
66
67
67
@classmethod
68
68
def from_file (cls , file_path : str ) -> "Audio" :
@@ -81,7 +81,7 @@ def from_file(cls, file_path: str) -> "Audio":
81
81
82
82
audio_format = mime_type .split ("/" )[1 ]
83
83
encoded_data = base64 .b64encode (file_data ).decode ("utf-8" )
84
- return cls (data = encoded_data , format = audio_format )
84
+ return cls (data = encoded_data , audio_format = audio_format )
85
85
86
86
@classmethod
87
87
def from_array (
@@ -102,44 +102,44 @@ def from_array(
102
102
subtype = "PCM_16" ,
103
103
)
104
104
encoded_data = base64 .b64encode (byte_buffer .getvalue ()).decode ("utf-8" )
105
- return cls (data = encoded_data , format = format )
105
+ return cls (data = encoded_data , audio_format = format )
106
106
107
107
def __str__ (self ) -> str :
108
108
return self .serialize_model ()
109
109
110
110
def __repr__ (self ) -> str :
111
111
length = len (self .data )
112
- return f"Audio(data=<AUDIO_BASE_64_ENCODED({ length } )>, format ='{ self .audio_format } ')"
112
+ return f"Audio(data=<AUDIO_BASE_64_ENCODED({ length } )>, audio_format ='{ self .audio_format } ')"
113
113
114
114
def encode_audio (audio : Union [str , bytes , dict , "Audio" , Any ], sampling_rate : int = 16000 , format : str = "wav" ) -> dict :
115
115
"""
116
- Encode audio to a dict with 'data' and 'format '.
116
+ Encode audio to a dict with 'data' and 'audio_format '.
117
117
118
118
Accepts: local file path, URL, data URI, dict, Audio instance, numpy array, or bytes (with known format).
119
119
"""
120
- if isinstance (audio , dict ) and "data" in audio and "format " in audio :
120
+ if isinstance (audio , dict ) and "data" in audio and "audio_format " in audio :
121
121
return audio
122
122
elif isinstance (audio , Audio ):
123
- return {"data" : audio .data , "format " : audio .format }
123
+ return {"data" : audio .data , "audio_format " : audio .audio_format }
124
124
elif isinstance (audio , str ) and audio .startswith ("data:audio/" ):
125
125
try :
126
126
header , b64data = audio .split ("," , 1 )
127
127
mime = header .split (";" )[0 ].split (":" )[1 ]
128
128
audio_format = mime .split ("/" )[1 ]
129
- return {"data" : b64data , "format " : audio_format }
129
+ return {"data" : b64data , "audio_format " : audio_format }
130
130
except Exception as e :
131
131
raise ValueError (f"Malformed audio data URI: { e } " )
132
132
elif isinstance (audio , str ) and os .path .isfile (audio ):
133
133
a = Audio .from_file (audio )
134
- return {"data" : a .data , "format " : a .format }
134
+ return {"data" : a .data , "audio_format " : a .audio_format }
135
135
elif isinstance (audio , str ) and audio .startswith ("http" ):
136
136
a = Audio .from_url (audio )
137
- return {"data" : a .data , "format " : a .format }
137
+ return {"data" : a .data , "audio_format " : a .audio_format }
138
138
elif SF_AVAILABLE and hasattr (audio , "shape" ):
139
139
a = Audio .from_array (audio , sampling_rate = sampling_rate , format = format )
140
- return {"data" : a .data , "format " : a .format }
140
+ return {"data" : a .data , "audio_format " : a .audio_format }
141
141
elif isinstance (audio , bytes ):
142
142
encoded = base64 .b64encode (audio ).decode ("utf-8" )
143
- return {"data" : encoded , "format " : format }
143
+ return {"data" : encoded , "audio_format " : format }
144
144
else :
145
145
raise ValueError (f"Unsupported type for encode_audio: { type (audio )} " )
0 commit comments