jblond / morse
PHP 摩尔斯电码和 WAV 音频文件生成
1.2.3
2023-08-10 13:12 UTC
Requires
- php: >= 8.0
- ext-mbstring: *
Requires (Dev)
- ext-fileinfo: *
- phpunit/phpunit: ^9 || ^10
- squizlabs/php_codesniffer: *
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