FusionThinkerATL commited on
Commit
dc3a336
·
verified ·
1 Parent(s): 2f5ec29

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -19
app.py CHANGED
@@ -1,6 +1,6 @@
1
  import gradio as gr
2
  import time
3
- import simpleaudio as sa
4
 
5
  # Morse code dictionary
6
  MORSE_CODE_DICT = {
@@ -11,31 +11,18 @@ MORSE_CODE_DICT = {
11
  'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-', 'Y': '-.--', 'Z': '--..'
12
  }
13
 
14
- DOT_DURATION = 0.2 # Duration of a dot in seconds
15
- DASH_DURATION = 0.6 # Duration of a dash in seconds
16
-
17
- # Generate a simple sine wave audio file for dot and dash
18
- def generate_tone(duration):
19
- import numpy as np
20
- frequency = 750 # Frequency in Hz
21
- sample_rate = 44100 # Samples per second
22
- t = np.linspace(0, duration, int(sample_rate * duration), endpoint=False)
23
- wave = 0.5 * np.sin(2 * np.pi * frequency * t)
24
- audio = (wave * 32767).astype(np.int16) # Convert to 16-bit PCM
25
- return audio.tobytes()
26
-
27
- dot_sound = sa.WaveObject(generate_tone(DOT_DURATION), 1, 2, 44100)
28
- dash_sound = sa.WaveObject(generate_tone(DASH_DURATION), 1, 2, 44100)
29
 
30
  def play_morse_code(letter):
31
  morse_code = MORSE_CODE_DICT.get(letter.upper(), '')
32
  output = []
33
  for symbol in morse_code:
34
  if symbol == '.':
35
- dot_sound.play().wait_done()
36
  output.append('•')
37
  elif symbol == '-':
38
- dash_sound.play().wait_done()
39
  output.append('—')
40
  time.sleep(0.2) # Pause between symbols
41
  return ''.join(output)
@@ -56,4 +43,4 @@ def interface():
56
 
57
  if __name__ == "__main__":
58
  app = interface()
59
- app.launch()
 
1
  import gradio as gr
2
  import time
3
+ from playsound import playsound
4
 
5
  # Morse code dictionary
6
  MORSE_CODE_DICT = {
 
11
  'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-', 'Y': '-.--', 'Z': '--..'
12
  }
13
 
14
+ DOT_SOUND_FILE = "dot.wav"
15
+ DASH_SOUND_FILE = "dash.wav"
 
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
  def play_morse_code(letter):
18
  morse_code = MORSE_CODE_DICT.get(letter.upper(), '')
19
  output = []
20
  for symbol in morse_code:
21
  if symbol == '.':
22
+ playsound(DOT_SOUND_FILE)
23
  output.append('•')
24
  elif symbol == '-':
25
+ playsound(DASH_SOUND_FILE)
26
  output.append('—')
27
  time.sleep(0.2) # Pause between symbols
28
  return ''.join(output)
 
43
 
44
  if __name__ == "__main__":
45
  app = interface()
46
+ app.launch()