Spaces:
Running
on
Zero
Running
on
Zero
| from typing import Any, Optional | |
| from loguru import logger | |
| def get_audio_codes(audio_path: str, dit_handler) -> Optional[str]: | |
| """Encode audio to get semantic codes for LLM understanding.""" | |
| try: | |
| if not hasattr(dit_handler, "convert_src_audio_to_codes"): | |
| logger.error("DiT handler missing convert_src_audio_to_codes method") | |
| return None | |
| codes_string = dit_handler.convert_src_audio_to_codes(audio_path) | |
| if codes_string and not codes_string.startswith("❌"): | |
| return codes_string | |
| logger.warning(f"Failed to convert audio to codes: {codes_string}") | |
| return None | |
| except Exception: | |
| logger.exception(f"Error encoding audio {audio_path}") | |
| return None | |
| def parse_int(value: Any) -> Optional[int]: | |
| """Safely parse an integer value.""" | |
| if value is None or value == "N/A" or value == "": | |
| return None | |
| try: | |
| return int(value) | |
| except (ValueError, TypeError): | |
| return None | |