RTranslator เป็นแอปแปลแบบเรียลไทม์แบบโอเพ่นซอร์ส ฟรี และออฟไลน์สำหรับ Android (เกือบ)
เชื่อมต่อกับผู้ที่มีแอป เชื่อมต่อหูฟังบลูทูธ ใส่โทรศัพท์ไว้ในกระเป๋าของคุณ แล้วคุณก็สามารถสนทนาได้ราวกับว่าอีกฝ่ายพูดภาษาของคุณ
โหมดการสนทนาเป็นคุณสมบัติหลักของ RTranslator ในโหมดนี้ คุณสามารถเชื่อมต่อกับโทรศัพท์เครื่องอื่นที่ใช้แอปนี้ได้ หากผู้ใช้ยอมรับคำขอเชื่อมต่อของคุณ:
เมื่อคุณพูด โทรศัพท์ของคุณ (หรือ ชุดหูฟังบลูทูธ หากเชื่อมต่ออยู่) จะบันทึกเสียง
เสียงที่บันทึกจะถูกแปลงเป็นข้อความและส่งไปยังโทรศัพท์ของคู่สนทนา
โทรศัพท์ของคู่สนทนาจะแปลข้อความที่ได้รับเป็นภาษาของเขา
โทรศัพท์ของคู่สนทนาจะแปลงข้อความที่แปลเป็นเสียงและจะทำซ้ำจากลำโพง (หรือโดยชุดหูฟังบลูทูธของคู่สนทนาหากเชื่อมต่อกับโทรศัพท์ของเขา)
ทั้งหมดนี้ในทั้งสองทิศทาง
ผู้ใช้แต่ละคนสามารถมีโทรศัพท์ที่เชื่อมต่อได้มากกว่าหนึ่งเครื่อง เพื่อให้คุณสามารถแปลการสนทนาระหว่างคนมากกว่าสองคนไม่ว่าจะรวมกันในรูปแบบใดก็ตาม
หากโหมดการสนทนามีประโยชน์ในการสนทนากับใครสักคนเป็นเวลานาน โหมดนี้ออกแบบมาเพื่อการสนทนาที่รวดเร็วแทน เช่น การขอข้อมูลบนท้องถนนหรือการพูดคุยกับผู้ช่วยร้านค้า
โหมดนี้จะแปลการสนทนาระหว่างคนสองคนเท่านั้น ไม่สามารถใช้งานกับชุดหูฟังบลูทูธ และคุณต้องพูดคุยสลับกัน ไม่ใช่การแปลพร้อมกันจริง แต่สามารถใช้งานได้กับ โทรศัพท์เพียงเครื่องเดียว
ในโหมดนี้ ไมโครโฟนของสมาร์ทโฟนจะฟังสองภาษาพร้อมกัน (เลือกได้ในหน้าจอเดียวกันของโหมดเครื่องส่งรับวิทยุ)
แอปจะตรวจจับว่าคู่สนทนาพูดภาษาใด แปลเสียงเป็นภาษาอื่น แปลงข้อความเป็นเสียง จากนั้นจึงทำซ้ำจากลำโพงโทรศัพท์ เมื่อ TTS เสร็จสิ้น เครื่องจะกลับมาฟังต่อโดยอัตโนมัติ
โหมดนี้เป็นเพียงเครื่องมือแปลข้อความแบบคลาสสิก แต่มีประโยชน์เสมอ
RTranslator ใช้ NLLB ของ Meta สำหรับการแปล และใช้ Whisper ของ OpenAi สำหรับการรู้จำเสียง ทั้งคู่เป็น (เกือบ) โอเพ่นซอร์สและ AI ที่ทันสมัย มีคุณภาพดีเยี่ยมและทำงานโดยตรงบนโทรศัพท์ ทำให้มั่นใจได้ถึงความเป็นส่วนตัวอย่างสมบูรณ์และความเป็นไปได้ของการใช้ RTranslator แม้ออฟไลน์โดยไม่ต้อง การสูญเสียคุณภาพ
นอกจากนี้ RTranslator ยังทำงานได้แม้ในพื้นหลัง โดยที่โทรศัพท์อยู่ในโหมดสแตนด์บายหรือเมื่อใช้แอปอื่นๆ (เฉพาะเมื่อคุณใช้โหมดการสนทนาหรือเครื่องส่งรับวิทยุ) อย่างไรก็ตาม โทรศัพท์บางรุ่นจะจำกัดพลังงานในพื้นหลัง ดังนั้นในกรณีนี้ ควรหลีกเลี่ยงและเปิดแอปไว้โดยเปิดหน้าจอไว้
กุยใหม่! ออกแบบโดย เชียรา จินดาโม
เพิ่มปุ่มพูดและคัดลอกในโหมดการแปลข้อความ
เพิ่มตัวเลือกในการควบคุมไมโครโฟนในโหมด WalkieTalkie ด้วยตนเอง
เพิ่มตัวเลือกในการใช้ภาษาคุณภาพต่ำ
แก้ไขข้อบกพร่องบางอย่าง
สำหรับรายการการเปลี่ยนแปลงทั้งหมด โปรดดูที่นี่
ฉันได้ปรับโมเดล AI ให้เหมาะสมเพื่อลดการใช้ RAM และเวลาดำเนินการให้เหลือน้อยที่สุด อย่างไรก็ตาม เพื่อให้สามารถใช้แอปได้โดยไม่เสี่ยงต่อการหยุดทำงาน คุณต้องมีโทรศัพท์ที่มี RAM อย่างน้อย 6GB และเพื่อให้มีเวลาดำเนินการที่ดีเพียงพอ คุณต้องมีโทรศัพท์ที่มี CPU เร็วเพียงพอ
หากคุณมีโทรศัพท์ที่ค่อนข้างเส็งเคร็ง (หรือถ้าคุณต้องการความเร็วสูงสุด) คุณสามารถใช้ RTranslator เวอร์ชัน 1.0 ได้ตลอดเวลา (แต่เนื่องจากใช้ Google API จึงไม่ฟรีและต้องมีการตั้งค่าเริ่มต้น)
หากต้องการติดตั้งแอป ให้ดาวน์โหลดไฟล์ apk ของแอปเวอร์ชันล่าสุดจาก https://github.com/niedev/RTranslator/releases/ และติดตั้ง (ไม่ต้องสนใจไฟล์อื่น ๆ ไฟล์เหล่านั้นจะถูกดาวน์โหลดโดยอัตโนมัติโดยแอปในการเริ่มต้นครั้งแรก ).
ในการเปิดตัวครั้งแรก RTranslator จะดาวน์โหลดโมเดลสำหรับการแปลและการรู้จำคำพูด (1.2GB) โดยอัตโนมัติ และเมื่อเสร็จแล้วคุณก็สามารถเริ่มแปลได้
การดาวน์โหลดครั้งแรกจะได้รับโมเดลจาก GitHub แต่ในบางภูมิภาค GitHub จะช้ามาก ผู้ที่มีปัญหาประเภทนี้สามารถดาวน์โหลดโมเดลแยกจากคอมพิวเตอร์ได้ (หรือโดยทั่วไปในรูปแบบใดก็ได้ที่ต้องการ) และแทรกด้วยตนเองลงใน แอพตามคำแนะนำนี้
หากคุณมีบัญชี GitHub และต้องการรับการแจ้งเตือนเมื่อมีการออกรุ่นใหม่ คุณสามารถทำได้โดยคลิกที่ "รับชม" -> "กำหนดเอง" -> "ออก" -> "นำไปใช้" ที่ด้านบนของหน้า .
ภาษาที่รองรับมีดังนี้:
อาหรับ, บัลแกเรีย, คาตาลัน, จีน, โครเอเชีย, เช็ก, เดนมาร์ก, ดัตช์, อังกฤษ, ฟินแลนด์, ฝรั่งเศส, กาลิเซีย, เยอรมัน, กรีก, อิตาลี, ญี่ปุ่น, เกาหลี, มาซิโดเนีย, โปแลนด์, โปรตุเกส, โรมาเนีย, รัสเซีย, สโลวัก, สเปน, สวีเดน, ทมิฬ, ไทย, ตุรกี, ยูเครน, อูรดู, เวียดนาม
หากภาษาของคุณไม่อยู่ในรายการ จากเวอร์ชัน 2.1 ของ RTranslator คุณสามารถเข้าไปที่การตั้งค่าและเปิดใช้งาน " รองรับภาษาคุณภาพต่ำ " เพื่อเพิ่มภาษาต่อไปนี้ (ซึ่งมีคุณภาพต่ำกว่าสำหรับการแปลและการรู้จำคำพูด):
แอฟริกา, อาคาน (เฉพาะข้อความ), อัมฮาริก, อัสสัม, บัมบารา (เฉพาะข้อความ), บางลา, บัชคีร์, บาสก์, เบลารุส, บอสเนีย, ซองคา (เฉพาะข้อความ), เอสเปรันโต (เฉพาะข้อความ), เอสโตเนีย, อุรา (เฉพาะข้อความ), แฟโร, ฟิจิ (เฉพาะข้อความ), จอร์เจีย, กวารานี (เฉพาะข้อความ), คุชราต, เฮาซา, ฮิบรู, ฮินดี, ฮังการี, ชวา (เฉพาะข้อความ), กันนาดา, แคชเมียร์ (เฉพาะข้อความ), คาซัค, คิคูยู (เฉพาะข้อความ), คินยาร์วันดา (เฉพาะข้อความ), เกาหลี, คีร์กีซ (เฉพาะข้อความ), ลาว, ลิมเบอร์กิช (เฉพาะข้อความ), ลิงกาลา, ลิทัวเนีย, ลักเซมเบิร์ก, มาซิโดเนีย, ตากาล็อก (เฉพาะข้อความ) ทิเบต
หากต้องการพูด RTranslator ใช้ระบบ TTS ของโทรศัพท์ของคุณ ดังนั้นคุณภาพของภาษาหลังและภาษาที่รองรับจะขึ้นอยู่กับระบบ TTS ของโทรศัพท์ของคุณ
ภาษาที่รองรับที่เห็นด้านบนทั้งหมดเข้ากันได้กับ Google TTS ซึ่งเป็น TTS ที่แนะนำ (แม้ว่าคุณจะสามารถใช้ TTS ที่คุณต้องการได้ก็ตาม)
หากต้องการเปลี่ยนระบบ TTS (และ TTS ที่ใช้โดย RTranslator) ให้ดาวน์โหลด TTS ที่คุณต้องการใช้จาก Play Store หรือจากแหล่งที่คุณต้องการ และเปิด RTranslator จากนั้นเปิดการตั้งค่า (ด้านบนขวา) และใน ส่วน "เอาต์พุต" คลิกที่ "ข้อความเป็นคำพูด" ณ จุดนี้การตั้งค่าระบบจะเปิดขึ้นในส่วนที่คุณสามารถเลือกระบบ TTS ที่ต้องการ (ในบรรดาที่ติดตั้งไว้) ณ จุดนี้ หากคุณได้เปลี่ยนเอ็นจิ้นที่ต้องการ ให้รีสตาร์ท RTranslator ไปที่ ใช้การเปลี่ยนแปลง
ความเป็นส่วนตัวเป็นสิทธิขั้นพื้นฐาน นั่นเป็นสาเหตุที่ RTranslator ไม่รวบรวมข้อมูลส่วนตัวใด ๆ (ฉันไม่มีเซิร์ฟเวอร์ด้วยซ้ำ) สำหรับข้อมูลเพิ่มเติม โปรดอ่านนโยบายความเป็นส่วนตัว (สำหรับตอนนี้เป็นนโยบายความเป็นส่วนตัวเดียวกันกับ RTranslator 1.0 แต่ฉันจะอัปเดตในอนาคต)
รหัส RTranslator เป็นโอเพ่นซอร์สโดยสมบูรณ์ แต่ไลบรารีภายนอกบางส่วนที่ใช้มีใบอนุญาตที่ได้รับอนุญาตน้อยกว่า เหล่านี้คือไลบรารีภายนอกทั้งหมดที่ใช้โดยแอป (โดยมีการระบุใบอนุญาต):
BluetoothCommunicator (โอเพ่นซอร์ส): ใช้สำหรับการสื่อสาร Bluetooth LE ระหว่างอุปกรณ์
GalleryImageSelector (โอเพ่นซอร์ส): ใช้สำหรับเลือกและครอบตัดรูปโปรไฟล์จากแกลเลอรี
OnnxRuntime (โอเพ่นซอร์ส): ใช้เป็นเครื่องมือเร่งความเร็วสำหรับโมเดล AI
Sentence Piece (โอเพ่นซอร์ส): ใช้สำหรับโทเค็นของข้อความอินพุตสำหรับ NLLB
Ml Kit (แหล่งปิด): ใช้สำหรับระบุภาษาในโหมด WalkieTalkie
และโมเดล AI ต่อไปนี้:
NLLB (โอเพ่นซอร์ส แต่สำหรับการใช้ที่ไม่ใช่เชิงพาณิชย์เท่านั้น): โมเดลที่ใช้คือ NLLB-Distilled-600M พร้อมแคช KV
Whisper (โอเพ่นซอร์ส): โมเดลที่ใช้คือ Whisper-Small-244M พร้อมแคช KV
ฉันแปลงทั้ง NLLB และ Whisper เป็นรูปแบบ onnx และหาปริมาณเป็น int8 (ไม่รวมน้ำหนักบางส่วนเพื่อให้แน่ใจว่าสูญเสียคุณภาพเกือบเป็นศูนย์) ฉันยังแยกบางส่วนของโมเดลเพื่อลดการใช้ RAM (หากไม่มีการแยกนี้ น้ำหนักบางส่วนถูกทำซ้ำที่รันไทม์ใช้เวลานานกว่า RAM มากกว่าที่คาดไว้) และทำการเพิ่มประสิทธิภาพอื่นๆ เพื่อลดเวลาดำเนินการ
นี่คือผลลัพธ์ของการเพิ่มประสิทธิภาพของฉัน:
โมเดล NLLB onnx ปกติ (int8 เต็ม ไม่มี kv-cache) | โมเดล RTranslator NLLB onnx (int8 บางส่วนพร้อม kv-cache แยกส่วน) | |
---|---|---|
การใช้แรม | 2.5 กิกะไบต์ | 1.3GB (ปรับปรุง 1.9 เท่า) |
เวลาดำเนินการสำหรับ 75 โทเค็น | 8 วินาที | 2 วินาที (ปรับปรุง 4 เท่า) |
รุ่น Whisper onnx ปรับให้เหมาะกับ Olive (int8 เต็มพร้อม kv-cache) | RTranslator รุ่น Whisper onnx (int8 บางส่วนพร้อม kv-cache แยกส่วน) | |
---|---|---|
การใช้แรม | 1.4 กิกะไบต์ | 0.9 GB (ปรับปรุง 1.5 เท่า) |
เวลาดำเนินการสำหรับเสียง 11 วินาที | 1.9 วินาที | 1.6 วินาที (ปรับปรุง 1.2 เท่า) |
รุ่น NB RTranslator Whisper สามารถใช้ RAM 0.5 GB ได้ด้วย แต่ใช้เวลาดำเนินการ 2.1 วินาที (โหมดนี้ใช้สำหรับโทรศัพท์ที่มี RAM น้อยกว่า 8 GB)
นี่เป็นแอปโอเพ่นซอร์สและไม่มีโฆษณาโดยสมบูรณ์ ฉันไม่ได้ทำเงินจากมันเลย
ดังนั้น หากคุณชอบแอปนี้และต้องการกล่าวขอบคุณและสนับสนุนโครงการ คุณสามารถบริจาคผ่าน PayPal ได้โดยคลิกที่ปุ่มด้านล่าง (จำนวนเงินเท่าใดก็ได้ที่เป็นที่ยอมรับ)
เผื่อจะบริจาคหรือแค่อยู่ดาว ขอบคุณค่ะ ❤️
หากคุณพบข้อบกพร่องใด ๆ โปรดรายงานโดยการเปิดปัญหาหรือเขียนอีเมลไปที่ [email protected]
เพลิดเพลินกับนักแปลไปพร้อมๆ กัน