Skip to main content

🇹🇭 การแปลงเสียงพูดเป็นข้อความ (ASR) ภาษาไทย - โมเดลพื้นฐาน

1 ICต่อ 60 วินาที
v3.0 ใช้งานอยู่ POST /v3/store/speech/speech-to-text/base

ยินดีต้อนรับสู่ Thai ASR Base - บริการรู้จำเสียงพูดอัตโนมัติภาษาไทยมาตรฐานของเรา เวอร์ชันนี้ให้ความเร็วในการประมวลผลที่รวดเร็ว พร้อมรักษาความแม่นยำที่ดีสำหรับการใช้งานทั่วไป

iApp Text to Speech API

ทดลองใช้งาน Demo

ทดลองใช้ AI Demo

เข้าสู่ระบบหรือสร้างบัญชีฟรีเพื่อใช้งาน AI Demo และสำรวจ API ที่ทรงพลังของเรา

รับ 50 เครดิตฟรี (IC) เมื่อสมัครสมาชิก!

โปรโมชันหมดเขต 31 ธันวาคม 2568

Example File (Click to try)

Selected: 2ppl.wav

เริ่มต้นใช้งาน

  1. ข้อกำหนดเบื้องต้น

    • API key จาก บริษัท ไอแอพพ์เทคโนโลยี จำกัด
    • ไฟล์เสียงในรูปแบบที่รองรับ
    • รูปแบบที่รองรับ: MP3, WAV, AAC, M4A
    • ความยาวไฟล์สูงสุด: ไม่เกิน 30 นาที
    • ขนาดไฟล์สูงสุด: 1GB
  2. เริ่มต้นใช้งานอย่างรวดเร็ว

    • การประมวลผลที่รวดเร็วด้วยเวลาตอบสนอง 0.3 วินาที
    • ความแม่นยำสูง (ความแม่นยำ WER 85.48%)
    • รองรับภาษาไทย
  3. คุณสมบัติหลัก

    • การดึงข้อความจากไฟล์เสียง
    • การระบุผู้พูด
    • ความเร็วในการประมวลผลสูง
    • รูปแบบการตอบสนอง JSON ที่ยืดหยุ่น
  4. ความปลอดภัยและการปฏิบัติตามข้อกำหนด

    • เป็นไปตาม GDPR และ PDPA
    • ไม่มีการเก็บข้อมูลหลังการประมวลผล
วิธีรับ API Key?

กรุณาไปที่หน้า การจัดการ API Key เพื่อดู API Key ที่มีอยู่ของคุณ หรือขอ API Key ใหม่

API Endpoints

EndpointMethodคำอธิบายราคา
/v3/store/speech/speech-to-text/base
เก่า: /asr/v3
POSTแปลงเสียงพูดภาษาไทยเป็นข้อความ (โมเดลพื้นฐาน)1 IC ต่อ 60 วินาที

API Reference

Endpoint

POST https://api.iapp.co.th/v3/store/speech/speech-to-text/base

Headers

  • apikey (จำเป็น): API key ของคุณสำหรับการยืนยันตัวตน
  • Headers อื่นๆ จะถูกสร้างโดย FormData

Request Parameters

ParameterTypeคำอธิบาย
file*File (.mp3, .wav, .aac, .m4a)ไฟล์เสียงที่จะแปลงเป็นข้อความ (ไม่เกิน 30 นาที)
chunk_sizeIntegerขนาด chunk ของเสียง (แนะนำ: 7)

ตัวอย่างโค้ด

Curl

curl -X POST https://api.iapp.co.th/v3/store/speech/speech-to-text/base \
-H "apikey: YOUR_API_KEY" \
-F "file=@/path/to/file.jpg"

Python

import requests

url = "https://api.iapp.co.th/v3/store/speech/speech-to-text/base"

payload = {'use_asr_pro': '0', 'chunk_size': '7'}
files=[
('file',('{YOUR_UPLOADED_FILE}',open('{YOUR_UPLOADED_FILE_PATH}','rb'),'application/octet-stream'))
]
headers = {
'apikey': '{YOUR_API_KEY}'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

Javascript

const axios = require("axios")
const FormData = require("form-data")
const fs = require("fs")
let data = new FormData()
data.append("file", fs.createReadStream("YOUR_UPLOADED_FILE"))
data.append("use_asr_pro", "0") // ตั้งค่าเป็น '1' สำหรับ iApp ASR PRO
data.append("chunk_size", "7")

let config = {
method: "post",
maxBodyLength: Infinity,
url: "https://api.iapp.co.th/v3/store/speech/speech-to-text/base",
headers: {
apikey: "{YOUR_API_KEY}",
...data.getHeaders(),
},
data: data,
}

axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data))
})
.catch((error) => {
console.log(error)
})

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/v3/store/speech/speech-to-text/base',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURL_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file'=> new CURLFILE('{YOUR_UPLOADED_FILE}'),
'use_asr_pro' => '0',
'chunk_size' => '7'),
CURLOPT_HTTPHEADER => array(
'apikey: {YOUR_API_KEY}'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Swift

let parameters = [
[
"key": "file",
"src": "{YOUR_UPLOADED_FILE}",
"type": "file"
],
[
"key": "use_asr_pro",
"value": "0",
"type": "text"
],
[
"key": "chunk_size",
"value": "7",
"type": "text"
]] as [[String: Any]]

let boundary = "Boundary-\(UUID().uuidString)"
var body = Data()
var error: Error? = nil
for param in parameters {
if param["disabled"] != nil { continue }
let paramName = param["key"]!
body += Data("--\(boundary)\r\n".utf8)
body += Data("Content-Disposition:form-data; name=\"\(paramName)\"".utf8)
if param["contentType"] != nil {
body += Data("\r\nContent-Type: \(param["contentType"] as! String)".utf8)
}
let paramType = param["type"] as! String
if paramType == "text" {
let paramValue = param["value"] as! String
body += Data("\r\n\r\n\(paramValue)\r\n".utf8)
} else {
let paramSrc = param["src"] as! String
let fileURL = URL(fileURLWithPath: paramSrc)
if let fileContent = try? Data(contentsOf: fileURL) {
body += Data("; filename=\"\(paramSrc)\"\r\n".utf8)
body += Data("Content-Type: \"content-type header\"\r\n".utf8)
body += Data("\r\n".utf8)
body += fileContent
body += Data("\r\n".utf8)
}
}
}
body += Data("--\(boundary)--\r\n".utf8);
let postData = body


var request = URLRequest(url: URL(string: "https://api.iapp.co.th/v3/store/speech/speech-to-text/base")!,timeoutInterval: Double.infinity)
request.addValue("{YOUR_API_KEY}", forHTTPHeaderField: "apikey")
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

request.httpMethod = "POST"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}

