Đối tượng âm thanh

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Các đối tượng âm thanh mô-đun của Roblox cho phép bạn kiểm soát động về âm thanh và trò chuyện bằng giọng nói trong trải nghiệm của bạn. Hầu hết mọi đối tượng âm thanh tương ứng với một thiết bị âm thanh trong thế giới thực, và tất cả chúng hoạt động cùng nhau để ghi lại và phát âm thanh giống như các đối tượng vật lý của chúng.

Ví dụ, mỗi đối tượng âm thanh về mặt khái niệm rơi vào các loại sau:

  • Các đối tượng sản xuất luồng âm thanh, chẳng hạn như trình phát âm thanh.
  • Các đối tượng tiêu thụ luồng âm thanh, chẳng hạn như bộ phát âm thanh.
  • Các đối tượng chỉnh sửa luồng âm thanh, chẳng hạn như hiệu ứng âm thanh.
  • Các đối tượng chuyển luồng âm thanh từ một đối tượng âm thanh này sang đối tượng âm thanh khác, chẳng hạn như dây dẫn.

Khi bạn đọc qua hướng dẫn này và tìm hiểu cách tất cả các đối tượng âm thanh này hoạt động cùng nhau để phát ra âm thanh, bạn sẽ học cách ghi lại và cung cấp chính xác nhạc, hiệu ứng âm thanh và giọng nói con người từ trải nghiệm đến người chơi và ngược lại.

Phát âm thanh

Để phát âm thanh trong trải nghiệm của bạn, điều quan trọng là hiểu vai trò của từng đối tượng âm thanh có sẵn:

  • Một AudioPlayer tải và phát tệp âm thanh bằng cách sử dụng ID tài sản âm thanh đã chỉ định.
  • Một AudioEmitter là một loa ảo phát âm thanh vào môi trường 3D.
  • Một AudioListener là một micro ảo ghi lại âm thanh từ môi trường 3D.
  • Một AudioDeviceOutput là một thiết bị phần cứng vật lý trong thế giới thực, chẳng hạn như loa hoặc tai nghe.
  • Một AudioDeviceInput là một micro vật lý trong thế giới thực.
  • Đối tượng AudioTextToSpeech chuyển đổi văn bản thành âm thanh bằng giọng nói nhân tạo.
  • Đối tượng AudioSpeechToText chuyển đổi âm thanh nói thành văn bản.
  • Một Wire chuyển luồng âm thanh từ một đối tượng âm thanh này sang đối tượng âm thanh khác.

Cách bạn kết hợp các đối tượng âm thanh này phụ thuộc vào việc bạn muốn phát âm thanh trực tiếp đến loa hoặc tai nghe của người chơi hay từ các đối tượng trong không gian 3D. Các phần sau sẽ chi tiết cả hai kịch bản.

Âm thanh 2D

Âm thanh 2D là âm thanh không định hướng phát ra từ một vị trí cụ thể, giữ nguyên âm lượng bất kể vị trí hoặc hướng của người chơi trong không gian 3D. Loại âm thanh này yêu cầu ba đối tượng âm thanh:

  • Một trình phát âm thanh để sản xuất một luồng âm thanh.
  • Một thiết bị phần cứng vật lý để phát luồng âm thanh trong thế giới thực.
  • Một dây dẫn để chuyển luồng âm thanh từ trình phát âm thanh đến thiết bị đầu ra.

Để minh họa cách cấu hình các đối tượng âm thanh này trong Studio cho âm thanh 2D, sơ đồ sau so sánh từng đối tượng với thiết bị âm thanh tương ứng trong thế giới thực của chúng. Tóm lại:

  • AudioPlayer tải và phát tài sản âm thanh của bạn với các cài đặt đã chỉ định.
  • AudioDeviceOutput cho phép người chơi nghe âm thanh qua loa hoặc tai nghe của họ.
  • Wire kết nối với trình phát âm thanh bằng thuộc tính SourceInstance của nó, và với thiết bị phần cứng vật lý bằng thuộc tính TargetInstance của nó. Sau đó, nó hoạt động như một cầu nối để chuyển luồng âm thanh từ trình phát âm thanh đến thiết bị đầu ra của người chơi.

