Audio faylı Morze koduna çevirin. Morze səs kodunu yaratmaq üçün proqram

10.01.2022

Diqqətinizə onlayn Morze kodu tərcüməçisini təqdim edirik.

Bu nə deməkdir? Tutaq ki, Morze əlifbasına tərcümə edildikdə mətninizin necə səslənəcəyini tərcümə etməli və ya dinləməlisiniz. Siz sol pəncərədə mətninizi daxil edin, aşağıda mətn dilini göstərin və sağ oxu klikləyin. Sağ pəncərədə mətninizin Morze kodunu alacaqsınız. Aşağıdakı "oyna" düyməsini klikləməklə, Morze əlifbası ilə mətninizi dinləyə bilərsiniz. Bu yolla siz onlayn Morse kodu tərcüməçimizdən istifadə edəcəksiniz.

Onlayn mətn tərcüməçisi
Morze koduna və geriyə

Kodun mətn şərhində boşluğu göstərmək üçün “bölmə işarəsi” (-···-) istifadə olunur. Bu, yalnız kopyalama asanlığı üçün edilir.

Diqqət! Daxili pleyer Chrome-da, adətən Opera-da yaxşı işləyir (ilişib qalsa, mətni Morze əlifbasına yenidən kodlaya bilərsiniz, bu kömək edir), çox orta səviyyədədir. Safari. Firefox-da və Internet Explorer heç işləmir .

Mesajın audio versiyasında bütün qaydalara əməl olunur: bir nöqtənin müddəti zaman vahidi kimi götürülür; tirenin müddəti üç nöqtəyə bərabərdir; eyni simvolun elementləri arasında pauza bir nöqtə, bir sözdəki simvollar arasında 3 nöqtə, sözlər arasında 7 nöqtədir.

Yükləmək üçün səs faylı formatda təqdim olunurWAV (onu yükləməlisən, brauzerdə açmamalısan). Bu böyükdür: məsələn, göndərmək üçün Morze kodu“Yunan maşınla çayı keçirdi. çayda bir yunan görür, xərçəng. yunanın əlini çaya saldı, xərçəng də yunanın əlindən tutdu». ağırlığındadır 209 KB(baxmayaraq ki, yalnız ehtiva edir835 bit məlumat).

Gücünüzü sınamaq istəyirsiniz? Heç bir şey daha sadə ola bilməz.

Morze kodu melodiyaları:

kiril
latın
Morze kodu
Nəğmə
A
A
. —
oh bəli
B
IN
— . . .
ba-ki-te-kut
IN
W
. — —
vi-da-la
G
G
— — .
qa-ra-zhi
D
D
— . .
do-mi-ki
E
E
.
var

V
. . . —
zhe-le-zi-sto
Z
Z
— — . .
for-ka-ti-ki

I
. .
i-di
Y
J
. — — —
və-qısa-to-e
TO
TO
— . —
necesen
L
L
. — . .
lu-na-ti-ki
M
M
— —
ana
N
N
— .
nömrə
HAQQINDA
HAQQINDA
— — —
yaxın
P
P
. — — .
pi-la-po-yot
R
R
. — .
re-sha-et
İLƏ
S
. . .
si-ne-e
T
T

Beləliklə
U
U
. . —
u-daşıdı
F
F
. . — .
fi-li-mon-cücə
X
N
. . . .
hee-mi-chi-te
C
İLƏ
— . — .
tsap-li-na-shi
H
yox
— — — .
cha-sha-to-no
Ş
yox
— — — —
sha-ro-va-ra
SCH
Q
— — . —
sha-you-dont-sha
b, b
X
— . . —
bu yumşaq işarə
Y
Y
— . — —
s-edilməz
E
yox
. . — . .
e-le-ron-chi-ki
Yu
yox
. . — —
Juliana
I
yox
. — . —
balacayam balacayam

