Muunna äänitiedosto morseksi. Ohjelma äänen morsekoodin luomiseen

Tässä artikkelissa kerron sinulle Internetin parhaista morsekoodin kääntäjistä ja niiden kanssa työskentelemisestä. Huolimatta siitä, että morsekoodi on jo poistunut massakäytöstä, se löytää edelleen käyttöä laivastossa, hätäministeriön työssä ja myös viestintävälineenä monien radioamatöörien välillä. Sanojen (lauseiden) kirjain kirjaimelta muuntaminen morsekoodiksi voi kestää kauan, joten tämän prosessin nopeuttamiseksi kannattaa käyttää erityisiä verkkopalveluita, joiden avulla voimme saada käännöksen morsekoodiksi. sanat, joita tarvitsemme sekunnin murto-osassa.

Mitä sinun tulee tietää Morse-koodin muuntajapalveluiden toiminnasta?

Verkko sisältää riittävän määrän palveluita, joiden avulla voit suorittaa sekä tarvittavien sanojen ja lauseiden välittömän muuntamisen morsekoodiksi että vaaditun käänteisen muuntamisen morsekoodista meille tutuksi tekstiksi.

Työskentely näiden palveluiden kanssa on melko yksinkertaista: siirryt tällaiseen resurssiin, lisäät muuntamiseen tarvitsemasi tekstin (tai morsekoodin) erityiseen ikkunaan, painat painiketta käännöksen suorittamiseksi ja saat melkein heti halutun tuloksen.

Samaan aikaan osa palveluista mahdollistaa morsekoodin online-kääntämisen lisäksi myös tämän koodin äänimuodon kuuntelun, tarvittaessa sen lataamisen tietokoneelle äänitiedostona.

Katsotaanpa tarkemmin suosittuja morsekoodin kääntäjiä.

Telegraphist.ru - morsekoodin itseopiskeluopas verkossa

  1. Sivuston kanssa työskentely on melko helppoa. Lisäät radiogrammin tekstin vasemmalle kääntääksesi sen morsekoodiksi (tai morsekoodin oikealla olevaan ikkunaan käänteisessä toiminnossa).
  2. Valitse seuraavaksi kieli (venäjä tai englanti) ja napsauta vastaavaa nuolipainiketta suorittaaksesi käännöstoimen.
  3. Lisäksi resurssi tarjoaa sinulle mahdollisuuden kuunnella olemassa olevan morsekoodin ääntä vastaavalla äänipainikkeella.

Boyslife.org - pelimuoto morsekoodin oppimiseen

Suosittu kansainvälinen viihdeportaali boyslife.org tarjoaa käyttäjille kätevän työkalun latinalaisten aakkosten morsekoodisymbolien näyttämiseen. Ja myös mahdollisuus testata tietosi morsekoodista erityisillä testeillä.

Kun siirryt resurssiin, näet virtuaalisen näppäimistön, jossa jokainen näppäimen kirjain (numero) vastaa vastaavaa morsekoodia. Testaa tietosi morsekoodista painamalla "Testi 1: Kuuntele ja arvaa" -painiketta (on suositeltavaa kuunnella morsekoodia ja arvata sitten, mikä numero tai kirjain se on) tai "Testi 2: Morse kirjain" (sinun on kirjoitettava vaadittu kirjain tai numero morsekoodiin).

Bestfree.ru - tekstin muuntaminen morsekoodiksi ja päinvastoin

Suorittaaksesi yksinkertaisen ja kätevän tekstin muuntamisen morsekoodiksi sinun tulee käyttää bestfree.ru-palvelua. Palvelussa on yksinkertainen ja kätevä venäjänkielinen käyttöliittymä, jonka avulla voit helposti kääntää tekstiä kyrillisistä ja latinalaisista muodoista morsekoodiin ja päinvastoin.

  1. Jos haluat työskennellä palveluiden kanssa, kirjaudu sisään osoitteessa bestfree.ru.
  2. Valitse haluamasi kieli ja muunnossuunta.
  3. Kirjoita tarvittava teksti sopivaan ikkunaan ja napsauta "Muunna" -painiketta.

Morsify.net - kansainvälinen morsekoodin kääntäjä verkossa

