Danh mục: Chưa phân loại

asxa

  • 谢谢

    Bằng cách đăng ký, tôi đồng ý với trang web Các điều khoản và điều kiện
    Bằng cách đăng ký, tôi đồng ý với trang web Các điều khoản và điều kiện
  • test 1

    🇻🇳 Tiếng Việt: ngài, ông, bà… (ngôi thứ hai số ít, kính ngữ)
    🔤 Pinyin: nín
    🈶 Chữ Hán: 🔊您

    🇻🇳 Tiếng Việt: ngài, ông, bà… (ngôi thứ hai số ít, kính ngữ)
    🔤 Pinyin: nín
    🈶 Chữ Hán: 🔊您您

    1️⃣ gydthytfh

    2️⃣ gyhfygjty

    1️⃣0️⃣ fghfghf

    1️⃣1️⃣ drgdhgd
    [tentiengtrung]

  • Ghi âm hv





    Demo Phân tích Phát Âm


    🎤 Đọc câu sau:

    你叫什么名字?


    ⏳ Chưa ghi âm…

    const expected = document.getElementById(‘expected-text’).innerText;

    async function startRecording() { try { const stream = await navigator.mediaDevices.getUserMedia({ audio: true }); recorder = new MediaRecorder(stream); audioData = []; recorder.ondataavailable = e => audioData.push(e.data); recorder.onstop = sendAudio; recorder.start(); document.getElementById(‘result’).innerText = ‘🎙️ Đang ghi âm…’; document.getElementById(‘start’).disabled = true; document.getElementById(‘stop’).disabled = false; } catch (err) { alert(‘🚫 Lỗi ghi âm: ‘ + err.message); console.error(err); } }

    async function sendAudio() { try { const blob = new Blob(audioData, { type: ‘audio/webm’ }); const form = new FormData(); form.append(‘audio’, blob, ‘recording.webm’); form.append(‘expected’, expected);

    document.getElementById(‘result’).innerText = ‘⏳ Đang gửi lên máy chủ…’; console.log(‘🎧 Đang gửi đến /analyze…’);

    const res = await fetch(‘https://mp3.chinese.edu.vn/analyze’, { method: ‘POST’, body: form });

    const data = await res.json(); document.getElementById(‘result’).innerHTML = ` ✅ Điểm: ${data.score}%
    🧑‍🎓 Bạn nói: ${data.transcript}
    🎯 Chuẩn: ${data.expected} `; } catch (err) { alert(‘❌ Lỗi gửi âm thanh: ‘ + err.message); console.error(err); } finally { document.getElementById(‘start’).disabled = false; document.getElementById(‘stop’).disabled = true; } }

    // ✅ Gắn đúng sự kiện document.getElementById(‘start’).onclick = startRecording; document.getElementById(‘stop’).onclick = () => recorder?.stop();


  • Nhiều ngôn ngũ

    [speak-dialogue]

    你好!

    どこに行くの?

    Tôi cũng muốn đi.

    [/speak-dialogue]

  • test phanvai

    [speak-dialogue]

    你好!

    你去哪?

    我也想去。

    [/speak-dialogue]