Để phát âm thanh không định hướng:

  1. Trong cửa sổ Explorer, đi đến SoundService và chèn các đối tượng sau:
    1. Một đối tượng AudioPlayer để tạo một nguồn âm thanh.
    2. Một đối tượng AudioDeviceOutput để tạo một loa phát âm thanh trong toàn bộ trải nghiệm.
    3. Một đối tượng Wire để kết nối luồng từ trình phát âm thanh đến loa.
  2. Trong cửa sổ Properties của đối tượng AudioPlayer:
    1. Đặt AssetID thành một ID tài sản âm thanh hợp lệ. Nếu bạn không có âm thanh tùy chỉnh của riêng mình, bạn có thể tìm thấy các tài sản âm thanh miễn phí trong Creator Store.
    2. Bật Looping nếu bạn muốn âm thanh của mình lặp lại liên tục.
    3. Đặt Volume thành đơn vị biên độ mà bạn muốn phát âm thanh của mình.
  3. Trong cửa sổ Properties của đối tượng Wire:
    1. Đặt SourceInstance thành AudioPlayer để chỉ định rằng bạn muốn phát âm thanh trong trình phát âm thanh cụ thể này.
    2. Đặt TargetInstance thành AudioDeviceOutput để chỉ định rằng bạn muốn phát âm thanh từ loa cụ thể này.

Từ đây, bạn có thể kích hoạt âm thanh không định hướng của mình bằng các kịch bản để phát khi người chơi tham gia trải nghiệm hoặc như một kết quả của một sự kiện trong trò chơi hoặc tương tác UI. Để tham khảo mẫu mã cho các trường hợp sử dụng này, hãy xem hướng dẫn Thêm âm thanh 2D.

Âm thanh 3D

Âm thanh 3D là âm thanh định hướng phát ra từ một vị trí cụ thể trong không gian 3D, tăng hoặc giảm âm lượng tùy thuộc vào vị trí và hướng của người chơi đối với âm thanh. Loại âm thanh này yêu cầu sáu đối tượng âm thanh:

  • Một trình phát âm thanh để sản xuất một luồng âm thanh.
  • Một bộ phát âm thanh để phát luồng âm thanh trong môi trường.
  • Một bộ nghe để ghi lại luồng âm thanh từ môi trường.
  • Một thiết bị phần cứng vật lý để phát luồng âm thanh trong thế giới thực.
  • Hai dây dẫn: một để chuyển luồng âm thanh từ trình phát âm thanh đến bộ phát, và một để chuyển nó từ bộ nghe đến thiết bị đầu ra.

Để minh họa cách cấu hình các đối tượng âm thanh này trong Studio cho âm thanh 3D, sơ đồ sau so sánh từng đối tượng với thiết bị âm thanh tương ứng trong thế giới thực của chúng. Tóm lại:

  • AudioPlayer tải và phát tài sản âm thanh của bạn với các cài đặt đã chỉ định.
  • Vị trí của cha mẹ AudioEmitter trong không gian 3D xác định nơi âm thanh phát ra trong môi trường.
  • AudioListener ghi lại âm thanh từ bộ phát từ camera cục bộ hoặc trong Humanoid.RootPart của nhân vật người chơi, tùy thuộc vào nơi bạn đặt vị trí bộ nghe mặc định.
  • AudioDeviceOutput cho phép người chơi nghe âm thanh qua loa hoặc tai nghe của họ.
  • Dây dẫn đầu tiên Wire kết nối với trình phát âm thanh bằng thuộc tính SourceInstance của nó, và với bộ phát bằng thuộc tính TargetInstance của nó. Sau đó, nó hoạt động như một cầu nối để chuyển luồng âm thanh từ trình phát âm thanh đến bộ phát.
  • Dây dẫn thứ hai Wire kết nối với bộ nghe bằng thuộc tính SourceInstance của nó, và với thiết bị phần cứng vật lý bằng thuộc tính TargetInstance của nó. Sau đó, nó hoạt động như một cầu nối để chuyển luồng âm thanh từ bộ nghe đến thiết bị đầu ra của người chơi.

