| 209 | |
| 210 | |
| 211 | def generate_scp_from_url(url: str, key: str = None): |
| 212 | wav_scp_path = None |
| 213 | raw_inputs = None |
| 214 | # for local inputs |
| 215 | if os.path.exists(url): |
| 216 | wav_scp_path = url |
| 217 | return wav_scp_path, raw_inputs |
| 218 | # for wav url, download bytes data |
| 219 | if url.startswith('http'): |
| 220 | result = urlparse(url) |
| 221 | if result.scheme is not None and len(result.scheme) > 0: |
| 222 | storage = HTTPStorage() |
| 223 | # bytes |
| 224 | data = storage.read(url) |
| 225 | work_dir = tempfile.TemporaryDirectory().name |
| 226 | if not os.path.exists(work_dir): |
| 227 | os.makedirs(work_dir) |
| 228 | wav_path = os.path.join(work_dir, os.path.basename(url)) |
| 229 | with open(wav_path, 'wb') as fb: |
| 230 | fb.write(data) |
| 231 | return wav_path, raw_inputs |
| 232 | |
| 233 | return wav_scp_path, raw_inputs |
| 234 | |
| 235 | |
| 236 | def generate_text_from_url(url: str): |