Və burada nömrələrin melodiyaları və ən çox rast gəlinən simvollar var. Qeyd edim ki, sırf rəqəmsal mətnlərdə sıfır tez-tez T hərfi kimi bir tire ilə ötürülür - bu, ötürməni xoş bir şəkildə şaxələndirir və ardıcıl beş tireyə qulaq asmaq ehtiyacını aradan qaldırır;)
İmza
Morze kodu
Nəğmə
0
— — — — —
sıfırdan o-ko-loya
1
. — — — —
və yalnız bir
2
. . — — —
dağa-getdim
3
. . . — —
üç-sən-ma-lo, ya da I-ku-ka-ra-ça
4
. . . . —
che-ve-ri-te-ka
5
. . . . .
beş-le-ti-e
6
— . . . .
po-six-ti-be-ri
7
— — . . .
bəli-bəli-se-me-rik
8
— — — . .
səkkiz-mo-go-i-di
9
— — — — .
amma-na-no-na-mi
?
. . — — . .
hardan soruşum
!
— — . . — —
by-ka-no-pri-ka-za
,
. — . — . —
və-filankəs
\ (ayırıcı)
— . . . —
bir dəfə-de-li-te-ka

Amma müasir radiorabitələrdə heç bir əhəmiyyət kəsb etməyən (igid ordumuzdan başqa hamı latın əlifbasından istifadə edir) kiril hərf kodlarını öyrənmək üçün nəzərdə tutulub.

İdeyanın həyata keçirilməsi üçün bir vasitə kimi Qt ilə birlikdə C++ seçilmişdir.

Proqramın əsas ideyası

Morze kodunun atomu (vahidi) bütün digər elementlərin müddəti ona nisbətən formalaşır;
  1. Tire üç səslənən nöqtəyə bərabərdir;
  2. Bir simvolun (işarənin) elementləri arasındakı fasilə bir səssiz nöqtədir;
  3. İşarələr arasında üç nöqtə var;
  4. Sözlər arasında yeddi nöqtə var.
Gördüyünüz kimi, Morze əlifbasına əsaslanan istənilən kod səslənən və səssiz nöqtələr toplusu kimi təqdim edilə bilər: Mən bu fikirdən başladım və bu həll mənə olduqca orijinal göründü.

İlkin icra

Proqramın ilk versiyasında səs və səssiz nöqtələrin birləşməsi Boolean elementləri olan bir vektor kimi saxlanılırdı, burada doğrudur səsin açılmasına uyğun gəlirdi və yalan- söndürülməsi.

