使用 Airpods 耳机发送摩尔斯码 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
iqoo
V2EX    分享创造

使用 Airpods 耳机发送摩尔斯码

  •  2
     
  •   iqoo 2024-04-25 11:30:33 +08:00 2716 次点击
    这是一个创建于 535 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Airpods 按一下可以暂停/继续播放,按两下可以播放下一首,按三下可以播放上一首,这个功能可用于发送摩尔斯。

    实现也很简单,甚至可以做成在线网页版,只需播放一个空白音频,然后通过 Media Session API 即可获得事件回调。昨晚花两小时做了个简单的演示:

    https://etherdream.github.io/headphone-morse-transmitter/

    https://github.com/EtherDream/headphone-morse-transmitter

    (浏览器需要用户行为才能播放音频,点击页面任意位置即可开始。目前火狐浏览器还存在些问题,空白音频不能用功能键控制~)

    连上耳机后,点击发送 “.”,双击发送 “-”,三击删除前一个字符。

    由于真正的摩尔斯码是短按和长按,而这里是单击和双击,因此操作上和还是有一定区别的,尤其是按得太快时,单击会被识别成双击甚至三击,所以间隔不能太短,目前默认设置成 1.5s 。即使只有一个码,例如字母 E 只有一个 ".",按下后也要耐心等一秒多。

    如果没有耳机的话,用键盘上的暂停播放、下一首、上一首这 3 个功能键也能模拟。

    16 条回复    2024-04-26 18:59:40 +08:00
    huzhizhao
        1
    huzhizhao  
       2024-04-25 11:48:40 +08:00
    嗯?间谍场景?
    NoOneNoBody
        2
    NoOneNoBody  
       2024-04-25 12:20:41 +08:00
    分隔呢?两码之间“智能”分隔?
    iqoo
        3
    iqoo  
    OP
       2024-04-25 13:19:35 +08:00
    @NoOneNoBody 超时时间到了本次输入就结束了。单词之间没有空格。
    NoOneNoBody
        4
    NoOneNoBody  
       2024-04-25 13:31:22 +08:00
    @iqoo #3
    我的意思是两字母之间就用 000 分隔么?
    iqoo
        5
    iqoo  
    OP
       2024-04-25 13:45:32 +08:00
    @NoOneNoBody 不明白你说的分隔是什么。超时时间到了就把已输入的点划序列去查表转成字母,查不到就不输出字母。
    iqoo
        6
    iqoo  
    OP
       2024-04-25 13:56:09 +08:00
    @NoOneNoBody 如果单独设置一个按键用于强制分隔倒也是可以,比如把三击用于强制分隔,这样输入的时候就不用人为去等超时了,直接三击立马输出。
    NoOneNoBody
        7
    NoOneNoBody  
       2024-04-25 14:09:31 +08:00   1
    @iqoo #5
    一般是不会用超时判断的,因为停顿有几种:字母之间、单词之间、发送结束(可能还有句子之间),每个用不同的超时这种感受性方式,输入的人很难受,一般都用特殊符号或者按键分隔。你看看谍战剧就知道了,发电报是不停顿连续按的
    iqoo
        8
    iqoo  
    OP
       2024-04-25 14:16:46 +08:00
    @NoOneNoBody 主要耳机这个场合不能按的太快,按太快会被误识别成双击,所以再用额外按键标记间隔信息可能会更慢。当然用三击标识间隔是可行的,删除用其他方式表示。我考虑改进下。
    7gugu
        9
    7gugu  
       2024-04-25 14:23:53 +08:00
    天才!体验了一下好有趣
    NoOneNoBody
        10
    NoOneNoBody  
       2024-04-25 14:42:44 +08:00   2
    举个例子:
    西安哥
    拼音:xiange
    带分隔符:
    1. xi'an'ge
    2. xian'ge
    3. xiang'e
    换言之不带分隔符至少有三种歧义,单靠分出字母是不行的

    你应该是懂摩斯码,但没实际玩过电报操作,如果靠时间停顿,是要非常熟悉对方的操作频率的(互相有默契)
    电报需要精简,因为每个字符都拉长了,发一整句很耗时(以前还有费用问题,字少便宜),精简后双方明白就行,缩略语甚至奇怪的“组词”都会出现
    如:这里好多有钱的人,还很好骗,别错过 --> 钱多人傻快来 --> m 大 来(最后这个仅 6 个字母)
    Donaldo
        11
    Donaldo  
       2024-04-25 16:11:40 +08:00
    @NoOneNoBody #10 再精简一下,“1”
    Unpro
        12
    Unpro  
       2024-04-25 22:36:12 +08:00
    有意思
    StevenRCE0
        13
    StevenRCE0  
       2024-04-26 04:33:00 +08:00
    @NoOneNoBody 有意思,不过 OP 这个显然是玩具场景,拿等待时间分割牺牲效率倒也不会有歧义出现
        14
    Glkcv  
       2024-04-26 10:01:13 +08:00
    长按不是可以切换降噪吗,单击和长按输入,三击删除应该就不会误识别了
    iqoo
        15
    iqoo  
    OP
       2024-04-26 11:57:04 +08:00
    @StevenRCE0 是的,纯属娱乐,输入效率非常低 适合初学者学习使用,晚上睡觉关掉手机屏幕了也能用。
    unii23i
        16
    unii23i  
       2024-04-26 18:59:40 +08:00
    马一下,感觉会成为我的小说素材
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2635 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 03:57 PVG 11:57 LAX 20:57 JFK 23:57
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86