Kansainvälinen palvelu morsify.net on morsekoodin kääntäjä, jossa on äänikomponentti, jonka avulla voimme toistaa hallussamme olevan (tai käännöksen tuloksena saamamme) morsekoodin äänen.

Huoltotyönäyttö on jaettu kahteen ikkunaan. Vasemmalla voit kirjoittaa haluamasi tekstin kyrillisellä tai latinalla, ja oikealla näkyy automaattisesti vastaava morsekoodi.

Toistaaksesi morsekoodin, napsauta "Toista"-painiketta (nuolella) yläreunassa.

4txt.ru - kotimainen palvelu tekstin muuntamiseen morsekoodiksi

Ja viimeinen palvelu, josta haluan puhua tässä artikkelissa, on 4txt.ru. Sen toiminnallisuus muistuttaa yllä kuvattua morsify.net-palvelua, kun taas tekstin automaattinen muuntaminen morsekoodiksi toimii täällä vain yhteen suuntaan - kyrillisestä (latinasta) morsekoodiin.

Mitä tulee muuhun, palvelussa on klassinen työkalupakki tämän tyyppisille palveluille.

Johtopäätös

Melkein kaikki yllä luettelemani morsekoodin online-kääntäjät antavat meille mahdollisuuden muuntaa tarvitsemamme tekstin morsekoodin muotoon ja päinvastoin (poikkeuksena yksipuolisesti toimiva 4txt.ru-palvelu). Kaikkien lueteltujen palvelujen joukossa haluan kiinnittää lukijan huomion telegraphist.ru- ja morsify.net-palveluihin. Antaa paitsi kääntää halutun tekstin morsekoodiksi, myös kuunnella saadun tuloksen ääntä, mikä on hyödyllistä opetettaessa morsekoodin havaitsemista korvalla (kuuntelu).

Mutta se on suunniteltu tutkimaan kyrillisten kirjainten koodeja, joilla ei ole merkitystä nykyaikaisessa radioviestinnässä (kaikki käyttävät latinalaisia ​​aakkosia, paitsi urhoollinen armeijamme).

Idean toteuttamisen työkaluksi valittiin C ++ yhdessä Qt:n kanssa.

Ohjelman pääidea

Morse-koodin atomi (aikayksikkö) on piste, kaikkien muiden elementtien kesto muodostuu sen suhteen:
  1. Viivaviiva vastaa kolmea kuulostavaa pistettä;
  2. Tauko yhden symbolin (merkin) elementtien välillä on yksi ei-kuultava kohta;
  3. Merkkien välissä on kolme pistettä;
  4. Sanojen välissä on seitsemän pistettä.
Kuten näette, mikä tahansa morsekoodiin perustuva koodi voidaan esittää kuuloisten ja ei-äänisten pisteiden joukkona: Lähdin tästä ideasta, ja tämä ratkaisu vaikutti minusta varsin alkuperäiseltä.

Alkuperäinen toteutus

Ohjelman ensimmäisessä versiossa kuuloisten ja ei-kuulttavien pisteiden yhdistelmä tallennettiin vektoriksi boolean-elementeillä, jossa totta vastasi ääntä päälle, ja väärä- sammuttaa.

