Manasa1 commited on
Commit
3dc8327
·
verified ·
1 Parent(s): c80bf74

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -7
app.py CHANGED
@@ -33,17 +33,40 @@ def generate_animation(script, output_video_file="animated_script.mp4"):
33
 
34
  return output_video_file
35
 
36
- # Function to generate simple music (for kids content)
 
 
 
 
 
 
 
 
 
37
  def generate_kids_music(theme, output_music_file="kids_music.wav"):
38
- # Simple sine wave generation using pydub for kids' music
39
- music = AudioSegment.sine(frequency=261.63) # C4 note
40
- music += AudioSegment.sine(frequency=293.66) # D4 note
41
- music += AudioSegment.sine(frequency=329.63) # E4 note
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
 
43
- # Extend for more complexity, then export
44
- music.export(output_music_file, format="wav")
45
  return output_music_file
46
 
 
47
  # Function to combine kids music with a simple animation
48
  def generate_kids_animation_with_music(theme, output_video_file="kids_animation.mp4"):
49
  # Step 1: Generate kids music
 
33
 
34
  return output_video_file
35
 
36
+ import numpy as np
37
+ from scipy.io.wavfile import write
38
+ from pydub import AudioSegment
39
+
40
+ def generate_sine_wave(frequency, duration, sample_rate=44100, amplitude=0.5):
41
+ """Generate a sine wave."""
42
+ t = np.linspace(0, duration, int(sample_rate * duration), False)
43
+ wave = amplitude * np.sin(2 * np.pi * frequency * t)
44
+ return wave
45
+
46
  def generate_kids_music(theme, output_music_file="kids_music.wav"):
47
+ # Generate a sine wave for C4, D4, E4 notes
48
+ sample_rate = 44100
49
+ duration = 2 # 2 seconds per note
50
+
51
+ c4_wave = generate_sine_wave(261.63, duration) # C4
52
+ d4_wave = generate_sine_wave(293.66, duration) # D4
53
+ e4_wave = generate_sine_wave(329.63, duration) # E4
54
+
55
+ # Combine the waves
56
+ wave = np.concatenate([c4_wave, d4_wave, e4_wave])
57
+
58
+ # Normalize to 16-bit PCM format
59
+ audio_wave = np.int16(wave * 32767)
60
+
61
+ # Save as a wav file
62
+ write(output_music_file, sample_rate, audio_wave)
63
+
64
+ # Convert to AudioSegment (optional if you need to modify)
65
+ audio_segment = AudioSegment.from_wav(output_music_file)
66
 
 
 
67
  return output_music_file
68
 
69
+
70
  # Function to combine kids music with a simple animation
71
  def generate_kids_animation_with_music(theme, output_video_file="kids_animation.mp4"):
72
  # Step 1: Generate kids music