task.resume()

Kotlin

val client = OkHttpClient()
val mediaType = "text/plain".toMediaType()
val body = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR_UPLOADED_FILE}",
File("{YOUR_UPLOADED_FILE_PATH}").asRequestBody("application/octet-stream".toMediaType()))
.addFormDataPart("use_asr_pro","0")
.addFormDataPart("chunk_size","7")
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/v3/store/speech/speech-to-text/base")
.post(body)
.addHeader("apikey", "{YOUR_API_KEY}")
.build()
val response = client.newCall(request).execute()

Java

OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR_UPLOADED_FILE}",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("{YOUR_UPLOADED_FILE_PATH}")))
.addFormDataPart("use_asr_pro","0")
.addFormDataPart("chunk_size","7")
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/v3/store/speech/speech-to-text/base")
.method("POST", body)
.addHeader("apikey", "{YOUR_API_KEY}")
.build();
Response response = client.newCall(request).execute();

Dart

var headers = {
'apikey': '{YOUR_API_KEY}'
};
var request = http.MultipartRequest('POST', Uri.parse('https://api.iapp.co.th/v3/store/speech/speech-to-text/base'));
request.fields.addAll({
'use_asr_pro': '0',
'chunk_size': '7'
});
request.files.add(await http.MultipartFile.fromPath('file', '{YOUR_UPLOADED_FILE'));
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}

ความแม่นยำและประสิทธิภาพ

ความแม่นยำโดยรวม

ผลการทดสอบเปรียบเทียบกับชุดข้อมูลทดสอบภาษาไทยจาก Mozilla Common Voice เราได้ประเมินประสิทธิภาพของ iApp ASR ในชุดข้อมูลทดสอบสองเวอร์ชัน

  • เงื่อนไขการทดสอบ

    1. ชุดข้อมูลที่ไม่เคยเห็นมาก่อน
    2. ภาษาไทยเท่านั้น
    3. ความหลากหลายของผู้พูด: ชาย, หญิง, เด็ก
  • ชุดข้อมูลทดสอบ Mozilla Common Voice 16.1 ภาษาไทย (เวอร์ชัน 1)

    เยี่ยมชมชุดข้อมูลบน Hugging Face

    ผลลัพธ์:

    • ขนาดชุดข้อมูลทดสอบ: 11,038 ตัวอย่างทดสอบ
    • อัตราข้อผิดพลาดของคำเฉลี่ย: 1.11%
    • อัตราข้อผิดพลาดของคำเฉลี่ย (ไม่มีเว้นวรรค): 0.66%
  • ชุดข้อมูลทดสอบ Mozilla Common Voice 17.0 ภาษาไทย (เวอร์ชัน 2)

    เยี่ยมชมชุดข้อมูลบน Hugging Face

    ผลลัพธ์:

    • ขนาดชุดข้อมูลทดสอบ: 11,042 ตัวอย่าง
    • อัตราข้อผิดพลาดของคำ (WER): 14.52%
    • อัตราข้อผิดพลาดของอักขระ (CER): 5.87%
    • ความแม่นยำตาม WER: 85.48%
    • ความแม่นยำตาม CER: 94.13%

ความเร็วในการประมวลผล

  • เวลาตอบสนองเฉลี่ย: 0.3 วินาที
  • เร็วกว่าผู้ให้บริการรายอื่นสูงสุด 15 เท่า

ผลการทดสอบโดยละเอียด (ใน Google Sheets):

ผลการทดสอบ iApp ASR Base

ราคา

ชื่อบริการ AI APIEndpointIC ต่อ วินาทีOn-Premise
Thai Speech To Text (ASR) iapp-asr-v3-en [โมเดลพื้นฐาน]1 IC/60 วินาทีติดต่อ
iapp-asr-v3-th-en [โมเดลพื้นฐาน]1 IC/60 วินาที