AlekseyKorshuk commited on
Commit
3d0ab7b
1 Parent(s): 00eca41

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -5
app.py CHANGED
@@ -2,17 +2,26 @@ import gradio as gr
2
  import numpy as np
3
  import pretty_midi
4
  from accompaniment_generator.generator.base import Generator
 
 
 
 
 
 
 
5
 
6
 
7
  def inference(audio, num_epoch):
8
  generator = Generator()
9
  input_midi_data = pretty_midi.PrettyMIDI(audio.name)
10
  output_midi_data = generator(audio.name, num_epoch=int(num_epoch))
11
- data = input_midi_data.synthesize()
12
- input_scaled = np.int16(data / np.max(np.abs(data)) * 32767)
13
- data = output_midi_data.synthesize()
14
- output_scaled = np.int16(data / np.max(np.abs(data)) * 32767)
15
- return [(44100, input_scaled), (44100, output_scaled)]
 
 
16
 
17
 
18
  title = "Accompaniment Generator"
 
2
  import numpy as np
3
  import pretty_midi
4
  from accompaniment_generator.generator.base import Generator
5
+ import os
6
+ import uuid
7
+ os.system("apt install fluidsynth")
8
+ os.system("cp /usr/share/sounds/sf2/FluidR3_GM.sf2 ./font.sf2")
9
+
10
+ from midi2audio import FluidSynth
11
+
12
 
13
 
14
  def inference(audio, num_epoch):
15
  generator = Generator()
16
  input_midi_data = pretty_midi.PrettyMIDI(audio.name)
17
  output_midi_data = generator(audio.name, num_epoch=int(num_epoch))
18
+ name = uuid.uuid4()
19
+ output_midi_data.write(f'{name}.mid')
20
+ fs = FluidSynth("font.sf2")
21
+ fs.midi_to_audio(f'{name}.mid', f'{name}.wav')
22
+ fs.midi_to_audio(audio.name, f'{name}-init.wav')
23
+
24
+ return [f'{name}-init.wav', f'{name}.wav']
25
 
26
 
27
  title = "Accompaniment Generator"