Bỏ qua để đến nội dung

Hệ thống phát âm: Chính xác hơn từ điển cho thuật ngữ kỹ thuật

Chuyển văn bản thành giọng nói tích hợp trong macOS (AVSpeechSynthesizer) khá tốt cho tiếng Anh hàng ngày, nhưng thường sai với thuật ngữ kỹ thuật:

  • char [tʃɑr] vs [kɑr] — Lập trình viên đều đọc “char”, hệ thống lại đọc “car”
  • sudo [ˈsuːduː] vs [ˈsuːdoʊ] — Đúng, “sudo do” không phải “sudo”
  • deque [dɛk] vs [ˈdeɪkjuː] — Double-ended queue, phát âm chuẩn là “deck”
  • POSIX [ˈpɑːzɪks] vs [ˈpoʊsɪks] — Không phải “pose” cũng không phải “poz”
  • nginx [ˌɛndʒɪnˈɛks] — “engine-X”, không phải “en-jinks”

Chiến lược phát âm ba tầng của DevGlish

Phần tiêu đề “Chiến lược phát âm ba tầng của DevGlish”

1. Cơ sở dữ liệu phát âm cục bộ (85+ thuật ngữ kỹ thuật phổ biến)

Phần tiêu đề “1. Cơ sở dữ liệu phát âm cục bộ (85+ thuật ngữ kỹ thuật phổ biến)”

Thư viện phát âm chuyên nghiệp của DevGlish bao gồm:

  • Phiên âm IPA chuẩn — Tất cả phát âm được xác minh bởi người bản ngữ và cộng đồng lập trình viên
  • Nguồn chính thức — Từ tài liệu chính thức, phỏng vấn người tạo dự án, cách đọc quy ước của các dự án lớn như OpenStack/Kubernetes
  • Phân tích ngữ liệu lập trình viên YouGlish — Thu thập bài nói lập trình viên trên YouTube, thống kê phát âm phổ biến

Ví dụ thuật ngữ phổ biến:

Thuật ngữIPANguồnGhi chú
APIeɪ pɪ aɪTài liệu chính thứcKhông nói “ah-pee”
AWSeɪ dʌbəl juː ɛsNgười sáng lập AWSĐọc đầy đủ từng chữ
daemonˈdiːmənVăn hóa UnixNhư “demon”, không phải “day-mon”
RESTrɛstCha đẻ HTTPKhông phải “REST-full”
facadefəˈsɑːdDesign patternGốc tiếng Pháp, đọc “fa-sahd”

Phát âm mỗi thuật ngữ được kiểm soát chính xác đến từng âm tiết bằng thẻ SSML <phoneme>:

<phoneme alphabet="ipa" ph="ˌɛndʒɪnˈɛks">nginx</phoneme>
<phoneme alphabet="ipa" ph="ˈdɪkjuː">deque</phoneme>
<phoneme alphabet="ipa" ph="ˈsɪŋɡəltn̩">singleton</phoneme>

3. Hỗ trợ nhiều giọng (Mỹ, Anh, Úc, Ấn Độ)

Phần tiêu đề “3. Hỗ trợ nhiều giọng (Mỹ, Anh, Úc, Ấn Độ)”
  • en-US — Chuẩn Silicon Valley (đa số lập trình viên sử dụng)
  • en-GB — Phong cách London (lập trình viên châu Âu ưa thích)
  • en-AU — Giọng Sydney (bao gồm xử lý âm r đặc trưng)
  • en-IN — Tiếng Anh Ấn Độ (chiếm tỷ lệ cao nhất trong cộng đồng lập trình viên toàn cầu)

Chọn giọng phù hợp trong thẻ học để nghe phiên bản phát âm mà bạn có khả năng gặp nhất trong cuộc họp.

Một số thuật ngữ không có cách đọc thống nhất 100%. DevGlish đánh dấu nhiều phiên bản phổ biến:

  • Chính thức [ˌɛndʒɪnˈɛks] “engine-X”
  • Phổ biến trong cộng đồng [ˌɛn dʒɪnˈɛks] chia thành hai âm
  • Một số người dùng đôi khi phát âm sai theo ngôn ngữ mẹ đẻ

DevGlish mặc định phát phiên bản chính thức, nhấn “Xem thêm” để nghe các phiên bản khác.

  • Chính thức (người sáng tạo) [dʒɪf] “jif” — giống bơ đậu phộng Jif
  • Cách dùng phổ thông [ɡɪf] “gif” — giống “gi” trong “gift”
  • Phát âm chuẩn [ˈɛsˌkjuːˈɛl] “ess-kyoo-el”
  • Không chính thức [ˈsiːkwəl] “sequel”

Cả hai đều dễ hiểu, nhưng cách đầu chuyên nghiệp hơn.

Dữ liệu phát âm của DevGlish đến từ:

  1. Tài liệu chính thức — Hướng dẫn phát âm video chính thức của Python, Node.js, Java, v.v.
  2. Người tạo dự án — Bài nói YouTube của Kubernetes, React, Docker, v.v.
  3. Ngữ liệu YouGlish — Phân tích 10,000+ giờ video lập trình viên, thống kê phân bố phát âm
  4. Bình chọn cộng đồng lập trình viên — Thuật ngữ có tranh cãi được quyết định bởi bình chọn cộng đồng

Phát âm đúng:

  • Được hiểu trong code review và Slack (không bị hỏi “bạn nói gì?”)
  • Thể hiện chuyên nghiệp trong hội nghị quốc tế
  • Giúp bạn hiểu chính xác phát âm của người khác (nhiều lập trình viên có giọng khác nhau, nhưng cách đọc thuật ngữ nhất quán)
  • Xây dựng tự tin — không còn lo lắng phát âm “quá tệ”