Spaces:
Configuration error
Configuration error
Upload app.py
Browse files
app.py
CHANGED
|
@@ -36,17 +36,17 @@ def json_to_srt(segments):
|
|
| 36 |
return "\n".join(srt_lines)
|
| 37 |
|
| 38 |
def validate_and_convert(file, Language, api_key):
|
| 39 |
-
gr.Info("檔案上傳完成,開始轉換......")
|
| 40 |
try:
|
| 41 |
if not api_key:
|
| 42 |
os.remove(file.name)
|
| 43 |
gr.Warning("請輸入正確的 API Key!!")
|
| 44 |
-
return
|
| 45 |
if api_key == os.getenv("SPACE_ID"):
|
| 46 |
api_key = os.getenv("YOUR_API_KEY")
|
| 47 |
except Exception as e:
|
| 48 |
gr.Warning("請輸入正確的 API Key!!")
|
| 49 |
-
return f"請輸入正確的 API Key!!"
|
|
|
|
| 50 |
MAX_FILE_SIZE = 200 * 1024 * 1024 # 200MB
|
| 51 |
ALLOWED_EXTENSIONS = ['mp3', 'mp4', 'mpeg', 'm4a', 'wav', 'ogg', 'flac', 'webm', 'mpga']
|
| 52 |
if file is None:
|
|
@@ -158,7 +158,7 @@ def transcribe_audio(filename, Language, api_key, show_info):
|
|
| 158 |
if show_info:
|
| 159 |
gr.Info("開始轉譯,請稍候......")
|
| 160 |
client = Groq(api_key=api_key)
|
| 161 |
-
language_dict = {"繁體中文": "zh", "English": "en", "German": "de", "Spanish": "es", "Russian": "ru", "Korean": "ko", "French": "fr", "Japanese": "ja", "Portuguese": "pt", "Turkish": "tr", "Polish": "pl", "Catalan": "ca", "Dutch": "nl", "Arabic": "ar", "Swedish": "sv", "Italian": "it", "Indonesian": "id", "Hindi": "hi", "Finnish": "fi", "Vietnamese": "vi", "Hebrew": "he", "Ukrainian": "uk", "Greek": "el", "Malay": "ms", "Czech": "cs", "Romanian": "ro", "Danish": "da", "Hungarian": "hu", "Tamil": "ta", "Norwegian": "no", "Thai": "th", "Urdu": "ur", "Croatian": "hr", "Bulgarian": "bg", "Lithuanian": "lt", "Latin": "la", "Maori": "mi", "Malayalam": "ml", "Welsh": "cy", "Slovak": "sk", "Telugu": "te", "Persian": "fa", "Latvian": "lv", "Bengali": "bn", "Serbian": "sr", "Azerbaijani": "az", "Slovenian": "sl", "Kannada": "kn", "Estonian": "et", "Macedonian": "mk", "Breton": "br", "Basque": "eu", "Icelandic": "is", "Armenian": "hy", "Nepali": "ne", "Mongolian": "mn", "Bosnian": "bs", "Kazakh": "kk", "Albanian": "sq", "Swahili": "sw", "Galician": "gl", "Marathi": "mr", "Punjabi": "pa", "
|
| 162 |
selected_language = language_dict.get(Language)
|
| 163 |
selected_model = "distil-whisper-large-v3-en" if Language == "English" else "whisper-large-v3"
|
| 164 |
with open(filename, "rb") as file:
|
|
|
|
| 36 |
return "\n".join(srt_lines)
|
| 37 |
|
| 38 |
def validate_and_convert(file, Language, api_key):
|
|
|
|
| 39 |
try:
|
| 40 |
if not api_key:
|
| 41 |
os.remove(file.name)
|
| 42 |
gr.Warning("請輸入正確的 API Key!!")
|
| 43 |
+
return None, None, "請輸入正確的 API Key!!", None, None
|
| 44 |
if api_key == os.getenv("SPACE_ID"):
|
| 45 |
api_key = os.getenv("YOUR_API_KEY")
|
| 46 |
except Exception as e:
|
| 47 |
gr.Warning("請輸入正確的 API Key!!")
|
| 48 |
+
return None, None, f"請輸入正確的 API Key!!", None, None
|
| 49 |
+
gr.Info("檔案上傳完成,開始轉換......")
|
| 50 |
MAX_FILE_SIZE = 200 * 1024 * 1024 # 200MB
|
| 51 |
ALLOWED_EXTENSIONS = ['mp3', 'mp4', 'mpeg', 'm4a', 'wav', 'ogg', 'flac', 'webm', 'mpga']
|
| 52 |
if file is None:
|
|
|
|
| 158 |
if show_info:
|
| 159 |
gr.Info("開始轉譯,請稍候......")
|
| 160 |
client = Groq(api_key=api_key)
|
| 161 |
+
language_dict = {"繁體中文": "zh", "English": "en", "German": "de", "Spanish": "es", "Russian": "ru", "Korean": "ko", "French": "fr", "Japanese": "ja", "Portuguese": "pt", "Turkish": "tr", "Polish": "pl", "Catalan": "ca", "Dutch": "nl", "Arabic": "ar", "Swedish": "sv", "Italian": "it", "Indonesian": "id", "Hindi": "hi", "Finnish": "fi", "Vietnamese": "vi", "Hebrew": "he", "Ukrainian": "uk", "Greek": "el", "Malay": "ms", "Czech": "cs", "Romanian": "ro", "Danish": "da", "Hungarian": "hu", "Tamil": "ta", "Norwegian": "no", "Thai": "th", "Urdu": "ur", "Croatian": "hr", "Bulgarian": "bg", "Lithuanian": "lt", "Latin": "la", "Maori": "mi", "Malayalam": "ml", "Welsh": "cy", "Slovak": "sk", "Telugu": "te", "Persian": "fa", "Latvian": "lv", "Bengali": "bn", "Serbian": "sr", "Azerbaijani": "az", "Slovenian": "sl", "Kannada": "kn", "Estonian": "et", "Macedonian": "mk", "Breton": "br", "Basque": "eu", "Icelandic": "is", "Armenian": "hy", "Nepali": "ne", "Mongolian": "mn", "Bosnian": "bs", "Kazakh": "kk", "Albanian": "sq", "Swahili": "sw", "Galician": "gl", "Marathi": "mr", "Punjabi": "pa", "Sindhi": "sd", "Gujarati": "gu", "Amharic": "am", "Yiddish": "yi", "Lao": "lo", "Uzbek": "uz", "Faroese": "fo", "Haitian creole": "ht", "Pashto": "ps", "Turkmen": "tk", "Nynorsk": "nn", "Maltese": "mt", "Sanskrit": "sa", "Luxembourgish": "lb", "Myanmar": "my", "Tibetan": "bo", "Tagalog": "tl", "Malagasy": "mg", "Assamese": "as", "Tatar": "tt", "Hawaiian": "haw", "Lingala": "ln", "Hausa": "ha", "Bashkir": "ba", "Javanese": "jw", "Sundanese": "su"}
|
| 162 |
selected_language = language_dict.get(Language)
|
| 163 |
selected_model = "distil-whisper-large-v3-en" if Language == "English" else "whisper-large-v3"
|
| 164 |
with open(filename, "rb") as file:
|