sudo-soldier commited on
Commit
5ecdba5
·
verified ·
1 Parent(s): 33f1a24

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -9
app.py CHANGED
@@ -18,7 +18,7 @@ def process_youtube_or_audio(url, recorded_audio, start_time, end_time):
18
  filename = None
19
  song_name = None
20
 
21
- # Download YouTube audio
22
  if url:
23
  ydl_opts = {
24
  'format': 'bestaudio/best',
@@ -30,7 +30,7 @@ def process_youtube_or_audio(url, recorded_audio, start_time, end_time):
30
  filename = os.path.join('downloads', f"{info['id']}.webm")
31
  song_name = sanitize_filename(info['title'])
32
 
33
- # Handle recorded audio
34
  elif recorded_audio:
35
  filename = recorded_audio
36
  song_name = "recorded_audio"
@@ -38,31 +38,30 @@ def process_youtube_or_audio(url, recorded_audio, start_time, end_time):
38
  if not filename or not os.path.exists(filename):
39
  return None, None
40
 
41
- # Load audio file
42
  audio = AudioSegment.from_file(filename)
43
 
44
- # Convert seconds to milliseconds for pydub
45
  start_time_ms = start_time * 1000
46
  end_time_ms = end_time * 1000
47
 
48
- # Ensure valid trimming times
49
  start_time_ms = max(0, min(start_time_ms, len(audio)))
50
  end_time_ms = max(start_time_ms, min(end_time_ms, len(audio)))
51
 
52
- # Trim the audio
53
  trimmed_audio = audio[start_time_ms:end_time_ms]
54
 
55
- # Convert to MP3
56
  mp3_filename = f"downloads/{song_name}.mp3"
57
  trimmed_audio.export(mp3_filename, format="mp3")
58
 
59
- # Convert to M4R (iPhone format)
60
  m4a_filename = f"downloads/{song_name}.m4a"
61
  subprocess.run([
62
  'ffmpeg', '-i', mp3_filename, '-vn', '-acodec', 'aac', '-b:a', '192k', m4a_filename
63
  ], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
64
 
65
- # Rename to M4R
66
  m4r_filename = f"downloads/{song_name}.m4r"
67
  os.rename(m4a_filename, m4r_filename)
68
 
 
18
  filename = None
19
  song_name = None
20
 
21
+
22
  if url:
23
  ydl_opts = {
24
  'format': 'bestaudio/best',
 
30
  filename = os.path.join('downloads', f"{info['id']}.webm")
31
  song_name = sanitize_filename(info['title'])
32
 
33
+
34
  elif recorded_audio:
35
  filename = recorded_audio
36
  song_name = "recorded_audio"
 
38
  if not filename or not os.path.exists(filename):
39
  return None, None
40
 
41
+
42
  audio = AudioSegment.from_file(filename)
43
 
44
+
45
  start_time_ms = start_time * 1000
46
  end_time_ms = end_time * 1000
47
 
48
+
49
  start_time_ms = max(0, min(start_time_ms, len(audio)))
50
  end_time_ms = max(start_time_ms, min(end_time_ms, len(audio)))
51
 
52
+
53
  trimmed_audio = audio[start_time_ms:end_time_ms]
54
 
55
+
56
  mp3_filename = f"downloads/{song_name}.mp3"
57
  trimmed_audio.export(mp3_filename, format="mp3")
58
 
59
+
60
  m4a_filename = f"downloads/{song_name}.m4a"
61
  subprocess.run([
62
  'ffmpeg', '-i', mp3_filename, '-vn', '-acodec', 'aac', '-b:a', '192k', m4a_filename
63
  ], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
64
 
 
65
  m4r_filename = f"downloads/{song_name}.m4r"
66
  os.rename(m4a_filename, m4r_filename)
67