openKylin论坛

 找回密码

小程序:morse2imy:自己创建morse码 imy 手机铃声文件 [复制链接]

本帖最后由 careone 于 2013-3-19 12:43 编辑

2013-03-08
morse2imy:自己创建morse码 imy 手机铃声文件

获取方式:
发送主题为 morse2imy 的邮件到 emacs-locale@qq.com
即可获得下载链接。

其它下载地址:
http://www.kuaipan.cn/file/id_88447159174692932.htm

[attachment=0]morse2imy_1.0_all.deb[/attachment]

楼主
发表于 2013-3-19 12:39:16
回复

使用道具 举报

小程序:morse2imy:自己创建morse码 imy 手机铃声文件 [复制链接]

2013-03-08

morse2imy tips

cmd: morse2imy --tips
## 2013-02-26 updated, by Anyone
## -*- coding: utf8 -*-

首先需要以超级用户身份安装 morse 程序
sudo apt-get install morse

* Chapter 1: Base Operation

** example 1: sudo morse2imy -i
初始化 /dev/console 设备。
本命令适用于 Ubuntu。
如果是 Debian 用户,请把命令前面的 sudo 改为 su 即可。

说明:
!!! 每次重新启动电脑后,都需要以 root 用户身份来执行初始化操作, 否则无法正常调
用 morse 命令。也可以直接运行以下命令来了解莫尔斯的长短码:
morse -mb 123456789
morse -mb abcdefg 123 +-*/ "

初始化完成后,普通用户即可执行 morse2imy 命令的各种功能。

for Ubuntu:
sudo morse2imy -i
或者
sudo chmod a+w /dev/console

** example 2: morse2imy -t sound ~/002.imy 1234567890
在 ~ 主目录下生成 002.imy 文件, 内容从数字1到9的莫尔斯码(morse)铃声。

说明:
-t | -f : -t 代表内容以后面输入(Type)的字符为准,
               -f 代表从文本文件(File)读取内容;
sound : 有声模式。(模式别名: sound=auto=default=normal=0000=0)

** example 3: morse2imy -t auto ~/003.imy "1234567890 abc"
在 ~ 主目录下生成 003.imy 文件, 内容包含以下字符的莫尔斯码(morse)铃声:
123456789空格abc

说明:
如果输入内容含有空格,请在前后加上成对的英文双引号(英文单引号也可);
如果输入的内容有除数字和英文字母外的其它特殊字符,必要时应将字符转义:
  " 英文双引号: 使用 -t 选项时(下同),输入时应转义为 \" (2字符)
  ' 英文单引号: 应转义为 \' (2字符)
  ' '(空格):  应转义为 '\ ' (2字符,不含前后单引号)
详见 example 4.

** example 4: morse2imy -t auto ~/004.imy "1234567890\"abc"
铃声内容实为 1234567890"abc (不包括反斜杠 \ )

说明:
为保证转换的正确和完整性,建议以 -f 选项直接从文件读取内容。详见 example 5.

** example 5: morse2imy -f auto ~/005.imy ~/005.txt
-t | -f : -t 代表内容以后面输入(Type)的字符为准,
               -f 代表从文本文件(File)读取内容;

可以先创建文件 ~/005.txt, 内容如下行所示(仅一行):
1234657890 a b"c'd

** example 6: morse2imy -f auto ~/0506.imy ~/005.txt ~/006.txt
支持读取多个文件的内容,合并生成一个 imy 铃声文件。
本例为把主目录下的 005.txt 和 006.txt 的内容合并为 0506.imy 铃声文件。
另外也支持通配符操作。下面的命令同样有效的:
morse2imy -f auto ~/0506.imy ~/00*.txt
morse2imy -f auto ~/0506.imy ~/00?.txt
morse2imy -f auto ~/0506.imy ~/00[56].txt

* Chapter 2: Useful Operation

** example 201: morse2imy -t ledblink ~/0200.imy "i love you"
创建一个仅 LED 灯闪烁的无声文件 0200.imy (模式代码为 ledblink 或者 0200
或者 200),闪烁内容代表莫尔斯码 i love you (我爱你)。
详细的模式代码和定义见 example 202.

** example 202: morse2imy --mode
列出可用的模式。共支持4种设备的3种状态:
声音(sound):关(off)/开(on)
指示灯(led):关(ledoff)/开(vibeon)/闪烁(ledblink)
背光(back):关(vibeoff)/开(vibeon)/闪烁(backblink)
振动(vibe):关(vibeoff)/长开(vibeon)/间歇振动(vibeblink)

### 模式(mode)定义 ###
## 0000 = soundoff-ledoff-backoff-vibeoff (无声音-无指示灯-无背光-无振动)
## 1111 = soundon-ledon-backon-vibeon (声音开-指示灯长亮-背光长亮-振动长开)
## 1222 = soundon-ledblink-backblink-vibeblink
##         (声音开-指示灯闪烁-背光闪烁-间歇振动)
#
## 常用模式:
## 1000 = 有声(sound)模式. 本模式还有其它功能完全相同的别名(alias):
##        sound, auto, default, normal
## 1100 = 有声音的同时,指示灯长亮(ledon)
## 1010 = 有声音的同时,背光长亮(backon)
## 0001, 1, vibeon   = 没有声音,仅一直振动(vibe)
#
## 0200, 200, ledblink  = 没有声音,仅指示灯闪烁(ledblink)
## 0020, 20, backblink  = 没有声音,仅背光闪烁(backblink)
## 0002, 2, vibeblink   = 没有声音,仅间歇性地振动(vibeblink)
## ...
### 模式定义结束 ###

