Convierta archivos de audio a código Morse. Programa para generar código de sonido Morse.

10.01.2022

Le informamos sobre un traductor de código Morse en línea.

¿Qué significa? Supongamos que necesita traducir o escuchar cómo sonará su texto cuando se traduzca al código Morse. Ingresa su texto en la ventana de la izquierda, indica el idioma del texto a continuación y hace clic en la flecha derecha. En la ventana derecha recibirás el código Morse de tu texto. Al hacer clic en el botón "reproducir" a continuación, podrá escuchar su texto en código Morse. De esta forma utilizarás nuestro traductor de código Morse online.

Traductor de texto en línea
al código Morse y viceversa

En la interpretación textual del código, se utiliza un “signo de sección” (-···-) para indicar un espacio. Esto se hace únicamente para facilitar la copia.

¡Atención! El reproductor integrado funciona bien en Chrome, normalmente en Opera (si se atasca, puedes volver a codificar el texto en código Morse, eso ayuda), muy mediocre en Safari. En Firefox y explorador de Internet no funciona en absoluto .

En la versión de audio del mensaje se siguen todas las reglas: la duración de un punto se toma como unidad de tiempo; la duración de un guión es igual a tres puntos; la pausa entre elementos del mismo carácter es de un punto, entre caracteres de una palabra es de 3 puntos, entre palabras es de 7 puntos.

El archivo de sonido para descargar se presenta en el formatoWAV (necesitas descargarlo, no abrirlo en el navegador). Es grande: por ejemplo, código Morse para enviar"El griego cruzó el río. ve un griego, un cáncer en el río. Metió la mano del griego en el río y el cangrejo agarró la mano del griego”. pesa en ello 209KB(aunque contiene sólo835 bits información).

¿Quieres poner a prueba tu fuerza? Nada podría ser más sencillo.

Melodías "Morzyanka":

cirílico
latín
código Morse
Cantar
A
A
. —
oh sí
B
EN
— . . .
ba-ki-te-kut
EN
W.
. — —
vi-da-la
GRAMO
GRAMO
— — .
ga ra zhi
D
D
— . .
do-mi-ki
mi
mi
.
Hay
Y
V
. . . —
zhe-le-zi-sto
z
z
— — . .
para-ka-ti-ki
Y
I
. .
i-di
Y
j
. — — —
y corto
A
A
— . —
Cómo estás
l
l
. — . .
lu-na-ti-ki
METRO
METRO
— —
Madre
norte
norte
— .
número
ACERCA DE
ACERCA DE
— — —
cerca
PAG
PAG
. — — .
pi-la-po-yot
R
R
. — .
re-sha-et
CON
S
. . .
si-ne-e
t
t

Entonces
Ud.
Ud.
. . —
U-llevado
F
F
. . — .
fi-li-mon-chica
X
norte
. . . .
hee-mi-chi-te
C
CON
— . — .
tsap-li-na-shi
h
No
— — — .
cha-sha-to-no
sh
No
— — — —
sha-ro-va-ra
SCH
q
— — . —
sha-tú-no-sha
segundo, segundo
X
— . . —
ese-signo-suave
Y
Y
— . — —
s-no-hacer
mi
No
. . — . .
e-le-ron-chi-ki
YU
No
. . — —
juliana
I
No
. — . —
soy pequeño soy pequeño

Y aquí están las melodías de los números y los personajes que aparecen con más frecuencia. Observo que en los textos puramente digitales, el cero a menudo se transmite con un guión, como la letra T; esto diversifica agradablemente la transmisión y elimina la necesidad de escuchar cinco guiones seguidos;)
Firmar
código Morse
Cantar
0
— — — — —
cero-a-o-ko-lo
1
. — — — —
y-solo-uno
2
. . — — —
yo-fui-a-la-montana
3
. . . — —
tres-tu-ser-ma-lo, o I-ku-ka-ra-cha
4
. . . . —
che-ve-ri-te-ka
5
. . . . .
cinco-le-ti-e
6
— . . . .
po-seis-ti-be-ri
7
— — . . .
si-si-se-me-rik
8
— — — . .
ocho meses go-i-di
9
— — — — .
pero-na-no-na-mi
?
. . — — . .
donde debería preguntar
!
— — . . — —
por-ka-no-pri-ka-za
,
. — . — . —
y-fulano-de-tal y tal
\ (delimitador)
— . . . —
once-de-li-te-ka