Artıq başa düşdüyünüz kimi, son siqnalı əldə etmək üçün mən sadəcə səsi bir qədər gecikdirərək (nöqtənin müddətinə millisaniyələrlə bərabər olan taymerdən istifadə edərək) sine yazısı olan sonsuz çalan .wav faylı ilə “çəkdim”. Amma bu yanaşmaəhəmiyyətli bir dezavantajı var idi və bu, hər bir nöqtənin həddindən artıq yüklənmiş operatordan istifadə edərək ayrıca yüklənməli olmasından ibarət idi. xüsusi üsul. Bu yanaşmaya görə mən hər hərf üçün ayrıca makro yazmalı oldum (bu kimi - #define I DOT<< false << DOT) и создать огромный жуткий keçidötürülən simi oynamaq üçün. Dəhşətli idi, amma maraqlanırsınızsa, yoxlaya bilərsiniz.
proqramın ilk versiyası ilə (mən yerli deponu GitHub-a tamamilə yükləyə bilmədim - yalnız ən son versiya).

Bir parça ürpertici keçid:

bool Morse::StringToMorse (QString &line) ( sətir += "\0"; üçün (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; // И так далее


Və səsin açılıb-söndürülməsi belədir (əslində səs kodu yaradılıb):

void Morse::PlayLinePoints () ( QTimer::singleShot (duration_point_, bu, SLOT (Sessiz ())); sound_.play (); ) void Morse::Sessiz () ( əgər (line_points_.empty ()) ( / /Stop playback sound_.stop (); return; if (line_points_.at (0)) ( //Sound sound_.setMuted (yanlış); line_points_.remove (0); QTimer::singleShot (duration_point_, bu, SLOT (Mute ())); return ) else ( sound_.setMuted (true); //Səs xəttini söndürün_.remove (0); QTimer::singleShot (duration_point_, bu, SLOT (Sessiz ())); qayıt ))

Son versiya

Bu makrolar çox çətin oldu və mənim mükəmməlliyim artıq bu dəhşətli dizaynlara baxa bilmirdi. Bir az fikirləşəndən sonra belə qənaətə gəldim ki, fikrim yaxşıdır, amma kodları makro şəklində saxlamaq çox əlverişsizdir və bu problemi həll etsəniz, onda hər şey yaxşı olacaq. Nəticədə kodları saxlamaq üçün QMap istifadə edildi:

//QMap simvollarının uyğun nöqtə və tire kombinasiyalarını saxlayır kodlar_;
Bu yanaşma çox əlverişli olduğu ortaya çıxdı. İndi mən sadəcə oynanılan cari personajdan açar kimi istifadə etdim və bitirdim
Kodu çoxaltmaq üçün (Boolean dəyərlər toplusu), lakin reproduksiya alqoritmi bir az daha mürəkkəb idi: simvolun cari elementinin sayğacını və sətirdəki simvolların sayğacını daxil etmək lazım idi:

Yeni oxutma tətbiqi:

void Morse::MiniSpace () ( if (stop_) ( this->Stop (); return; ) sound_.setMuted (true); ++id_element_; //Başqa kod elementinə keçin, əgər (id_element_ == codes_.value (). string_to_play_.at (id_char_).size ()) ( ++id_char_; id_element_ = 0; QTimer::singleShot (duration_dot_ * 3, bu, SLOT (Sessiz())); //simvollar arasında fasilə; ) QTimer: : singleShot (duration_dot_, this, SLOT (Mute())); //Symbol elementləri arasında pauza ) void Morse::Space () ( if (stop_) ( this->Stop (); return; ) sound_.setMuted (true ) ; //Pauza 7 nöqtə davam edir //Lakin simvoldan sonra üç nöqtəli fasilə olduğundan, əlavə pauza 4 bal uzunluğunda QTimer::singleShot (duration_dot_ * 4, bu, SLOT (Mute()) ); void Morse::Mute () ( if (stop_) ( this->Stop (); return; ) if (id_char_ == string_to_play_.size ()) ( // Xətt bunu bitirdi->Stop (); return; ) if (string_to_play_.at (id_char_) == " ") ( Space(); ++id_char_; //Başqa kod elementinə qayıdın; ) if (codes_.find (string_to_play_.at (id_char_)) == kodlar_.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; }


bayraq dayan_ proqramın səhv işləməsinin qarşısını almaq üçün təqdim edildi (Play() üçün ardıcıl iki zəng və digər pis şeylər).
Qalan mənbə kodunu və başlıq fayllarını məqalənin mətninə daxil etmək üçün heç bir səbəb görmürəm, çünki orada hər şey olduqca aydın və şəffafdır.

GitHub-da ən son versiya üçün mənbələrin tam dəstini yükləyə bilərsiniz. GUI yazmaq mənasız bir işdir, amma yenə də GUI yaradılıbsa, mən linki əlavə edəcəyəm. Hər hansı bir sualınız və ya şərhiniz varsa, şərhlərdə yazın - mütləq cavab verəcəyəm.

Rus və Latın mətnlərini Morze əlifbasına və əksinə tərcümə etmək üçün pulsuz xidmət. Skript işləmirsə, brauzerinizdə Javascript dəstəyini işə salın.

Cədvəldəki simvollar aktivdir. Simvol və ya Morze əlifbasının üzərinə siçan sol kliklədikdə, onlar giriş pəncərəsinə əlavə olunacaqlar.


rus
simvolu
latın
simvolu
Kod
Morse
AA
BB
INW −−
GG−−
DD
E və YoE
V
ZZ−−
I
YJ −−−
TOK− −
LL
MM−−
NN
HAQQINDAO−−−
PP −−
RR
İLƏS
TT
UU
FF
XH
CC− −
HÖ −−−
ŞCH−−−−
SCHQ−− −
KommersantÑ −− −−
YY− −−
bX− −
EÉ
YuÜ −−
IÄ − −
rus
simvolu
latın
simvolu
Kod
Morse
1 −−−−
2 −−−
3 −−
4
5
6
7 −−
8 −−−
9 −−−−
0 −−−−−
.
, . − − −
! , −− −−
! − − −−
? −−
" −−−−
" − −
; − − −
: −−−
- − −
+ − −
= − −
_ (altın xətt) −− −
/ − −
(− −−
(və ya)) − −− −
&
$ − −
@ −− −
XətaXəta
Bağlantının sonuƏlaqəni bitir − −

P.S. Qeyd etmək lazımdır ki, rus dilinin Morze əlifbası Latın əlifbası ilə qismən üst-üstə düşsə də, bəzi fərqlər hələ də mövcuddur (Mən bunu Vikipediyanın rus və ingilis səhifələrində müqayisə etmişəm - orada kod cədvəllərinə də baxa bilərsiniz). Məsələn:

  • rus dilində "nöqtə" simvolu: · · · · · · , latınca isə: · – · – · –
  • rus dilində vergül: · − · − · − , latınca isə: – – · · – –
  • rus dilində nida işarəsi: − − · · − − , latınca isə: – · – · – –
  • Latın dilində açılış mötərizəsi: – · – – · və bağlama mötərizəsi – · – – · –, rus dilində isə hər iki mötərizə eynidir: – · – – · –
  • & + _ $ kimi bəzi simvollar yalnız Latın versiyasındadır

Buna görə də mübahisəli məsələlər olduqda, məsələn, − − · · − − kodunu nida işarəsinə (rus dilində) və ya vergülünə (latın versiyasında) çevirmək üçün rus versiyasına üstünlük verilir, çünki bu mesajı rus dilində oxuduğunuz üçün rus versiyasının sizin üçün daha vacib olduğu güman edilir.

Eyni zamanda, rus dilində + kimi zəruri işarə olmadığından (bəzi insanlar üçün $ : daha lazım ola bilər), onda mən bu işarəni rus kodlaşdırmasına da əlavə etdim. Əgər bu seçim sizə uyğun gəlmirsə, Javascript və HTML haqqında minimal məlumatınız varsa, bu skripti hər zaman ehtiyaclarınıza uyğunlaşdıra bilərsiniz.

Yeri gəlmişkən, bu mənim Javascript dilində ilk yaradıcılığımdır və yəqin ki, orada çoxlu çatışmazlıqlar var. Ciddi mühakimə etməyin :).

P.S. Mənbəyə açıq aktiv keçidin göstərildiyi və Ruslan Tertişnının müəllifliyinin qorunub saxlanılması şərti ilə bu məqaləni sərbəst surətdə çıxarmaq və sitat gətirmək icazəsi verilir.

P.P.S. Morze əlifbasını maraqlı şəkildə öyrənmək istəyirsinizsə, sizə bir oyun təklif edirik "Morse Magic 2", Ruslan Boqdanov tərəfindən yaradılmışdır.

    SOS təhlükə siqnalını deşifrə etmək üçün bir çox variant var - "Ruhumuzu xilas et", "Gəmimizi xilas et", "Üzmək və ya batmaq", "Digər siqnalları dayandır", "Ölümdən xilas et". Lakin onların hamısı sadəcə yadda saxlamaq üçün icad edilmiş mnemonikalardır, halbuki bu siqnal 1906-cı il Beynəlxalq Radioteleqraf Konfransında standart siqnal kimi qəbul edildikdə, abbreviaturaya heç bir məna verilməmişdir. Hətta SOS hərflərinin özləri də çox şərti olaraq Morze kodu ardıcıllığına (... - - - ..) aid edilə bilər, çünki orada hərflərarası intervallar yoxdur. Və onlar bu nöqtə və tire birləşməsini qəbul etdilər, çünki kifayət qədər uzunluq və simmetriyaya görə siqnalların ümumi axınında tanınması və vurğulanması üçün digərlərindən daha əlverişli olduğu ortaya çıxdı.

    Samuel Morse 34 yaşına qədər rəssam olub və texnologiya ilə maraqlanmırdı. 1825-ci ildə bir qasid ona atasından arvadının ölmək üzrə olduğunu bildirən məktubu çatdırdı. Morze dərhal Vaşinqtonu tərk edərək ailəsinin yaşadığı Nyu-Heyvenə getdi, lakin onun gəlişinə qədər arvadı artıq dəfn olunmuşdu. Bu hadisə Morseni rəsmdən əl çəkməyə və mesajları uzun məsafələrə tez çatdırmağın yollarını öyrənməyə məcbur etdi ki, bu da 1838-ci ildə Morze kodunun və elektrik teleqrafının inkişafına səbəb oldu.

    Morze əlifbası öz tanış formasında Morze tərəfindən deyil, alman mühəndisi Gerke tərəfindən icad edilmişdir. Orijinal Morze əlifbası 1960-cı illərə qədər bəzi Amerika dəmir yollarında istifadə olunsa da, çətin idi.

    6 fevral 1900-cü ildə Finlandiyanın Kotka şəhərində yerləşən bir radio stansiyası buz qıran Ermak gəmisinə 50 balıqçını qırılan buz parçasının üzərindən xilas etmək əmri ilə simsiz teleqram göndərdi. Bu, tarixdə dənizdə yayımlanan ilk radio qəza siqnalı idi. Xilasetmə əməliyyatı uğurla başa çatıb.

    Müasir sualtı qayıqlar "yer dünyası" ilə daha səmərəli əlaqə vasitələri ilə təchiz edilmişdir. Rabitə okeanın 300 metrə qədər dərinliklərinə nüfuz edə bilən ultra uzun dalğalar üzərində həyata keçirilir. Bu, 30 MVt-a qədər enerji istehlak edən güclü yerüstü antena sahələrinin və daim səmada patrul edən rabitə təyyarələrinin saxlanmasını tələb edən çox bahalı "mobil rabitə" dir.

    SOS siqnalı 600 metr tezlikdə yalnız fövqəladə hallarda, gəminin heyəti və sərnişinlərin həyatları üçün real təhlükə yarandıqda ötürülür. Bu qayda pozulduqda, əsassız panikaya səbəb olan şəxslərə qarşı cəzalar tətbiq oluna bilər. Və ya əxlaqi, dəniz cəmiyyətində boş bir ifadə deyil. Və ya maddi - köməyə gələn gəmilər əhəmiyyətli maddi itkilərə məruz qaldıqda. Ancaq bu dəyişməz qaydanın bir istisnası var. Bəzi hallarda gəmi kapitanı regionda gəmilər üçün ciddi təhlükənin yaranması barədə üç sabit “sükut dəqiqəsi” zamanı “səs tezliyi” ilə məlumat ötürə bilər. Bunlar nasaz mayaklar, vulkanik fəaliyyət, pirat fəaliyyəti, batmış gəmilər haqqında mesajlar ola bilər...

    Radio rabitəsini sürətləndirmək üçün abbreviaturalar, üç hərfli “Q-kodları” və çoxsaylı jarqon ifadələr geniş istifadəyə verilmişdir. Q kodu sual və ya bəyanat şəklində ötürüldükdə onun mənası dəyişir. Səsli rabitədə SOS siqnalı təhlükə siqnalı kimi istifadə edilmir; Dənizdə insanların və ya gəminin həyatı üçün real təhlükə olmadığı halda SOS siqnalının verilməsi qadağandır.

Morze əlifbası, operatorlara bir sıra uzun və qısa elektrik siqnallarından və ya başqa sözlə, nöqtə və tirelərdən istifadə etməklə mesaj göndərməyə imkan verən simvolların kodlaşdırılması üsuludur.

Morze əlifbasını kim icad edib?

Samuel F. B. Morse və onun köməkçisi Alfred Vail Morze əlifbasının ixtiraçıları hesab olunurlar.

Morze əlifbası nə vaxt icad edilmişdir?

Morze əlifbası 1830-cu illərdə hazırlanmış və 1840-cı illərdə təkmilləşdirilmişdir.

Morze əlifbası ilə göndərilən ilk mesaj hansı olub?

İlk rəsmi mesaj belə oldu: “Allah nələr etdi” (rus dilində: Sənin əməllərin gözəldir, ya Rəbb!). Samuel F. B. Morse tərəfindən 24 may 1844-cü ildə Baltimor-Vaşinqton teleqraf xəttinin açılışında göndərilmişdir.

Morze əlifbası nə üçün istifadə olunur?

Keçmişdə Morze əlifbası xüsusilə orduda çox geniş istifadə olunurdu. Bu gün Morze kodu məhdud tətbiqlərə malikdir, lakin hələ də aviasiyada, həvəskar radioda və əlillər üçün köməkçi texnologiya kimi istifadə olunur.

Morze kodundan necə istifadə etmək olar?

Morze əlifbası müxtəlif üsullarla, məsələn, qələm və kağız, işıq və səs, hətta gözlər və ya barmaqlarla istifadə edilə bilər.

Morze əlifbasını necə öyrənmək olar?

Morze əlifbasını kodun audio yazılarına qulaq asmaqla, həmçinin müxtəlif internet saytlarında tapıla bilən söz əzbərləmə üsullarından istifadə etməklə öyrənə bilərsiniz. 2019-cu ildə Morze əlifbasını öyrənmək üçün ən yaxşı üsullardan biri Google-dan Gboard klaviaturası idi. Google Creative Lab tərəfindən təqdim olunan Morze kodu məşqləri ilə onlayn olaraq pulsuz məşq edə bilərsiniz.

Morze əlifbasını necə oxumaq olar?

Əgər Morze əlifbasını oxumaqda kifayət qədər təcrübəniz yoxdursa, Morze əlifbası cədvəlində müvafiq simvolları axtara və ya sadəcə Morze əlifbası tərcüməçisindən istifadə edə bilərsiniz.

Morze əlifbasını necə tərcümə etmək olar?

Morze əlifbasını tərcümə etmək və ya deşifrə etmək istəyirsinizsə və onu necə oxuyacağınızı bilmirsinizsə, sadəcə olaraq onlayn Morze kodu tərcüməçisindən istifadə edə bilərsiniz. Morze əlifbası tərcüməçisinin köməyi ilə siz kodu asanlıqla deşifrə edə və rus dilində mətni oxuya bilərsiniz.

Morze kodu tərcüməçisi nədir?

Morze əlifbasının tərcüməçisi hər kəsə Morze əlifbasını mətnə ​​çevirməyə və kodda yazılmış mesajı asanlıqla deşifrə etməyə imkan verir. Onlayn Morze əlifbası tərcüməçisinin köməyi ilə hər kəs rus dilində və ya başqa dildə sadə mətni Morze əlifbasına və əksinə tərcümə edə bilər. Nokia SMS zəng melodiyasını xatırlayırsınız? Nostalji hiss etmək istəyirsinizsə, "... -- ..." kodunu deşifrə etməyə çalışın və sonra səsi səsləndirin. Əgər Morze əlifbası ilə gizli mesajı deşifrə etmək lazımdırsa və ya oyunda kodu olan Pasxa yumurtasına rast gəlsəniz nə etməli? İnternet bağlantınız varsa və Morze əlifbasını öyrənmək istəyirsinizsə, Morze əlifbası tərcüməçisi 7/24 xidmətinizdədir.