Kuten jo ymmärsit, saadakseni lopullisen signaalin "nykisin" äänen tietyllä viiveellä (käyttämällä ajastinta, joka vastaa pisteen kestoa millisekunteina) loputtomasti toistettavalla .wav-tiedostolla sinilevyllä. Mutta tällä lähestymistavalla oli merkittävä haittapuoli ja se koostui siitä, että jokainen piste oli ladattava erikseen käyttämällä ylikuormitettua operaattoria tai erityistä menetelmää. Tämän lähestymistavan vuoksi minun piti kirjoittaa jokaiselle kirjaimelle erillinen makro (kuten tämä - #define I DOT<< false << DOT) и создать огромный жуткий vaihtaa soittamaan siirrettyä merkkijonoa. Se oli kauheaa, mutta jos olet utelias, voit lukea
ohjelman ensimmäisellä versiolla (en voinut ladata paikallista arkistoa kokonaan GitHubiin - vain uusin versio).

Pelottava kytkin:

bool Morse :: StringToMorse (QString & rivi) (rivi + = "\ 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; // И так далее


Ja näin ääni kytkettiin päälle ja pois (itse asiassa äänikoodin luominen):

void Morse :: PlayLinePoints () (QTimer :: singleShot (duration_point_, this, SLOT (Mute ())); sound_.play ();) void Morse :: Mute () (if (linja_pisteet_.tyhjä ())) (/ / Lopeta toisto sound_.stop (); return;) if (line_points_.at (0)) (// Laita ääni päälle sound_.setMuted (false); line_points_.remove (0); QTimer :: singleShot (kesto_piste_, tämä, SLOT (Mute ())); return;) else (ääni_.setMuted (true); // Mykistä ääni line_points_.remove (0); QTimer :: singleShot (duration_point_, this, SLOT (Mute ())); paluu ;) )

Viimeinen versio

Nämä makrot osoittautuivat erittäin hankalia, ja minun perfektionismi ei voinut enää katsoa näitä hirviömäisiä rakenteita. Pienen pohdinnan jälkeen tulin siihen tulokseen, että minulla on hyvä idea, mutta koodien tallentaminen makrojen muodossa on erittäin hankalaa, ja jos ratkaiset tämän ongelman, kaikki on hyvin. Tämän seurauksena koodit tallennetaan QMap-sovelluksella:

// Tallentaa vastaavat pisteiden ja viivojen yhdistelmät QMapiin koodit_;
Tämä lähestymistapa osoittautui erittäin käteväksi. Nyt käytin juuri tällä hetkellä pelattavaa hahmoa avaimena ja sain valmiiksi
koodin (joukko loogisia arvoja) toistamiseksi toistoalgoritmista on kuitenkin tullut hieman monimutkaisempi: merkin nykyisen elementin laskuri ja merkkijonon merkkilaskuri oli syötettävä:

Uusi toiston toteutus:

void Morse :: MiniSpace () (if (stop_) (this-> Stop (); return;) sound_.setMuted (true); ++ id_element_; // Siirry toiseen koodielementtiin if (id_element_ == codes_.value ( string_to_play_.at (id_char _)). koko ()) (++ id_char_; id_element_ = 0; QTimer :: singleShot (duration_dot_ * 3, this, SLOT (Mute ())); // Tauko merkkien välillä paluu;) QTimer : : singleShot (duration_dot_, this, SLOT (Mute ())); // Tauko symbolielementtien välillä) void Morse :: Space () (if (stop_) (this-> Stop (); paluu;) sound_.setMute true ); // Tauko kestää 7 pistettä // Mutta koska merkin jälkeen on kolmen pisteen tauko, lisätauko on asetettava 4 pisteeseen QTimer :: singleShot (duration_dot_ * 4, this, SLOT (Mute () ));) void Morse :: Mute () (if (stop_) (this-> Stop (); return;) if (id_char_ == string_to_play_.size ()) (// Rivi päättyi tähän-> Pysäytä () ; return;) if (string_to_play_.at (id_char_) == "") (Välilyönti (); ++ id_char_; // Siirry toiseen koodielementtiin return;) if (koodit _.find (string_to_play_.at (id_char_)) == codes_.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; }


Lippu lopettaa_ otettiin käyttöön estämään ohjelman virheellinen toiminta (kaksi kutsua peräkkäin Toista () ja muita huonoja asioita).
En näe mitään syytä sisällyttää loput lähdekoodit ja otsikkotiedostot artikkelin runkoon, koska siellä kaikki on melko ilmeistä ja läpinäkyvää.

Voit ladata täydelliset lähteet uusimpaan versioon githubista. GUI:n kirjoittaminen on triviaali tehtävä, mutta silti, jos graafinen käyttöliittymä on tarkoitus luoda, lisään linkin. Jos sinulla on kysyttävää tai kommentteja, kirjoita kommentteihin - vastaan ​​ehdottomasti.

    SOS-hätäsignaalin purkamiseen on monia vaihtoehtoja - "Save Our Souls", "Save Our Ship", "Swim or Sink", "Stop Other Signals", "Save From Death". Mutta ne kaikki ovat vain muistomerkkejä, jotka on keksitty parempaa muistamista varten, kun taas kun tämä signaali hyväksyttiin standardisignaaliksi kansainvälisessä radiotelegrafikonferenssissa vuonna 1906, lyhenteelle ei annettu mitään merkitystä. Jopa itse kirjaimet SOS voidaan liittää morsekoodisekvenssiin (... - - -....) Hyvin ehdollisesti, koska siinä ei ole kirjainväliä. Ja tämä pisteiden ja viivojen yhdistelmä otettiin käyttöön, koska se osoittautui muita kätevämmäksi tunnistamiseen ja erottamiseen yleisessä signaalivirrassa sen riittävän pituuden ja symmetrian vuoksi.

    Samuel Morse oli taiteilija 34-vuotiaaksi asti, eikä ollut kiinnostunut tekniikasta. Vuonna 1825 lähettiläs toimitti hänelle kirjeen isältä, jossa kerrottiin, että hänen vaimonsa oli kuolemassa. Morse lähti heti Washingtonista ja meni New Haveniin, jossa hänen perheensä asui, mutta hänen vaimonsa oli jo haudattu hänen saapuessaan. Tämä tapaus sai Morsen luopumaan maalaamisesta ja syventymään tutkimaan tapoja toimittaa nopeasti viestejä pitkiä matkoja, mikä johti Morse-koodin ja sähkölennättimen kehittämiseen vuonna 1838.

    Morsekoodin tavanomaisessa muodossaan ei keksinyt morsekoodi, vaan saksalainen insinööri Gerke. Alkuperäinen morsekoodi oli hankala, vaikka sitä käytettiin joillakin Yhdysvaltain rautateillä 1960-luvulle asti.

    Kotkan kaupungissa sijaitseva radioasema lähetti 6. helmikuuta 1900 Ermak-jäänmurtajalle langattoman sähkeen, jossa käski pelastaa 50 jäälautalla ollutta kalastajaa. Tämä oli ensimmäinen radiolähetys hätäsignaalista merellä. Pelastusoperaatio saatiin päätökseen onnistuneesti.

    Nykyaikaiset sukellusveneet on varustettu tehokkaammilla viestintävälineillä "maamaailman" kanssa. Viestintä tapahtuu ultrapitkillä aalloilla, jotka pystyvät tunkeutumaan jopa 300 metrin syvyyteen. Tämä on erittäin kallis "mobiiliviestintä", joka vaatii tehokkaiden maaantennikenttien ylläpitoa, joka kuluttaa tehoa jopa 30 MW ja partioi jatkuvasti taivaalla viestintäkoneissa.

    SOS-signaali välitetään 600 metrin taajuudella vain hätätapauksissa, kun aluksen miehistöä ja matkustajia uhkaa todellinen hengenvaara. Jos tätä sääntöä rikotaan, kohtuuttoman paniikin tekijöille voidaan määrätä rangaistus. Tai moraalista, että merenkulkuyhteisö ei ole tyhjä lause. Tai materiaalia - kun apuun tulleille laivoille aiheutuu merkittäviä aineellisia menetyksiä. Tästä muuttumattomasta säännöstä on kuitenkin poikkeus. Joissakin tapauksissa aluksen kapteeni voi lähettää "pumpputaajuudella" kolmen kiinteän "hiljaisen minuutin" aikana tietoa vakavan uhan ilmaantumisesta aluksille alueella. Nämä voivat olla viestejä viallisista majakoista, tulivuoren toiminnasta, merirosvojen toiminnasta, upotetuista aluksista ...

    Radioliikenteen nopeuttamiseksi otettiin laajaan käyttöön lyhenteitä, kolmikirjaimia "Q-koodeja" ja lukuisia ammattislangia. Sen merkitys muuttuu sen mukaan, välitetäänkö Q-koodi kysymyksen tai lausunnon muodossa. Puheviestinnässä SOS-signaalia ei käytetä, hätäsignaali on Mayday. SOS-merkin antaminen on kielletty, ellei merellä ole todellista uhkaa ihmisten tai aluksen hengelle.

Tarjoamme sinulle online-morse-koodin kääntäjän.

Mitä se tarkoittaa? Oletetaan, että sinun täytyy kääntää tai kuunnella, miltä tekstisi kuulostaa käännettynä morsekoodiksi. Kirjoitat tekstisi vasemmanpuoleiseen ikkunaan, osoitat tekstin kielen alla ja painat nuolta oikealle. Oikeassa ikkunassa saat tekstisi morsekoodin. Napsauttamalla alla olevaa "toisto"-painiketta voit kuunnella tekstiäsi morsekoodina. Siten käytät online-morse-koodin kääntäjäämme.

Online-tekstin kääntäjä
morsekoodiin ja takaisin

Koodin tekstitulkinnassa välilyöntiä käytetään "osiomerkkiä" (- ··· -). Tämä on tarkoitettu vain kopioimisen helpottamiseksi.

Huomio! Sisäänrakennettu soitin toimii hyvin Chromessa, hieno - Operassa (jos se sammuu, voit koodata tekstin uudelleen morsekoodiksi, se auttaa), erittäin keskinkertainen - Safari. Ei toimi ollenkaan Firefoxissa ja Internet Explorerissa .

Viestin ääniversiossa noudatetaan kaikkia sääntöjä: yhden pisteen kesto otetaan aikayksikkönä; viivan kesto on kolme pistettä; tauko saman merkin elementtien välillä - yksi piste, sanan merkkien välillä - 3 pistettä, sanojen välillä - 7 pistettä.

Ladattava äänitiedosto esitetään muodossaWav (sinun täytyy ladata se, ei avata sitä selaimessa). Se on suuri: esimerkiksi morsekoodi lähetystä varten"Kreikkalaiset ratsastivat joen yli. näkee kreikkalaisen syövän joessa. laita kreikkalainen käsi jokeen, syöpä kreikkalaisen tsapin kädellä." painaa siinä 209 kt(vaikka se sisältää kaiken835 bittiä tiedot).

Haluatko testata voimaasi? Se ei voisi olla helpompaa.

"Morse-koodin" laulut:

Kyrillinen
latinan kieli
Morse-koodi
Laulaa
A
A
. —
huh
B
V
— . . .
ba-ki-te-kut
V
W
. — —
wee-da-la
G
G
— — .
ha-ra-zhi
D
D
— . .
do-mi-ki
E
E
.
on
F
V
. . . —
sama-le-zi-sata
Z
Z
— — . .
za-ti-ti
JA
minä
. .
ja-di
Th
J
. — — —
ja lyhyt
TO
TO
— . —
mitä kuuluu
L
L
. — . .
lu-na-ti-ki
M
M
— —
Äiti
H
N
— .
huone
O
O
— — —
noin
NS
P
. — — .
pi-la-po-yot
R
R
. — .
res-sha-em
KANSSA
S
. . .
shi-no-e
T
T

Niin
Omistaa
U
. . —
u-ness-lo
F
F
. . — .
fi-li-mon-chik
NS
H
. . . .
hee-mi-chi-te
C
KANSSA
— . — .
tsap-li-na-shi
H
Ei
— — — .
cha-sha-ei
NS
Ei
— — — —
sha-ro-wa-ra
SCH
K
— — . —
cha-you-not-sha
B, b
NS
— . . —
sitten-soft-cue-merkki
NS
Y
— . — —
s-ei-tehdä
NS
Ei
. . — . .
e-le-ron-chi-ki
NS
Ei
. . — —
Juliana
OLEN
Ei
. — . —
minä-pieni-minä-pieni

Ja tässä ovat numeroiden sävelet ja yleisimmät merkit. Huomaa, että puhtaasti digitaalisissa teksteissä nolla välitetään usein yhdellä viivalla, kuten T-kirjaimella - tämä monipuolistaa lähetystä miellyttävästi ja poistaa tarpeen kuunnella viittä viivaa peräkkäin;)
Merkki
Morse-koodi
Laulaa
0
— — — — —
nollasta voi-loa
1
. — — — —
ja-vain-yhdelle-on
2
. . — — —
Minä-menen-menen-menen
3
. . . — —
three-te-be-ma-lo tai I-ku-ka-ra-cha
4
. . . . —
Even-ve-ri-te-ka
5
. . . . .
viisi-ti-ti-e
6
— . . . .
kuusi-ti-beri
7
— — . . .
kyllä-kyllä-se-me-rik
8
— — — . .
kahdeksas-mo-go-and-di
9
— — — — .
no-na-no-na-mi
?
. . — — . .
minne-minulta-kysy-pissa-istui
!
— — . . — —
by-a-no-at-a-for
,
. — . — . —
ja-niin-ja-niin-ja-niin
\ (erotin)
— . . . —
time-de-li-te-ka