Để phát âm thanh định vị:

  1. Chọn nơi bạn muốn tạo một AudioListener khi người chơi xuất hiện trong trải nghiệm.

    1. Trong cửa sổ Explorer, chọn SoundService.
    2. Trong cửa sổ Properties, đặt ListenerLocation thành một trong các tùy chọn sau:
      • Default - Tạo và gán bộ nghe cho Workspace.CurrentCamera trong các trải nghiệm cho phép trò chuyện bằng giọng nói.
      • None - Không tạo bộ nghe. Tùy chọn này hữu ích nếu bạn muốn tạo một bộ nghe thông qua một kịch bản.
      • Character - Tạo và gán một bộ nghe cho nhân vật của người chơi cục bộ.
      • Camera - Tạo và gán bộ nghe cho Workspace.CurrentCamera.
  2. Trong cửa sổ Explorer, đi đến đối tượng 3D mà bạn muốn phát âm thanh và chèn các đối tượng sau:

    1. Một đối tượng AudioPlayer để tạo một nguồn âm thanh.
    2. Một đối tượng AudioEmitter để phát một luồng định vị từ đối tượng 3D.
    3. Một đối tượng Wire để kết nối luồng từ trình phát âm thanh đến bộ phát âm thanh.
  3. Trong cửa sổ Properties của đối tượng AudioPlayer:

    1. Đặt AssetID thành một ID tài sản âm thanh hợp lệ. Nếu bạn không có âm thanh tùy chỉnh của riêng mình, bạn có thể tìm thấy các tài sản âm thanh miễn phí trong Creator Store.
    2. Bật Looping nếu bạn muốn âm thanh của mình lặp lại liên tục.
    3. Đặt Volume thành đơn vị biên độ mà bạn muốn phát âm thanh của mình.
  4. Trong cửa sổ Properties của đối tượng AudioEmitter, đặt DistanceAttenuation thành một đường cong âm lượng theo khoảng cách xác định mức độ lớn mà bộ nghe nghe thấy bộ phát tùy thuộc vào khoảng cách giữa chúng.

    Ví dụ, đường cong sau giảm âm lượng âm thanh xuống một nửa khi bộ nghe cách bộ phát 50 studs, sau đó giảm mạnh âm lượng xuống bằng không khi bộ nghe cách bộ phát 70 studs.

  5. Trong cửa sổ Properties của đối tượng Wire:

    1. Đặt SourceInstance thành AudioPlayer để chỉ định rằng bạn muốn phát âm thanh trong trình phát âm thanh cụ thể này.
    2. Đặt TargetInstance thành AudioEmitter để chỉ định rằng bạn muốn phát âm thanh từ bộ phát âm thanh cụ thể này.

Từ đây, bạn có thể kích hoạt âm thanh định hướng của mình bằng các kịch bản để phát khi người chơi tham gia trải nghiệm hoặc như một kết quả của một sự kiện trong trò chơi hoặc tương tác UI. Để tham khảo mẫu mã cho các trường hợp sử dụng này, hãy xem hướng dẫn Thêm âm thanh 3D.

Văn bản thành giọng nói

