From 4b0a1981b1a0351f4c62405c1dc6cb31da24b9ee Mon Sep 17 00:00:00 2001 From: ghaisan Date: Wed, 2 Oct 2024 17:44:12 +0700 Subject: [PATCH] made into library, better morse formatting --- danish.wav | Bin 0 -> 829172 bytes morse_danish.wav | Bin 317580 -> 339630 bytes src/lib.rs | 102 +++++++++++++++++++++++++++++++++++++++++++++++ src/main.rs | 58 ++------------------------- 4 files changed, 105 insertions(+), 55 deletions(-) create mode 100644 danish.wav create mode 100644 src/lib.rs diff --git a/danish.wav b/danish.wav new file mode 100644 index 0000000000000000000000000000000000000000..a14681a6504d9b3079a7e3c58605c2c2872c34cd GIT binary patch literal 829172 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 delta 142 zcmZ2?SEOg7Fnf@vn_J5bmWk|&%n3JGHW#ibSK4kP#&oH3dxJY;iPH85n#?@2K_V() on-`?32_lHe3)1aCie^+Gl)9}!$b(rhMG%v$1QAM+*`MwM05beG=Kufz diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..0da5be5 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,102 @@ +use hound::{self, WavWriter}; +use std::collections::HashMap; +use std::f32::consts::PI; +use std::{fs, i16, io}; + +const SAMPLE_RATE: f32 = 44100.0; +const MORSE_FREQ: f32 = 600.0; +const UNIT_TIME: f32 = 100.0 / 1000.0; // IN MS + +const SPEC: hound::WavSpec = hound::WavSpec { + channels: 1, + sample_rate: 44100, + bits_per_sample: 16, + sample_format: hound::SampleFormat::Int, +}; + +fn write_freq(writer: &mut WavWriter>, freq: f32, duration: f32) { + let sample_count = (duration * SAMPLE_RATE).ceil() as i32; + for t in (0..sample_count).map(|x| x as f32 / SAMPLE_RATE) { + let sample = (t * freq * 2.0 * PI).sin(); + let amplitude = i16::MAX as f32; + writer.write_sample((sample * amplitude) as i16).unwrap(); + } +} + +pub fn to_morse(text: &str) -> String { + let morse_map: HashMap = HashMap::from([ + ('a', ".-"), + ('b', "-..."), + ('c', "-.-."), + ('d', "-.."), + ('e', "."), + ('f', "..-."), + ('g', "--."), + ('h', "...."), + ('i', ".."), + ('j', ".---"), + ('k', "-.-"), + ('l', ".-.."), + ('m', "--"), + ('n', "-."), + ('o', "---"), + ('p', ".--."), + ('q', "--.-"), + ('r', ".-."), + ('s', "..."), + ('t', "-"), + ('u', "..-"), + ('v', "...-"), + ('w', ".--"), + ('x', "-..-"), + ('y', "-.--"), + ('z', "--.."), + ('1', ".----"), + ('2', "..---"), + ('3', "...--"), + ('4', "....-"), + ('5', "....."), + ('6', "-...."), + ('7', "--..."), + ('8', "---.."), + ('9', "----."), + ('0', "-----"), + ]); + + let code = text.to_lowercase(); + let mut ret = String::new(); + + for c in code.chars() { + if c == ' ' { + ret += " / "; + } else if let Some(morse) = morse_map.get(&c) { + ret += morse; + } + ret += " "; + } + + ret +} + +pub fn write_morse(filename: &str, morse: &str) { + let mut writer = hound::WavWriter::create(filename, SPEC).unwrap(); + for c in morse.chars() { + // We give a margin of 0.5 * UNIT_TIME between dots and dashes + // give 1.5 * UNIT_TIME between characters + // and give 2 * UNIT_TIME between words + if c == '.' { + write_freq(&mut writer, MORSE_FREQ, UNIT_TIME); + write_freq(&mut writer, 0.0, 0.5 * UNIT_TIME); + } else if c == '-' { + write_freq(&mut writer, MORSE_FREQ, 3.0 * UNIT_TIME); + write_freq(&mut writer, 0.0, 0.5 * UNIT_TIME); + } else if c == ' ' { + write_freq(&mut writer, 0.0, 1.5 * UNIT_TIME); + } else if c == '/' { + write_freq(&mut writer, 0.0, 2.0 * UNIT_TIME); + } else { + panic!("The morse code given is not valid!"); + } + } + write_freq(&mut writer, 0.0, UNIT_TIME); // End padding +} diff --git a/src/main.rs b/src/main.rs index 42d4e25..fa92725 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,59 +1,7 @@ -use hound::{self, WavWriter}; -use std::f32::consts::PI; -use std::{fs, i16, io}; - -const SAMPLE_RATE: f32 = 44100.0; -const MORSE_FREQ: f32 = 600.0; -const UNIT_TIME: f32 = 100.0 / 1000.0; // IN MS -const CHAR_TIME: f32 = 50.0 / 1000.0; - -const SPEC: hound::WavSpec = hound::WavSpec { - channels: 1, - sample_rate: 44100, - bits_per_sample: 16, - sample_format: hound::SampleFormat::Int, -}; - -fn write_freq(writer: &mut WavWriter>, freq: f32, duration: f32) { - let sample_count = (duration * SAMPLE_RATE).ceil() as i32; - for t in (0..sample_count).map(|x| x as f32 / SAMPLE_RATE) { - let sample = (t * freq * 2.0 * PI).sin(); - let amplitude = i16::MAX as f32; - writer.write_sample((sample * amplitude) as i16).unwrap(); - } -} - -fn write_morse(filename: &str, morse: &str) { - let mut writer = hound::WavWriter::create(filename, SPEC).unwrap(); - - //for t in (0..sample_count).map(|x| x as f32 / SAMPLE_RATE) { - // let sample = (t * MORSE_FREQ * 2.0 * PI).sin(); - // let amplitude = i16::MAX as f32; - // writer.write_sample((sample * amplitude) as i16).unwrap(); - //} - - for c in morse.chars() { - // We give a margin of CHAR_TIME between dots and dashes - // and we give 1.5 * UNIT_TIME between characters - if c == '.' { - write_freq(&mut writer, MORSE_FREQ, UNIT_TIME); - write_freq(&mut writer, 0.0, CHAR_TIME); - } else if c == '-' { - write_freq(&mut writer, MORSE_FREQ, 3.0 * UNIT_TIME); - write_freq(&mut writer, 0.0, CHAR_TIME); - } else if c == ' ' { - write_freq(&mut writer, 0.0, 1.5 * UNIT_TIME); - } else { - panic!("The morse code given is not valid!"); - } - } - write_freq(&mut writer, 0.0, UNIT_TIME); // End padding -} +use morse_translator::{to_morse, write_morse}; fn main() { - // -.. .- -. .. ... ... + let text = to_morse("danish ghaisan"); - write_morse("morse_danish.wav", "-.. .- -. .. ... ...."); - //write_freq(&mut writer, 350.0, 1.0); - //write_freq(&mut writer, 650.0, 1.0); + write_morse("danish.wav", &text); }