+1

Rust for Machine Learning - Nhận dạng lời nói - Phần 01

Nhận dạng lời nói hay “speech recognition” là một ứng dụng được dùng rất nhiều, với sự phát triển của các mô hình học sâu việc nhận dạng lời nói đã “đơn giản” hơn rất nhiều với cách làm cũ, chí ít ở chỗ không phải thực hiện trích xuất đặc trưng thủ công, nhưng lại có chất lượng nhận dạng cao hơn rất nhiều, thậm chí với các bản ghi âm có nhiễu tiếng ồn hoặc phát âm luyến láy vốn rất khó hoặc không thể giải quyết trong cách tiếp cận truyền thống dùng mô hình Markov ẩn. Hoặc xa hơn nữa, các mô hình hiện tại còn có thể thực hiện chuyển ngữ ngay và luôn như mô hình Whisper của OpenAI.

Đây sẽ là một chuỗi video khá dài, RustDev Vietnam sẽ cố gắng giải thích tường tận cách xây dựng một chương trình nhận dạng lời nói cơ bản nhất từ những kiến thức nền tảng, những kỹ thuật cơ bản dưới góc nhìn của một kỹ sư nhu liệu điện toán 🙂 để từ đó các bạn có thể tự tin hơn trong hành trình đầy thú vị này. Và rất có thể, nhiều bạn sẽ bất ngờ khi biết hóa ra bản chất của nhận dạng lời nói tiên tiến có vẻ lại là xử lý, nhận dạng hình ảnh.

   // Đọc dữ liệu âm thanh từ .wav
    let (pcm_data, sample_rate) = load_audio_mono(input, None)?;
    if sample_rate != m::SAMPLE_RATE as u32 {
        panic!("Tệp ghi âm phải có tần số lấy mẫu là {}", m::SAMPLE_RATE)
    }

    // Chuyển đổi dữ liệu âm thanh dạng PCM thành ảnh phổ Mel
    let mel: Vec<f32> = audio::pcm_to_mel(&config, &pcm_data, &mel_filters);

    // Chuyển dữ liệu ảnh phổ Mel thành cấu trúc ten-xơ trước khi đưa vào mô hình
    let mel_len = mel.len();
    let mel = Tensor::from_vec(
        mel,
        (1, config.num_mel_bins, mel_len / config.num_mel_bins),
        &device,
    )?;
    
    // Nhận dạng ...
    ```

Hãy cùng **RustDev Vietnam** bắt đầu tìm hiểu và xây dựng chương trình qua video “**#0057 - Rust for Machine Learning - Nhận dạng lời nói - Phần 01**” trên kênh **Youtube RustDev Vietnam**.

Hãy nhớ nhấn **ĐĂNG KÝ KÊNH** để không bị bỏ lỡ các video mới của **RustDev Vietnam** nhé!

All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.