Văn bản thành giọng nói (TTS) là một hình thức công nghệ hỗ trợ chuyển đổi chuỗi văn bản thành âm thanh nói bằng giọng nói nhân tạo. Loại âm thanh này yêu cầu năm đối tượng âm thanh:

  • Một bộ phát âm thanh để tải và chuyển đổi văn bản thành âm thanh.
  • Một bộ phát âm thanh để phát luồng âm thanh trong môi trường.
  • Một bộ nghe để ghi lại luồng âm thanh từ môi trường.
  • Một thiết bị phần cứng vật lý để phát luồng âm thanh trong thế giới thực.
  • Đối với âm thanh 2D - Một dây dẫn để chuyển luồng âm thanh từ bộ phát âm thanh đến thiết bị đầu ra.
  • Đối với âm thanh 3D - Hai dây dẫn: một để chuyển luồng âm thanh từ bộ phát âm thanh đến bộ phát, và một để chuyển nó từ bộ nghe đến thiết bị đầu ra.

Cách bạn cấu hình các đối tượng này phụ thuộc vào việc bạn muốn tạo âm thanh TTS 2D hay âm thanh TTS 3D. Để biết thêm chi tiết về từng quy trình, hãy nhấp vào các tab sau.

Để minh họa cách cấu hình các đối tượng âm thanh này trong Studio cho âm thanh TTS 2D, sơ đồ sau so sánh từng đối tượng với thiết bị âm thanh tương ứng trong thế giới thực của chúng. Tóm lại:

  • Đối tượng AudioTextToSpeech tải và chuyển đổi các chuỗi văn bản thành âm thanh nói.
  • AudioDeviceOutput cho phép người chơi nghe âm thanh qua loa hoặc tai nghe của họ.
  • Wire kết nối với bộ phát âm thanh bằng thuộc tính SourceInstance của nó, và với thiết bị phần cứng vật lý bằng thuộc tính TargetInstance của nó. Sau đó, nó hoạt động như một cầu nối để chuyển luồng âm thanh từ bộ phát âm thanh đến thiết bị đầu ra của người chơi.

Để phát âm thanh văn bản thành giọng nói 2D:

  1. Trong cửa sổ Explorer, đi đến SoundService và chèn các đối tượng sau:
    1. Một đối tượng AudioTextToSpeech để tạo một bộ phát âm thanh.
    2. Một đối tượng AudioDeviceOutput để tạo một loa phát âm thanh trong toàn bộ trải nghiệm.
    3. Một đối tượng Wire để kết nối luồng từ bộ phát âm thanh đến loa.
  2. Trong cửa sổ Properties của đối tượng AudioTextToSpeech:
    1. Đặt Text thành bất cứ điều gì bạn muốn giọng nói nói. Có giới hạn 300 ký tự cho mỗi yêu cầu.
    2. Đặt VoiceId thành số của giọng nói nhân tạo mà bạn muốn sử dụng. Để có danh sách đầy đủ các giọng nói có sẵn, hãy xem danh sách các giọng nói nhân tạo.
    3. Đặt Volume thành đơn vị biên độ mà bạn muốn phát âm thanh của mình.
  3. Trong cửa sổ Properties của đối tượng Wire:
    1. Đặt SourceInstance thành AudioTextToSpeech để chỉ định rằng bạn muốn phát âm thanh trong bộ phát âm thanh cụ thể này.
    2. Đặt TargetInstance thành AudioDeviceOutput để chỉ định rằng bạn muốn phát âm thanh từ loa cụ thể này.

Từ đây, bạn có thể kích hoạt âm thanh TTS của mình bằng các kịch bản. Để tham khảo mẫu mã cho âm thanh TTS, bao gồm cách cấu hình TTS theo ngữ cảnh mà thích ứng liên quan đến người chơi, trạng thái môi trường của họ hoặc trạng thái trò chơi, hãy xem hướng dẫn Thêm văn bản thành giọng nói.

Danh sách các giọng nói nhân tạo

