https://github.com/dionixs/morsify
:outbox_tray: Morse code encoder and decoder with supports Latin, Cyrillic.
https://github.com/dionixs/morsify
audio morse morse-code morse-translator ruby
Last synced: about 1 month ago
JSON representation
:outbox_tray: Morse code encoder and decoder with supports Latin, Cyrillic.
- Host: GitHub
- URL: https://github.com/dionixs/morsify
- Owner: dionixs
- License: mit
- Created: 2019-12-24T11:32:46.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-09-03T08:26:37.000Z (about 3 years ago)
- Last Synced: 2025-08-21T17:37:16.852Z (about 1 month ago)
- Topics: audio, morse, morse-code, morse-translator, ruby
- Language: Ruby
- Homepage:
- Size: 1.24 MB
- Stars: 31
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Morsify
Morsify - это библиотека для конвертирования текста в Азбуку Морзе или наоборот.Одной из ключевых особенностей `gem morsify`, является трансляция между азбукой Морзе и кириллицей.
### Установка
Добавьте эту строку в Gemfile вашего приложения:
```
gem 'morsify'
```Затем выполните:
```
$ bundle
```Или установите пакет `morsify` из [Rubygems](https://rubygems.org/gems/morsify):
```
gem install morsify
```### Использование
* Между одним символом азбуки морзе, используется один пробел.
* Между словами отступ равен 7 пробелам.
#### Текст в азбуку Морзе
```ruby
require 'morsify'text = 'hello'
Morsify.encode(text)
=> ".... . .-.. .-.. ---"text = 'текст на русском'
Morsify.encode(text)
=> "- . -.- ... - -. .- .-. ..- ... ... -.- --- --"
```#### Код Морзе в кириллицу
```ruby
require 'morsify'text = "- . -.- ... - -. .- .-. ..- ... ... -.- --- --"
Morsify.decode(text, :ru)
=> "ТЕКСТ НА РУССКОМ"
```#### Код Морзе в латиницу
```ruby
require 'morsify'text = "... --- ... ... --- ..."
Morsify.decode(text)
=> "SOS SOS"
```#### Код Морзе в WAV File
Сохраняет файл в формате .wav в текущую папку, из которой запущен основной файл программы.
В данной папке, создается подпапка, с именем текущей даты, в формате (ДД-ММ-ГГГГ).
Внутри которой будет сохранен .wav файл, с именем текущего времени, в формате (ЧЧ-ММ-СС).
```ruby
require 'morsify'text = "... --- ... ... --- ..."
Morsify.wave(text)
=> "Generate wave file: current_path/Day-Month-Year/Hour-Min-Sec.wav"
```#### Терминал
```bash
$> morsify
Select the operation mode: (Use ↑/↓ arrow keys, press Enter to select)
‣ Text to Morse
Morse to Text
Text to WAV File
Exit
``````bash
$> morsify -h
Usage: morsify [options]
-h, --help Prints this help
-e, --encode TEXT Text to Morse
-d, --decode MORSE_CODE Morse to Text
-c, --cyrillic
-w, --wave MORSE_CODE Morse to WAV File
-v, --version
``````bash
$> morsify -e "hello"
=> ".... . .-.. .-.. ---"$> morsify -d "... --- ..."
=> "SOS"$> morsify -d ".--. .-. .. .-- . -" -c
=> "ПРИВЕТ"
```В случае глобального запуска программы, файл в формате .wav, будет сохранен в домашний каталог.
```bash
$> morsify -w '... --- ...'
=> Generate wave file: /home/user/records/06-03-2020/14-10-09.wav
```### Тесты
```
bundle exec rake spec
```### Ресурсы
* [Азбука Морзе](https://ru.wikipedia.org/wiki/%D0%90%D0%B7%D0%B1%D1%83%D0%BA%D0%B0_%D0%9C%D0%BE%D1%80%D0%B7%D0%B5)
* [Wavefile](https://github.com/jstrait/wavefile)
### License
Code released under [MIT](https://github.com/dionixs/ttt-cli/blob/master/LICENSE) license.