Spaces:
Runtime error
Runtime error
| from azure.storage.blob import BlobServiceClient | |
| from io import BytesIO | |
| from pydub import AudioSegment | |
| import os | |
| import ffmpeg | |
| audio_clip_mapping = { | |
| "key1": "3_second_explosion_00001.flac", | |
| # Add more key-value pairs as needed | |
| } | |
| # Initialize Azure Blob Storage client | |
| account_name = 'phonebrrdemonstration2' | |
| account_key = 'Q+EneUx5hlODHCjsSo49mm1bGVNdBd2wZ/T0yZMtag1C6FUIwr/yKf+XqDPmVF1PU81eitB2L3tN+AStD/eZ+A==' | |
| blob_service_client = BlobServiceClient( | |
| account_url=f"https://{account_name}.blob.core.windows.net", | |
| credential=account_key | |
| ) | |
| # Define the container name | |
| container_name = 'audio3second0001' # should define the what container should access | |
| # Define a function to retrieve audio clips by key | |
| def retrieve_audio_clip(key): | |
| # Get the blob name corresponding to the key | |
| blob_name = audio_clip_mapping.get(key) | |
| if blob_name is None: | |
| print(f"No audio clip found for key: {key}") | |
| return None | |
| # Get the blob client for the audio clip | |
| blob_client = blob_service_client.get_blob_client(container=container_name, blob=blob_name) | |
| # Stream the audio data directly into an AudioSegment object | |
| stream = BytesIO() | |
| blob_client.download_blob().download_to_stream(stream) | |
| stream.seek(0) | |
| audio_segment = AudioSegment.from_file(stream) | |
| stream.close() # Close the stream to avoid memory leaks | |
| return audio_segment | |
| # Example usage: | |
| key_to_retrieve = "key1" | |
| retrieved_audio_clip = retrieve_audio_clip(key_to_retrieve) | |
| if retrieved_audio_clip: | |
| print(f"Retrieved audio clip for key {key_to_retrieve}") | |
| # Further process retrieved_audio_clip as needed |