VoiceIDMô tả giọng nóiVí dụ âm thanh
1Nam Anh
2Nữ Anh
3Nam Mỹ #1
4Nữ Mỹ #1
5Nam Mỹ #2
6Nữ Mỹ #2
7Nam Úc
8Nữ Úc
9Giọng retro #1
10Giọng retro #2
11Giọng người dẫn chương trình
101Nam Tây Ban Nha
102Nữ Tây Ban Nha
201Nam Đức
202Nữ Đức
301Nam Ý
302Nữ Ý
401Nam Pháp
402Nữ Pháp
501Nam Trung Quốc
502Nữ Trung Quốc
601Nam Hindi
602Nữ Hindi
701Nam Nhật
702Nữ Nhật
801Nam Ả Rập
802Nữ Ả Rập
901Nam Hàn Quốc
902Nữ Hàn Quốc
1001Nam Bồ Đào Nha
1002Nữ Bồ Đào Nha

Giọng nói thành văn bản

Giọng nói thành văn bản (STT) là một hình thức công nghệ tự động tạo ra các chuỗi văn bản từ âm thanh nói. Loại âm thanh này yêu cầu ba đối tượng âm thanh:

  • Một bộ phát văn bản để tải và chuyển đổi âm thanh thành văn bản.
  • Một thiết bị phần cứng vật lý như micro để ghi lại đầu vào âm thanh.
  • Một dây dẫn để chuyển luồng âm thanh từ thiết bị đầu vào đến bộ phát văn bản.

Tất cả các đối tượng âm thanh này hoạt động cùng nhau để tạo ra văn bản STT phản hồi lại các hành động của người chơi. Ví dụ, nếu người chơi đang đeo tai nghe trong khi chơi trải nghiệm trên máy tính xách tay của họ:

  • AudioDeviceInput ghi lại lời nói của người chơi, khi nói vào micro của họ và dưới dạng một luồng âm thanh.
  • Một Wire chuyển luồng âm thanh từ AudioDeviceInput đến AudioSpeechToText.
  • AudioSpeechToText chuyển đổi lời nói của người chơi thành văn bản.
  • Trải nghiệm đọc văn bản này và thực hiện một hành động, chẳng hạn như hiển thị văn bản đã nói trên màn hình hoặc mở cửa theo lệnh của người chơi.

Để triển khai giọng nói thành văn bản trong trải nghiệm của bạn:

  1. Bật việc sử dụng API mới nhất cho giọng nói.
    1. Trong cửa sổ Explorer, chọn VoiceChatService.
    2. Trong cửa sổ Properties, đặt UseAudioApi thành Enabled.
  2. Trong cửa sổ Explorer, đi đến SoundService và chèn các đối tượng sau:
    1. Một AudioDeviceInput để ghi lại lời nói.
    2. Một AudioSpeechToText để chuyển đổi lời nói thành văn bản.
    3. Một Wire để chuyển luồng từ thiết bị đầu vào âm thanh đến phiên bản STT.
  3. Trong cửa sổ Properties của đối tượng AudioSpeechToText, đặt trạng thái Enabled thành bật.
  4. Trong cửa sổ Properties của đối tượng Wire:
    1. Đặt SourceInstance thành AudioDeviceInput mới của bạn để chỉ định rằng bạn muốn dây dẫn chuyển âm thanh từ phiên bản âm thanh cụ thể này.
    2. Đặt TargetInstance thành AudioSpeechToText mới của bạn để chỉ định rằng bạn muốn dây dẫn chuyển âm thanh đến phiên bản âm thanh cụ thể này.
  5. Đặt thuộc tính Player của thiết bị đầu vào âm thanh thành người chơi cục bộ tại thời gian chạy với audioDeviceInput.Player = game.Players.LocalPlayer. Điều này cho Roblox biết micro của người dùng nào sẽ ghi lại âm thanh.

Sau khi thiết lập STT trong trải nghiệm của bạn, bạn có thể kích hoạt nó bằng các kịch bản. Để tham khảo mẫu mã, hãy xem hướng dẫn Thêm giọng nói thành văn bản.

Các ngôn ngữ được hỗ trợ

Không cần cấu hình để bật các ngôn ngữ được hỗ trợ. Roblox tự động phát hiện ngôn ngữ nói từ âm thanh và chuyển ngữ.

