jblond/morse

PHP 摩尔斯电码和 WAV 音频文件生成

1.2.3 2023-08-10 13:12 UTC

This package is auto-updated.

Last update: 2024-08-29 09:40:06 UTC


README

支持的字符集

  • 阿拉伯语,西里尔文,希腊语(需要转换为大写字母(包含函数)),希伯来语,日语,韩语,拉丁语,波斯语和泰语。

composer require jblond/morse

示例 UI: https://github.com/JBlond/maas

示例

<?php

use jblond\morse\Morse;
use jblond\morse\Wave;

require './vendor/autoload.php';

$morse = new Morse();
$morseBinary = $morse->stringToMorse('SOS');
$morse = $morse->dotDash($morseBinary);
echo $morse;
$wave = new Wave();
file_put_contents('sos.wav', $wave->generate('SOS'));

非拉丁语示例

<?php

use jblond\morse\Morse;

require './vendor/autoload.php';

$morse = new Morse();
$morse->setLetters('Cyrillic');
$morse->stringToMorse('Запомнить');

摩尔斯 API

  • setLetters 更改原始字符集(字母/语言)
    • 可用:阿拉伯语,西里尔文,希腊语,希伯来语,日语,韩语,拉丁语(默认),波斯语和泰语。
  • getLetters 获取当前所选字符集的数组
  • getCharacter 将单个字符转换为摩尔斯二进制代码。无效字符将返回 #
  • stringToMorse 将字符串转换为二进制摩尔斯代码。
  • dotDash 将二进制摩尔斯代码转换为点和划/滴和哒。

希腊字符

由于 PHP 的 strtoupper 函数对希腊语无效,因此已添加一个额外的函数来执行此操作。

<?php
use jblond\morse\Morse;
use jblond\morse\CharacterSet\Greek;

require './vendor/autoload.php';

$morse = new Morse();
$morse->setLetters('Greek');
$morse->stringToMorse((new Greek())->stringToUpper('Τέλος εκπομπής'));

WAV API

  • setCwSpeed 设置每分钟单词数(cw 速度)。默认为 25。
  • setSampleRate 默认为 11050。音频 CD 为 44100 即 44.1 kHz(16 位)。
  • setFrequency 设置音高。默认为 700(cw 音调)。
  • generate 获取音频的二进制格式。

许可证:MIT