说明:
某些具有自动省电功能的手机,在使用某些与指示灯(led)和背光(back)相关的模式时,
如:指示灯闪烁(ledblink), 背光长亮(backon),背光闪烁(backblink)时会失效或不准
确。

** example 203: morse2imy -no ledon 3600 ~/ledon-3600seconds.imy
创建一个无声文件, 效果为指示灯长亮(ledon),时间为3600秒。时间以秒为单位。
作用:把手机用作手电筒。如果时间指定为0, 含义为一直长亮。
同样,也可通过指定模式为 vibeon(振动长开) 来把手机用作振动器:
morse2imy --mute vibeon 0 ~/vibeon-forever.imy

** example 204: morse2imy -t ledblink ~/meet.imy "to dear in room 201, 9:00pm, see you"
创建一个无声的,包含约会信息的灯语文件 meet.imy,内容为:
to dear in room 201, 9:00pm, see you (致201房间的亲,晚上9点见,想你)

** example 205: morse2imy -t sound ~/help.imy "help"
创建一个有声音的求救文件 help.imy ,内容为help(救命)。用于户外探险或意外时呼救。
也可把模式从 sound 改为 ledblink(无声,仅灯光闪烁),或 1100
(有声音,同时灯光闪烁).

** example 206: morse2imy -t sound ~/message.imy "message"
创建有声文件 message.imy , 用作手机的短信铃声。
同样,也可创建另外一个文件,用作手机的来电铃声:
morse2imy -t sound ~/call.imy "the quick brown fox jumps over the lazy dog"

* Chapter 3: for Morse/HAM

** example 301: morse2imy -f sound ~/morse-test.imy ~/morse-test.txt
读取 ~/morse-test.txt 文本文件,将内容转化成 ~/morse-test.imy 铃声文件。
本例可用于无线电爱好者创建测试文件,用于训练和测试自己对莫尔斯码(morse)掌握能
力。
    本程序还适用于无线电通迅, 军事和国防用途。

    如果把模式从 sound 改为 ledblink(仅指示灯闪烁),生成的灯语文件可用于海军灯
语训练。

* Chapter 4: IMY Melody Sample & Format
一个 imy 铃声文件的范例如下:

BEGIN:IMELODY
VERSION:1.2
FORMAT:CLASS1.0
COMPOSER:MTK(2)
BEAT:120
MELODYledonbackonc2d2e2f2g2a2b2vibeonr2vibeoffr2backoffledoff@1)
END:IMELODY

主要的含义如下:
COMPOSER:MTK(2)
乐器(COMPOSER)代码为2,即为钢琴(piano)

选用g2(即音符5)代表莫尔斯码(morse)的长划 dah (-) ,
选用c2(即音符1)代表莫尔斯码(morse)的短点 dit (.) ,
用钢琴来播放时音色和判定效果较好。

BEAT:120
节拍(BEAT)默认为120,单位为拍/分钟(bpm, beats per minutes)。
默认为120, 慢速为60, 快速为180. 有效值是25-900的整数。
本程序多采用节拍值240, 纯声音模式时数值可以设为300,这样播放速度会更快。

@1
代表重复(REPEATS)次数。数值为从0开始的任意整数。
1代表1次。0代表一直重复播放。
本程序默认值为 @1 (使用--nothing 选项时可实现其它效果,重复值另当别论)

* Chapter 5: Extra Function and Known Problems

** example 401: morse2imy -f sound ~/401.imy ~/info.gb2312.txt
从文本文件 ~/info.gb2312.txt 创建 ~/401.imy 的有声文件。

说明:
因为本程序依赖的 morse 程序目前只支持包括英文字母a-z(不区分大小写),阿拉伯数字
0-9, 以及少量其它字符在内的 ACSII 字符编码,对中文汉字,以及其它非 ACSII 字符
并不支持,当 morse 程序读取文件时如果遇到无法识别和处理的字符,会自动跳过这些字
符。

    根据这一特点,可以先写好一个需要的信息文件 info.gb2312.txt,然后在文件中插
入一些中文字符,全角的英文,全角的数字,以及其它外文字符,这样运行时本程序只会
对可识别的字符进行莫尔斯码转换,实现有效传递信息,原始文件 info.gb2312.txt 又具
备一定的保密效果,不至于太容易泄密。

    当然,如果可能,也可以编写一个字典文件(相当于密码本),将中文汉字先转换为
数字或字母,再从数字和字母创建 imy 铃声文件就可以。

    更高级的功能,如果字典文件(即密码本)只针对某些文字解码为数字和字母,那么可
以有针对性地准备好3个文件:
文件1 (file1.txt, 假象文件) 内容如下:
明天晚上看电影去不?

文件2 (file2.txt, 要传递的真实信息) 内容如下:
i am in room 201

文件3 (file3.dict, 字码本文件), 内容如下:
明 "1 "
天 "am "
晚 "in "
上 "room "
看 "201 "
电 "it "
影 "is "
去 "just "
不 "a "
? "dictionary "

    这样,通过对应转换,可以把保密内容转移到可以公开传递的信息,转换为莫尔斯码
铃声,再通过密码本解密还原出有效信息。
沙发
 楼主| 发表于 2013-3-19 12:40:06
回复

使用道具 举报

openKylin

GMT+8, 2024-5-18 16:39 , Processed in 0.017160 second(s), 17 queries , Gzip On.

Copyright ©2022 openKylin. All Rights Reserved .

ICP No. 15002470-12 Tianjin

快速回复 返回顶部 返回列表