Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
import gradio as gr
|
2 |
import time
|
3 |
-
|
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 |
-
|
15 |
-
|
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 |
-
|
36 |
output.append('•')
|
37 |
elif symbol == '-':
|
38 |
-
|
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()
|