STT hỗ trợ các ngôn ngữ sau:

  • Ả Rập
  • Trung Quốc (Giản thể)
  • Trung Quốc (Phồn thể)
  • Tiếng Anh
  • Tiếng Pháp
  • Tiếng Đức
  • Tiếng Indonesia
  • Tiếng Ý
  • Tiếng Nhật
  • Tiếng Hàn
  • Tiếng Ba Lan
  • Tiếng Bồ Đào Nha
  • Tiếng Tây Ban Nha
  • Tiếng Nga
  • Tiếng Thổ Nhĩ Kỳ
  • Tiếng Thái
  • Tiếng Việt

Lọc các từ tương tự

Khi bạn triển khai STT trong trải nghiệm của mình, bạn có thể muốn cải thiện độ chính xác của việc khớp bằng cách lọc các từ nghe tương tự như các từ mà bạn thực sự muốn người chơi nói. Để làm điều này, bạn có thể so sánh các từ được nhận diện bởi AudioSpeechToText với các danh sách từ đã biết:

  1. Làm sạch và phân tách đầu ra Text của AudioSpeechToText để tạo một bảng các chuỗi chữ thường có thể được phân tích và so sánh.
    1. Loại bỏ các ký tự dấu câu.
    2. Chuyển toàn bộ chuỗi thành chữ thường.
    3. Tách chuỗi theo khoảng trắng để tạo ra một bảng các từ.
  2. Tạo các bảng ứng viên để chuẩn bị cho các chuỗi của bạn để so sánh.
    1. Làm sạch và phân tách từng chuỗi tham chiếu.
    2. Lưu trữ các từ đã xử lý này trong một bảng riêng.
  3. So sánh và khớp các từ trong cả hai bảng để nhận diện các đầu vào giọng nói gần với các cụm từ mục tiêu của bạn, ngay cả khi chúng bao gồm các biến thể nhỏ.
    • Đối với các kiểm tra đơn giản, kiểm tra xem các chuỗi có giống hệt nhau hay không.
    • Đối với việc khớp linh hoạt hơn, bạn có thể viết logic tùy chỉnh để chấp nhận các thay thế (như "colour" thay vì "color") hoặc khớp một tập hợp con của các từ và tính toán điểm tương đồng.

Tùy chỉnh âm thanh

Các hiệu ứng âm thanh cho phép bạn chỉnh sửa hoặc nâng cao các luồng âm thanh một cách không phá hủy trước khi chúng đến tai người chơi. Bạn có thể áp dụng các hiệu ứng này để làm cho âm thanh của bạn trở nên sống động hơn trong các trải nghiệm, chẳng hạn như sử dụng đối tượng AudioEqualizer để làm cho âm thanh mưa nghe như bị bịt kín, đối tượng AudioCompressor để kiểm soát âm lượng tối đa của âm thanh, hoặc AudioReverb để thêm phản xạ âm thanh thực tế hơn trong các không gian nội thất.

Để biết hướng dẫn về cách cấu hình các hiệu ứng âm thanh, cũng như các so sánh bên cạnh trước và sau khi bạn tùy chỉnh âm thanh của mình, hãy xem Các hiệu ứng âm thanh.

Kích hoạt âm thanh

Bạn có thể kích hoạt âm thanh theo ngữ cảnh từ một kịch bản bằng cách gọi Play() trên một đối tượng AudioPlayer được kết nối đúng cách. Ví dụ, nếu bạn gán một kịch bản cho một trình phát âm thanh, bạn có thể kích hoạt tài sản âm thanh thông qua một cái gì đó như thế này:

local audio = script.Parent
local something = ...
something.SomeEvent:Connect(function()
audio:Play()
end)

Để có thêm các mẫu mã phức tạp hơn để kích hoạt âm thanh, chẳng hạn như cho phản hồi trong trò chơi, tương tác UI và tiếng ồn nền lặp lại, hãy xem hướng dẫn Thêm âm thanh 2D, Thêm âm thanh 3D, và Thêm văn bản thành giọng nói.

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.