#morse #codec #decoding #encoding #rust

morseus

一个用于编码和解码文本为摩尔斯电码的Rust库,播放声音信号并导出为WAV音频文件的库

4个版本

0.1.12 2023年6月29日
0.1.11 2023年6月29日
0.1.1 2023年6月29日
0.1.0 2023年6月29日

#665 in 音频

MIT许可证

27KB
592

MORSEUS

Morseus是一个Rust库,允许编码和解码文本到摩尔斯电码。它还提供了使用系统默认音频设备播放摩尔斯电码并导出为WAV音频文件的功能。

功能

  • 将文本编码为摩尔斯电码。
  • 将摩尔斯电码解码为文本。
  • 检查字符串是否仅由有效的摩尔斯电码字符组成。
  • 检查字符串是否至少包含一个有效的摩尔斯电码字符。
  • 使用默认音频设备播放短、长哔哔声和静默。

安装

要在项目中使用Morseus,请将以下依赖项添加到您的Cargo.toml文件中

[dependencies]
morseus = "0.1.12"

示例

use morseus::Morse;

fn main() {
    let morse : Morse = Morse::new();

    // Exemple d'encodage
    let encoded_text : String = morse.encode("HELLO WORLD");
    println!("Texte encodé : {}", encoded_text);

    // Exemple de décodage
    let decoded_morse : String = morse.decode(".... . .-.. .-.. --- / .-- --- .-. .-.. -..");
    println!("Code Morse décodé : {}", decoded_morse);

    // Exemple de vérification de chaîne Morse
    let morse_text : &str = "... --- ...";
    println!("Est-ce que '{}' est une chaîne Morse valide ? {}", morse_text, morse.is_morse(morse_text));

    let invalid_text : &str = "HELLO";
    println!("Est-ce que '{}' est une chaîne Morse valide ? {}", invalid_text, morse.is_morse(invalid_text));

    // Exemple de recherche de code Morse associé à un caractère
    let morse_code : Option<&String> = morse.get_morse_code('A');
    match morse_code {
        Some(code) => println!("Code Morse associé à 'A' : {}", code),
        None => println!("Aucun code Morse trouvé pour 'A'."),
    }

    // Exemple de recherche de caractère associé à un code Morse
    let character : Option<char> = morse.get_morse_character(".-");
    match character {
        Some(ch) => println!("Caractère associé à '.-' : {}", ch),
        None => println!("Aucun caractère trouvé pour le code Morse '.-'."),
    }
	
	// Exemple de traduction de texte entre le code Morse et le texte normal
    let text : &str  = "HELLO WORLD ... --- ...";
    let translated : String  = morse.translate(text);
    println!("Traduction : {}", translated);

    let morse_code : &str = "... --- ... HELLO WORD";
    let translated :  String = morse.translate(morse_code);
    println!("Traduction : {}", translated);

    // Exemple pour jouer le son du code
    morse.play_morse_code(".. -- ."); 
    // exporte le code morse en audio
    let _ = morse.to_audio(".. -- .", "output.wav");
}

贡献

欢迎贡献!如果您想改进Morseus,请在GitHub上提交一个pull request。

许可证

本项目采用MIT许可证。有关更多信息,请参阅LICENSE文件。

依赖

~0.8–30MB
~444K SLoC