paint-brush
Hướng dẫn chuyển văn bản thành giọng nói cơ bản bằng Python bằng thư viện pyttsx3từ tác giả@mshehzen
37,821 lượt đọc
37,821 lượt đọc

Hướng dẫn chuyển văn bản thành giọng nói cơ bản bằng Python bằng thư viện pyttsx3

từ tác giả M Shehzen Sidiq5m2023/01/03
Read on Terminal Reader

dài quá đọc không nổi

Trong bài đăng này, chúng ta sẽ thảo luận về một thư viện mà cá nhân tôi đã sử dụng và có kết quả tốt. Nó là một thư viện Python cho phép chúng ta chuyển văn bản thành giọng nói. Chúng tôi sẽ cung cấp nó, văn bản của chúng tôi và nó sẽ chuyển đổi văn bản đó thành âm thanh. Đó là một trình bao bọc xung quanh một số công cụ chuyển văn bản thành giọng nói.
featured image - Hướng dẫn chuyển văn bản thành giọng nói cơ bản bằng Python bằng thư viện pyttsx3
M Shehzen Sidiq HackerNoon profile picture

Trước tiên hãy để tôi giải thích một số từ viết tắt và một số thuật ngữ cơ bản mà chúng ta sẽ sử dụng trong bài viết này.

Đối với những người không biết TTS có nghĩa là gì, nó có nghĩa là Chuyển văn bản thành giọng nói.


Những gì chúng tôi muốn làm là cung cấp một số đoạn văn bản cho chương trình của chúng tôi và nó sẽ chuyển văn bản đó thành giọng nói và sẽ đọc đoạn văn bản đó cho chúng tôi.


Nói cách khác, nó làm cho máy tính đọc cho chúng ta nghe.


Bây giờ có nhiều cách khác nhau để thực hiện TTS này, nhưng ở đây chúng ta sẽ thảo luận về một thư viện mà cá nhân tôi đã sử dụng và có kết quả tốt.


Chúng tôi sẽ sử dụng pyttsx3 .

pyttsx3 là gì

pyttsx3 là một thư viện Python cho phép chúng ta chuyển văn bản thành giọng nói. Vì vậy, chúng tôi sẽ cung cấp cho nó văn bản của chúng tôi và nó sẽ chuyển đổi văn bản đó thành âm thanh.


Đó là một trình bao bọc xung quanh một số công cụ chuyển văn bản thành giọng nói, bao gồm cả công cụ Chuyển văn bản thành giọng nói (TTS) của Microsoft.

những thứ thú vị

Bây giờ hãy xem cách chúng tôi sử dụng thư viện này cho TTS.


Điều đầu tiên và quan trọng nhất mà chúng ta cần làm là cài đặt thư viện này và chúng ta có thể làm điều đó bằng cách sử dụng pip đi kèm với cài đặt python.


Cú pháp cài đặt này tương tự như tất cả các pip installs .


pip install pyttsx3


Nếu trong trường hợp cài đặt này báo lỗi cmd not found , thì hãy thử sử dụng pip3 thay vì pip như:

pip3 install pyttsx3


Sau khi cài đặt, chúng ta hãy kiểm tra xem nó đã được cài đặt thành công hay chưa bằng cách chạy lệnh này:

pip3 freeze


Nó sẽ trả về một danh sách tất cả các gói được cài đặt trong env của chúng tôi. Nếu bạn tìm thấy pyttsx3 trong danh sách này, nghĩa là chúng tôi đã cài đặt thành công pyttsx3 và chúng tôi đã sẵn sàng sử dụng pyttsx3 trong dự án của mình.


Sau khi cài đặt hoàn tất, chúng ta cần nhập thư viện này vào dự án của mình, sau đó chúng ta phải khởi tạo công cụ chuyển văn bản thành giọng nói. Động cơ này là phần quan trọng nhất và chính động cơ này sẽ thực hiện TTS cho chúng tôi.


Importing pyttsx3 and initializing the text-to-speech engine:


import pyttsx3

engine = pyttsx3.init()


.init() là phương thức cần được gọi để khởi tạo engine.


Bây giờ, khi công cụ của chúng tôi được khởi tạo, chúng tôi có thể sử dụng nó cho TTS của mình bằng cách gọi phương thức say(text) .


engine.say(text)

engine.runAndWait()


Tốc độ và âm lượng của văn bản nói này sẽ là mặc định và chúng ta có thể thay đổi chúng theo các cách sau.


Tất cả những gì chúng ta cần là đặt một số giá trị cho công cụ của mình. Nó giống như nói với động cơ những gì để sử dụng.