Pero está diseñado para estudiar códigos de letras cirílicas, lo cual es irrelevante en las comunicaciones por radio modernas (todos usan el alfabeto latino, excepto nuestro valiente ejército).

Se eligió C++ junto con Qt como herramienta para implementar la idea.

La idea principal del programa.

El átomo (unidad de tiempo) del código Morse es un punto; la duración de todos los demás elementos se forma en relación con él:
  1. Un guión equivale a tres puntos que suenan;
  2. Una pausa entre elementos de un símbolo (signo) es un punto de silencio;
  3. Hay tres puntos entre los carteles;
  4. Hay siete puntos entre las palabras.
Como puede ver, cualquier código basado en código Morse se puede representar como un conjunto de puntos sonoros y silenciosos: partí de esta idea y esta solución me pareció bastante original.

Implementación inicial

En la primera versión del programa, la combinación de puntos sonoros y silenciosos se almacenaba como un vector con elementos booleanos, donde verdadero correspondía a encender el sonido, y FALSO- apagando.

Como ya entendiste, para obtener la señal final, simplemente "saqué" el sonido con un cierto retraso (usando un temporizador igual a la duración del punto en milisegundos) con un archivo .wav que se reproducía sin cesar con una grabación sinusoidal. Pero Este enfoque tenía una desventaja importante y consistía en que cada punto debía cargarse por separado utilizando un operador sobrecargado o método especial. Debido a este enfoque, tuve que escribir una macro separada para cada letra (como esta: #define I PUNTO<< false << DOT) и создать огромный жуткий cambiar para tocar la cuerda pasada. Fue terrible, pero si tienes curiosidad, puedes comprobarlo.
con la primera versión del programa (no pude cargar completamente el repositorio local en GitHub, solo la última versión).

Un pedazo de interruptor espeluznante:

bool Morse::StringToMorse (QString &line) ( línea += "\0"; for (int i = 0; i< line.size () - 1; ++i) { switch (line.at(i).unicode ()) { case "A": *this << A; if (line.at (i + 1) == " ") continue; else *this << MINI_SPACE; break; case "B": *this << B; if (line.at (i + 1) == " ") continue; else *this << MINI_SPACE; break; // И так далее


Y así se encendía y apagaba el sonido (en realidad, se generaba el código de sonido):

void Morse::PlayLinePoints () ( QTimer::singleShot (duration_point_, this, SLOT (Mute ())); sound_.play (); ) void Morse::Mute () ( if (line_points_.empty ()) ( / /Detener la reproducción sound_.stop (); return ) if (line_points_.at (0)) ( //Activar el sonido sound_.setMuted (false); line_points_.remove (0); QTimer::singleShot (duration_point_, this, SLOT (Mute ())); return ) else ( sound_.setMuted (true); //Apaga el sonido line_points_.remove (0); QTimer::singleShot (duration_point_, this, SLOT (Mute ())); devolver; ) )

Versión definitiva

Estas macros resultaron ser muy engorrosas y mi perfeccionismo ya no podía mirar estos monstruosos diseños. Después de pensar un poco, llegué a la conclusión de que mi idea era buena, pero almacenar códigos en forma de macros es muy inconveniente y si resuelves este problema, todo irá bien. Como resultado, se utilizó QMap para almacenar códigos:

//Almacena las combinaciones correspondientes de puntos y guiones de caracteres QMap códigos_;
Este enfoque resultó muy conveniente. Ahora simplemente usé el personaje actual que se está reproduciendo como clave y obtuve el acabado.
Sin embargo, para reproducir el código (un conjunto de valores booleanos), el algoritmo de reproducción se volvió un poco más complicado: era necesario ingresar el contador del elemento actual del símbolo y el contador de caracteres en la línea:

Nueva implementación de reproducción:

void Morse::MiniSpace () ( if (stop_) ( this->Stop (); return; ) sound_.setMuted (true); ++id_element_; //Ir a otro elemento de código if (id_element_ == codes_.value ( string_to_play_.at (id_char_).size ()) ( ++id_char_; id_element_ = 0; QTimer::singleShot (duration_dot_ * 3, this, SLOT (Mute())); //Pausa entre caracteres regresa; ) QTimer: : singleShot (duration_dot_, this, SLOT (Mute())); //Pausa entre elementos de símbolo) void Morse::Space () ( if (stop_) ( this->Stop (); return; ) sound_.setMuted (true) ; //La pausa dura 7 puntos //Pero como después del símbolo hay una pausa de tres puntos, se debe establecer una pausa adicional de 4 puntos de duración QTimer::singleShot (duration_dot_ * 4, this, SLOT (Mute()) ); void Morse::Mute () ( if (stop_) ( this->Stop (); return; ) if (id_char_ == string_to_play_.size ()) ( // La línea ha terminado this->Stop (); return ) if (string_to_play_.at (id_char_) == " ") ( Space(); ++id_char_; //Ir a otro elemento de código return; ) if (codes_.find (string_to_play_.at (id_char_)) == códigos_.end ( )) ( qDebug()<< string_to_play_.at (id_char_) << ": No code!"; sound_.stop (); return; } sound_.setMuted (false); //Включаем звук if (codes_.value (string_to_play_.at (id_char_)).at (id_element_)) { QTimer::singleShot (duration_dot_, this, SLOT (MiniSpace())); //Воспроизводим точку } else { QTimer::singleShot (duration_dot_ * 3, this, SLOT (MiniSpace())); //Воспроизводим тире } } bool Morse::Play () { if (!stop_) return false; if (string_to_play_ == "") return false; stop_ = false; id_char_ = 0; id_element_ = 0; sound_.setMuted (true); //Выключаем звук sound_.play (); Mute (); } void Morse::Stop () { if (stop_) return; sound_.stop (); id_char_ = 0; id_element_ = 0; stop_ = true; }


Bandera detener_ se introdujo para evitar el funcionamiento incorrecto del programa (dos llamadas seguidas a Play() y otras cosas malas).
No veo ninguna razón para incluir el resto del código fuente y archivos de encabezado en el cuerpo del artículo, ya que todo allí es bastante obvio y transparente.

Puede descargar el conjunto completo de fuentes para la última versión en GitHub. Escribir una GUI es una tarea trivial, pero aún así, si se crea una GUI, agregaré el enlace. Si tiene alguna pregunta o comentario, escriba en los comentarios; definitivamente responderé.

Servicio gratuito para traducir textos en ruso y latín al código Morse y viceversa. Si el script no funciona, intente habilitar la compatibilidad con Javascript en su navegador.

Los símbolos de la tabla están activos. Cuando hace clic izquierdo en un símbolo o código Morse, se agregarán a la ventana de entrada.


ruso
símbolo
latín
símbolo
Código
morse
AA
BB
ENW. −−
GRAMOGRAMO−−
DD
E y yomi
YV
zz−−
YI
Yj −−−
Ak− −
ll
METROMETRO−−
nortenorte
ACERCA DEoh−−−
PAGPAG −−
RR
CONS
tt
Ud.Ud.
FF
Xh
CC− −
hÖ −−−
shCH−−−−
SCHq−− −
KommersantÑ −− −−
YY− −−
bX− −
miÉ
YUÜ −−
IÄ − −
ruso
símbolo
latín
símbolo
Código
morse
1 −−−−
2 −−−
3 −−
4
5
6
7 −−
8 −−−
9 −−−−
0 −−−−−
.
, . − − −
! , −− −−
! − − −−
? −−
" −−−−
" − −
; − − −
: −−−
- − −
+ − −
= − −
_ (guion bajo) −− −
/ − −
(− −−
(o)) − −− −
&
$ − −
@ −− −
ErrorError
Fin de la conexiónFinalizar contacto − −

PD Cabe señalar que, aunque el código Morse ruso coincide parcialmente con el latino, todavía existen algunas diferencias (lo comparé en las páginas rusa e inglesa de Wikipedia; también puede ver las tablas de códigos allí). Por ejemplo:

  • el símbolo "punto" en la versión rusa: · · · · · · , y en latín: · – · – · –
  • coma en ruso: · − · − · − , y en latín: – – · · – –
  • signo de exclamación en ruso: − − · · − − , y en latín: – · – · – –
  • el corchete de apertura en latín: – · – – ·, y el corchete de cierre – · – – · –, y en ruso ambos corchetes son iguales: – · – – · –
  • algunos símbolos como & + _ $ solo están en la versión latina

Por lo tanto, en caso de cuestiones controvertidas, por ejemplo, convertir el código − − · · − − en un signo de exclamación (en la versión rusa) o en una coma (en la versión latina), se da preferencia a la versión rusa, ya que Puesto que estás leyendo este mensaje en ruso, se supone que la versión rusa es más importante para ti.

Al mismo tiempo, dado que en ruso no existe un signo tan necesario como + (y para algunos puede ser más necesario $ :), también agregué este signo a la codificación rusa. Si esta opción no le conviene, si tiene conocimientos mínimos de Javascript y HTML, siempre puede ajustar este script a sus necesidades.

Por cierto, esta es mi primera creación en el lenguaje Javascript y probablemente tenga muchas deficiencias. No juzgues estrictamente :).

PD Se concede permiso para copiar y citar libremente este artículo, siempre que se indique un enlace activo abierto a la fuente y se conserve la autoría de Ruslan Tertyshny.

PPS Si quieres aprender el código Morse de una forma interesante te ofrecemos un juego "Magia Morse 2", creado por Ruslan Bogdanov.

    Hay muchas opciones para descifrar la señal de socorro SOS: "Salvar nuestras almas", "Salvar nuestro barco", "Nadar o hundirse", "Detener otras señales", "Salvar de la muerte". Pero todos ellos son sólo mnemotécnicos, inventados para una mejor memorización, mientras que cuando esta señal fue adoptada como señal estándar en la Conferencia Radiotelegráfica Internacional de 1906, no se le dio ningún significado a la abreviatura. Incluso las propias letras SOS se pueden atribuir de manera muy condicional a la secuencia del código Morse (. . . - - - . . .), porque no hay intervalos entre letras en ella. Y adoptaron esta combinación de puntos y rayas porque resultó más conveniente que otras para reconocer y resaltar en el flujo general de señales debido a su suficiente longitud y simetría.

    Samuel Morse fue artista hasta los 34 años y no le interesaba la tecnología. En 1825, un mensajero le entregó una carta de su padre diciendo que su esposa estaba muriendo. Morse inmediatamente abandonó Washington y se dirigió a New Haven, donde vivía su familia, pero a su llegada su esposa ya había sido enterrada. Este incidente obligó a Morse a abandonar la pintura y profundizar en el estudio de formas de enviar mensajes rápidamente a largas distancias, lo que condujo al desarrollo del código Morse y del telégrafo eléctrico en 1838.

    El código Morse en su forma familiar no fue inventado por Morse, sino por el ingeniero alemán Gehrke. El código Morse original era engorroso, aunque se utilizó en algunos ferrocarriles estadounidenses hasta la década de 1960.

    El 6 de febrero de 1900, una estación de radio ubicada en la ciudad finlandesa de Kotka transmitió un telegrama inalámbrico al rompehielos Ermak con la orden de rescatar a 50 pescadores en un témpano de hielo roto. Esta fue la primera transmisión por radio de una señal de socorro en el mar. La operación de rescate concluyó con éxito.

    Los submarinos modernos están equipados con medios de comunicación más eficientes con el "mundo terrestre". La comunicación se realiza mediante ondas ultralargas, que son capaces de penetrar profundidades del océano de hasta 300 metros. Se trata de una "comunicación móvil" muy costosa, que requiere el mantenimiento de potentes campos de antenas terrestres que consumen hasta 30 MW de energía y aviones de comunicaciones que patrullan constantemente el cielo.

    La señal SOS se transmite en una frecuencia de 600 metros sólo en casos de emergencia, cuando la tripulación y los pasajeros del barco corren un peligro real para sus vidas. En caso de infracción de esta norma, se podrán imponer sanciones a los responsables de pánico injustificado. O moraleja, que no es una frase vacía en la comunidad marítima. O material, cuando los barcos que acudieron al rescate sufren pérdidas materiales importantes. Sin embargo, existe una excepción a esta regla inmutable. En algunos casos, el capitán del barco puede transmitir información en la “frecuencia sosónica” durante tres “minutos de silencio” fijos sobre la aparición de una amenaza grave para los barcos en la región. Estos podrían ser mensajes sobre mal funcionamiento de faros, actividad volcánica, actividad pirata, barcos hundidos...

    Para acelerar las comunicaciones por radio, se generalizaron las abreviaturas, los "códigos Q" de tres letras y numerosas expresiones de jerga. Cuando el código Q se transmite en forma de pregunta o afirmación, su significado cambia. En las comunicaciones de voz, la señal SOS no se utiliza; Mayday se utiliza como señal de socorro. Está prohibido dar una señal de SOS a menos que exista una amenaza real para la vida de las personas o de un barco en el mar.

El código Morse es un método de codificación de caracteres que permite a los operadores enviar mensajes utilizando una serie de señales eléctricas largas y cortas, es decir, utilizando puntos y rayas.

¿Quién inventó el código Morse?

Samuel F. B. Morse y su asistente Alfred Vail son considerados los inventores del código Morse.

¿Cuándo se inventó el código Morse?

El código Morse se desarrolló en la década de 1830 y se mejoró en la década de 1840.

¿Cuál fue el primer mensaje enviado en código Morse?

El primer mensaje oficial fue: “Lo que Dios ha hecho” (en ruso: ¡Maravillosas tus obras, Señor!). Fue enviado por Samuel F. B. Morse el 24 de mayo de 1844, en la inauguración de la línea telegráfica Baltimore-Washington.

¿Para qué se utiliza el código Morse?

En el pasado, el código Morse se utilizaba mucho, especialmente en el ejército. Hoy en día, el código Morse tiene aplicaciones limitadas, pero todavía se utiliza en la aviación, entre operadores de radioaficionados y como tecnología de asistencia para personas con discapacidades.

¿Cómo utilizar el código Morse?

El código Morse se puede utilizar de diversas formas, como con lápiz y papel, con luz y sonido, o incluso con los ojos o los dedos.

¿Cómo aprender el código Morse?

Puedes aprender el código Morse escuchando grabaciones de audio del código, así como utilizando técnicas de memorización de palabras que se pueden encontrar en varios sitios web. Uno de los mejores métodos para aprender código Morse en 2019 fue el teclado Gboard de Google. Puedes practicar online de forma gratuita con ejercicios en código Morse proporcionados por Google Creative Lab.

¿Cómo leer el código Morse?

Si no tiene suficiente experiencia leyendo código Morse, puede buscar los caracteres correspondientes en una tabla de códigos Morse o simplemente utilizar un traductor de códigos Morse.

¿Cómo traducir el código Morse?

Si desea traducir o descifrar el código Morse y no sabe cómo leerlo, simplemente puede utilizar un traductor de código Morse en línea. Con la ayuda de un traductor de código Morse, podrás descifrar fácilmente el código y leer el texto en ruso.

¿Qué es un traductor de código Morse?

El traductor de código Morse permite a cualquiera traducir el código Morse a texto y decodificar fácilmente el mensaje escrito en el código. Con la ayuda de un traductor de código Morse en línea, cualquiera puede traducir texto simple en ruso u otro idioma al código Morse y viceversa. ¿Recuerdas el tono de llamada de Nokia SMS? Si quieres sentir nostalgia, intenta descifrar el código "... -- ..." y luego reproduce el sonido. ¿Qué pasa si necesitas descifrar un mensaje secreto en código Morse o te encuentras con un huevo de Pascua con un código en el juego? Un traductor de código Morse está a su servicio las 24 horas del día, los 7 días de la semana, si tiene una conexión a Internet y desea aprender el código Morse.