Opera8 commited on
Commit
9fcd16b
·
verified ·
1 Parent(s): 33ba044

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +10 -7
index.html CHANGED
@@ -729,13 +729,16 @@
729
 
730
  const finalLyrics = isInstrumental ? "" : lyrics;
731
 
732
- // ** LOGIC FIX: Switch task mode based on audio input **
733
  const taskType = uploadedAudioObj ? "prompt" : "text2music";
734
-
 
 
 
735
  const payload = [
736
  getVal('model_select'),
737
  "custom",
738
- uploadedAudioObj,
739
  getVal('duration_select'),
740
  musicPrompt,
741
  finalLyrics,
@@ -790,7 +793,7 @@
790
  playerWrapper.innerHTML += `<div class="audio-item"><audio controls autoplay src="${fullUrl}"></audio></div>`;
791
  }
792
 
793
- // Enhanced Traversal to find nested audio files
794
  function traverse(obj) {
795
  if (typeof obj === 'string') {
796
  if (obj.includes('/file=') && (obj.endsWith('.mp3') || obj.endsWith('.wav'))) {
@@ -801,14 +804,13 @@
801
  addAudio(obj.url);
802
  }
803
  if (obj.path && (obj.path.endsWith('.mp3') || obj.path.endsWith('.wav'))) {
804
- // Sometimes 'path' is local, need to prepend gradio_api/file=
805
  addAudio(`/gradio_api/file=${obj.path}`);
806
  }
807
  Object.values(obj).forEach(traverse);
808
  }
809
  }
810
 
811
- // Check data structure carefully
812
  if (data && data.data) {
813
  data.data.forEach(item => traverse(item));
814
  } else {
@@ -823,7 +825,8 @@
823
  finalLyricsBox.innerHTML = formatLyrics(lyrics);
824
  window.scrollTo({ top: 0, behavior: 'smooth' });
825
  } else {
826
- alert("فایل صوتی یافت نشد! (خروجی سرور خالی بود)");
 
827
  step1.style.display = 'block';
828
  historySection.style.display = 'block';
829
  }
 
729
 
730
  const finalLyrics = isInstrumental ? "" : lyrics;
731
 
732
+ // ** اصلاح منطق: اگر صدا آپلود شده باشد، تسک به 'prompt' تغییر می‌کند **
733
  const taskType = uploadedAudioObj ? "prompt" : "text2music";
734
+
735
+ // در صورت استفاده از صدای رفرنس، ممکن است سرور به " " به عنوان متن ترانه حساس باشد
736
+ // اگر بی کلام است و صدای رفرنس داریم، متن را خالی میگذاریم
737
+
738
  const payload = [
739
  getVal('model_select'),
740
  "custom",
741
+ uploadedAudioObj, // آبجکت کامل فایل صوتی
742
  getVal('duration_select'),
743
  musicPrompt,
744
  finalLyrics,
 
793
  playerWrapper.innerHTML += `<div class="audio-item"><audio controls autoplay src="${fullUrl}"></audio></div>`;
794
  }
795
 
796
+ // تابع جستجوی پیشرفته برای پیدا کردن فایل صوتی در پاسخ‌های تودرتو
797
  function traverse(obj) {
798
  if (typeof obj === 'string') {
799
  if (obj.includes('/file=') && (obj.endsWith('.mp3') || obj.endsWith('.wav'))) {
 
804
  addAudio(obj.url);
805
  }
806
  if (obj.path && (obj.path.endsWith('.mp3') || obj.path.endsWith('.wav'))) {
807
+ // گاهی اوقات path به صورت محلی است، باید پیشوند gradio_api اضافه شود
808
  addAudio(`/gradio_api/file=${obj.path}`);
809
  }
810
  Object.values(obj).forEach(traverse);
811
  }
812
  }
813
 
 
814
  if (data && data.data) {
815
  data.data.forEach(item => traverse(item));
816
  } else {
 
825
  finalLyricsBox.innerHTML = formatLyrics(lyrics);
826
  window.scrollTo({ top: 0, behavior: 'smooth' });
827
  } else {
828
+ console.log("Server Response:", data); // برای دیباگ در کنسول
829
+ alert("فایل صوتی در پاسخ سرور یافت نشد. لطفاً دوباره تلاش کنید.");
830
  step1.style.display = 'block';
831
  historySection.style.display = 'block';
832
  }