Vì vậy, chúng ta phải làm điều này theo cách sau:


  • Đầu tiên, chúng ta sẽ lấy thuộc tính đó bằng cách sử dụng getProperty(name)
  • Sau đó, chúng tôi sẽ đặt thuộc tính đó bằng cách sử dụng setProperty(name, value)


Chúng tôi sẽ thiết lập tốc độ và cả âm lượng của động cơ.


Đặt tốc độ và âm lượng của bài phát biểu:


rate = engine.getProperty('rate')

engine.setProperty('rate', rate-100)


Theo mặc định, tỷ lệ là 200, vì vậy chúng tôi sẽ hạ thấp nó xuống 100. rate là tỷ lệ nói và 200 là cao đối với chúng tôi. Vì vậy, chúng tôi đã hạ thấp nó xuống.


Tốc độ chỉ đơn giản là tốc độ mà người nói sẽ nói văn bản được thông qua.


Sau khi đặt tốc độ, chúng tôi sẽ thay đổi hoặc đặt âm lượng bằng cách lấy thuộc tính âm lượng trước rồi đặt nó.


volume = engine.getProperty('volume')

engine.setProperty('volume', volume+0.50)


Âm lượng mặc định là 1 Tức là 100%, chúng tôi sẽ tăng nó lên 150% bằng cách thêm .50 vào giá trị nhận được từ việc đọc thuộc tính âm lượng.


Bây giờ chúng tôi đã hoàn tất việc thiết lập hai thuộc tính này, chúng tôi sẽ gọi say() và bài phát biểu bây giờ sẽ có tham số của chúng tôi, tức là tốc độ 1x và âm lượng 1.50 .


engine.say("Hello, This is the test for the pyttsx3")

engine.runAndWait()


Bây giờ runAndWait này rất quan trọng đối với chúng tôi. Chúng tôi muốn chạy công cụ này và tiếp tục chạy cho đến khi nó hoàn thành TTS của văn bản đã chuyển.


Bên cạnh đó, thay đổi âm lượng, chúng ta cũng có thể thay đổi giọng nói đang được nói. Bây giờ có 2 giọng nói ở đây. Một dành cho giọng nữ và một dành cho giọng nam.


Chúng tôi sẽ sử dụng cùng một cú pháp để thiết lập thuộc tính của chúng tôi như chúng tôi đã làm trước đó.


Ghi nhớ:

  • voices[0] dành cho giọng nam.
  • voices[1] dành cho giọng nữ.


Hãy thay đổi giọng nói:


voices = engine.getProperty('voices')

engine.setProperty('voice', voices[1].id)


Chúng ta sẽ cần gọi thuộc tính id của giọng nói đã chọn và sau đó chúng ta đã hoàn tất.

Chúng ta có thể sao chép đoạn mã trên và lúc này giọng nói sẽ là nữ thay vì mặc định là nam.


Sau khi hoàn tất cài đặt các tham số và kiểm tra TTS, giờ đây chúng ta có thể lưu tệp âm thanh của TTS đã tạo.


Thay vì gọi .say() , lần này chúng ta sẽ gọi .save_to_file và chuyển văn bản cũng như tên của tệp đầu ra mà chúng ta muốn lưu âm thanh TTS của mình vào đó.


Lần này, nó sẽ không đọc to văn bản mà lưu nó vào tệp có tên mà chúng tôi đã chuyển.


engine.save_to_file("Hello, this is test for pyttsx3.", "test.mp3")

engine.runAndWait()


Sau khi chạy cái này, chúng ta sẽ có một tệp có tên test.mp3 với TTS được tạo.


Ngoài ra, pyttsx3 đó có một số phương thức và thuộc tính khác mà bạn có thể sử dụng để tùy chỉnh đầu ra chuyển văn bản thành giọng nói, chẳng hạn như đặt cao độ, ngôn ngữ, v.v. Bạn có thể tìm thêm thông tin về những điều này trong tài liệu pyttsx3 .

Từ cuối cùng

Hãy xem, việc tạo TTS từ văn bản hoặc thậm chí từ tệp chứa văn bản dễ dàng như thế nào?

Chúng tôi có thể sử dụng các TTS được tạo này cho các mục đích khác nhau và tùy thuộc vào bạn.


Tôi biết, bây giờ bạn sẽ có thể thực hiện TTS này một cách dễ dàng và Bạn sẽ tạo ra những dự án tuyệt vời bằng cách sử dụng tính năng này.


Bây giờ, hãy làm một việc, theo dõi tôi trên Twitter , nếu bạn thích nội dung và muốn duy trì kết nối.

Cảm ơn bạn đã đọc, thưởng thức nội dung.