Kỹ thuật điều khiển & Điện tử<br />
<br />
NGHIÊN CỨU ĐỀ XUẤT THUẬT TOÁN GIẢ LẬP ÂM THANH 3D<br />
DÙNG HAI NGUỒN PHÁT ÂM<br />
Lương Công Duẩn*, Nguyễn Ngọc Minh, Nguyễn Quốc Uy<br />
Tóm tắt: Bài báo đưa ra đề xuất xây dựng thuật toán và chương trình có tác<br />
dụng giả lập âm thanh 3D từ hai nguồn phát âm. Chương trình giả lập sự lan<br />
truyền của một nguồn âm thanh từ một hướng bất kỳ trong không gian 3D sử dụng 2<br />
loa nằm ở phía trước của người nghe, bằng cách sử dụng phép đo dữ liệu hàm<br />
HRTF để giả lập sự lan truyền của âm thanh và sau đó loại bỏ các hiệu ứng không<br />
gian khác của loa. Chương trình được phát triển trên ngôn ngữ lập trình Python và<br />
dựa trên 4 bước: định hướng tín hiệu âm thanh, phát hiện độ cao của nguồn, xây<br />
dựng hàm truyền đạt âm thanh và cuối cùng là khử nhiễu xuyên âm của loa.<br />
Từ khóa: DSP, Xử lý âm thanh, Giả lập, Âm thanh 3D, Biến đổi Fourier.<br />
<br />
1. GIỚI THIỆU CHUNG<br />
Hiệu ứng âm thanh 3D là một nhóm các hiệu ứng âm thanh và các dao động âm<br />
thanh được tạo ra bởi các loa stereo, loa âm thanh vòm, loa mảng, hoặc tai nghe,<br />
giúp con người không chỉ cảm nhận được nguồn âm thanh đến từ trước mặt mà nó<br />
sẽ tạo ra nguồn âm thanh sẽ đến từ bất cứ nơi nào trong không gian ba chiều, bao<br />
gồm cả phía sau, phía trên và phía dưới người nghe. Về bản chất, tác động của âm<br />
thanh 3D lên tai cũng giống như tác động của hình ảnh 3D đối với mắt. Để kiểm<br />
soát cảm giác của người nghe một cách tích cực thì đòi hỏi cần phải kiểm soát tất<br />
cả các khía cạnh về sự cảm nhận của con người đối với âm thanh. Hoạt động của<br />
hệ thống âm thanh 3D sẽ báo trước những thay đổi về các thuộc tính trong không<br />
gian âm thanh của người nghe.<br />
<br />
<br />
<br />
<br />
Hình 1. Các thuộc tính liên quan đến sự cảm nhận âm thanh trong không gian.<br />
Trong các nghiên cứu tâm lý trước đây, các điểm tham chiếu được dùng cho<br />
việc mô tả khoảng cách và vị trí của âm thanh ảo (Sound image) được đặt tại điểm<br />
gốc giữa hai tai, gần mắt và ở điểm trung tâm của đầu. Ngoài ra, cần xác định một<br />
nguồn âm thanh ảo, điều đó cũng có nghĩa khoảng cách tuyến tính giữa nguồn âm<br />
thanh ảo đó và người nghe là khoảng cách thấy được.<br />
Hình 1 đưa ra hai quy ước cho việc mô tả góc cảm nhận đối với một nguồn âm<br />
ảo gồm góc phương vị và độ cao. Góc phương vị là 00 thì đây là điểm trực tiếp trên<br />
<br />
<br />
78 L. C. Duẩn, N. N. Minh, N. Q. Uy, “Nghiên cứu đề xuất thuật toán… hai nguồn phát âm.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
đầu của người nghe, dọc theo đường chia đôi góc từ điểm xuất phát. Trong một số<br />
hệ thống, góc phương vị được miêu tả như chiều quay theo kim đồng hồ, góc quay<br />
từ 00 đến 3600 dọc theo vòng tròn góc phương vị. Việc miêu tả góc phương vị và<br />
độ cao có thể xác định vị trí của nguồn âm xung quanh bề mặt hình cầu trên đầu<br />
người nghe.<br />
Yếu tố cần nghiên cứu cuối cùng trong không gian âm thanh này, chủ yếu đề<br />
cập đến những tác động ảnh hưởng của âm vang được sinh ra từ sự lặp đi lặp lại<br />
của nguồn âm xuất phát từ bề mặt khoang kín (hình 2). S là Nguồn âm, E là Môi<br />
trường nghiên cứ, L là vị trí tai nghe.<br />
<br />
<br />
<br />
<br />
Hình 2. Mô hình 2 chiều đơn giản.<br />
Các phản xạ âm từ bề mặt của khoang kín hoặc môi trường bên ngoài mà ảnh<br />
hưởng của nó được thể hiện qua tập hợp các nguồn âm thứ cấp, có thể gây ảnh<br />
hưởng rất nhiều đến cách cảm nhận nguồn âm.<br />
2. ĐỊNH VỊ ÂM THANH TRONG KHÔNG GIAN ÂM THANH ẢO VÀ<br />
TỔNG HỢP PHA CỦA HÀM TRUYỀN ĐẠT<br />
Định vị âm thanh trong không gian ảo: Một giả định cơ bản trong việc tạo ra<br />
một không gian âm thanh ảo là nếu các sóng âm thanh xuất hiện tại màng nhĩ của<br />
người nghe giống với khi đang sử dụng tai nghe, thì những trải nghiệm của người<br />
nghe cũng phải được như vậy. Sử dụng Head Related Transfer Function (HRTF),<br />
âm thanh có thể được định vị trong không gian bằng cách sử dụng những nguồn tín<br />
hiệu sau: x1(t) là tín hiệu đến từ loa, y1(t) là tín hiệu nhận được từ một micro bên<br />
trong màng nhĩ của người nghe, x2(t) là tín hiệu đến từ tai nghe và y2(t) là phản ứng<br />
của micro bên trong màng nhĩ của người nghe. Mục đích của không gian âm thanh<br />
ảo là chọn được x2(t) sao cho y2(t) = y1(t). Áp dụng biến đổi Fourier với các tín<br />
hiệu này, chúng ta có 2 phương trình sau đây:<br />
Y1=X1LFM và Y2=X2HM (1)<br />
Trong đó:<br />
L: Hàm truyền đạt của loa trong trường tự do<br />
F: Hàm truyền đạt vào đầu (hàm truyền đạt)<br />
M: Hàm truyền đạt của micro<br />
H: Hàm truyền đạt từ headphone – màng nhĩ.<br />
LF<br />
X 2 X 1 H<br />
Đặt Y1 = Y2 , ta có: X 1 LFM X 2 HM (2)<br />
X LF<br />
2 <br />
X 1 H<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 46, 12 - 2016 79<br />
Kỹ thuật điều khiển & Điện tử<br />
<br />
LF<br />
Vậy hàm truyền đạt cần có: T (3)<br />
H<br />
Nếu x1(t) vượt qua được bộ lọc này và x2(t) được phát trên tai nghe, thì nó sẽ<br />
sinh ra các tín hiệu tương tự ở màng nhĩ. Do các bộ lọc chỉ áp dụng cho một tai,<br />
nên một số khác sẽ phải lấy cho tai khác. Quá trình này được lặp lại tại nhiều nơi<br />
trong không gian ảo để tạo ra một loạt các hàm HRTF cho mỗi vị trí có thể tái tạo<br />
lại mà vẫn đảm bảo rằng các điều kiện lấy mẫu tuân thủ theo định luật Nyquist.<br />
Một pha HRTF có thẻ được mô tả bởi một hệ số tỉ lệ Interaural Time Difference<br />
(ITD). Được định lượng bởi dữ liệu nhân trắc học của một cá nhân đưa ra như một<br />
nguồn tham khảo. Đối với những trường hợp chung, chúng ta coi β như một vector<br />
rải rác.<br />
[1 , 2 ,...., N ]T (4)<br />
β đại diện cho các tính năng nhân trắc học của đối tượng như là một phép xếp<br />
chồng tuyến tính của tính năng nhân trắc học từ việc dữ liệu thử nghiệm (y' =<br />
βT X).<br />
A N N<br />
arg min ( (y a n X n ,a ) 2 n ) (5)<br />
a 1 n 1 n 1<br />
<br />
Từ đó, hệ số tỉ lệ ITD H’ được tính là:<br />
N<br />
H ' n H n (6)<br />
n 1<br />
<br />
Khi những hệ số tỉ lệ ITD cho tất cả mọi người trong tập dữ liệu bị xếp chồng<br />
lên nhau trong một vector H ∈ RN (RN là vecto số thực N chiều), thì giá trị H n<br />
tương ứng với hệ số tỉ lệ của người thứ n.<br />
<br />
3. XÂY DỰNG ỨNG DỤNG XỬ LÍ ÂM THANH 3D SỬ DỤNG HAI<br />
NGUỒN PHÁT ÂM<br />
Để giả lập âm thanh 3D, quy trình gồm 4 bước được đề xuất: định hướng tín<br />
hiệu âm thanh, phát hiện độ cao của nguồn, xây dựng hàm truyền đạt âm thanh và<br />
cuối cùng là khử nhiễu xuyên âm của loa.<br />
Định hướng tín hiệu sử dụng Interaural Intensity Difference (IID) và Interaural<br />
Time Difference (ITD).<br />
Phát hiện độ cao: Các vị trí của một nguồn âm thanh ở bên trên, bên dưới, hoặc<br />
phía sau người nghe cũng có thể được định vị nhờ thành phần vành tai, phần<br />
bên ngoài của tai. Việc này kết hợp với các dấu hiệu IID và ITD kể trên, cho<br />
phép phát hiện và dự báo âm thanh từ mọi góc độ.<br />
Hàm truyền đạt HRTF: là một bộ lọc giống với các đặc tính suy giảm tần số âm<br />
thanh khi đi qua đầu, vang vọng từ vai và đi qua vành tai. Mỗi HRTF cung cấp<br />
một đáp ứng xung cho kênh trái và phải, mà chúng ta sẽ ký hiệu là HL và HR<br />
tương ứng.<br />
Khử nhiễu xuyên âm của loa nhờ sử dụng một bộ lọc head-shadowing (che<br />
chắn đầu) và kết hợp với một số phương pháp khuếch đại.<br />
<br />
<br />
80 L. C. Duẩn, N. N. Minh, N. Q. Uy, “Nghiên cứu đề xuất thuật toán… hai nguồn phát âm.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
Thuật toán được đề xuất như trong các sơ đồ dưới đây. Sơ đồ chung của quá<br />
trình được trình bày trong hình 3.<br />
Setangles là một hàm chức năng nhận phương vị, độ cao tùy ý và trả về độ cao<br />
và góc phương vị gần nhất với đầu vào của một tập tin đã tồn tại. Thuật toán cho<br />
Setangles được miêu tả trong hình 4 và 5.<br />
Sau khi đọc được vị trí các nguồn phát, sử dụng một phép biến đổi Fourier để<br />
chiếu tín hiệu đáp ứng xung và miền tần số. Sau đó, các tín hiệu bên trái và bên<br />
phải được tạo ra bằng cách nhân lần lượt tín hiệu miền tần số với các hàm truyền<br />
đạt bên trái và bên phải. Phép biến đổi Fourier ngược được sử dụng để trả lại tín<br />
hiệu trái và phải, mà chúng sẽ xuất hiện ngay từ độ cao và góc phương vị được chỉ<br />
định. Mô hình tiếp nhận âm thanh từ 2 phía được thể hiện trong hình 6.<br />
Kể từ khi dùng HRTF để xác định vị trí nguồn ở bên<br />
Start<br />
loa trái và loa phải, chúng ta có thể lấy được phương<br />
trình cho tín hiệu nhận được ở tai và sau đó loại bỏ<br />
những hiệu ứng không gian của việc sử dụng loa thay Open()<br />
vì tai nghe. Các bước thực hiện thuật toán Speaker<br />
Transform được mô tả trong hình 7. Đầu tiên, đặt HLL,<br />
HLR là hàm truyền đạt đến tai trái của HRTF của loa Path()<br />
bên trái, phải. Chúng sẽ đến từ HRTF với góc phương<br />
vị θL, θR và độ cao 0. Tương tự thì HRL, HRR sẽ là hàm<br />
truyền đạt của tai phải cho vị trí 2 loa. Nếu khoảng<br />
Project()<br />
cách giữa tai trái và tai phải là không đáng kể so với<br />
khoảng cách từ trung tâm của loa “d”, các tín hiệu ở<br />
bên tai trái và phải EL, ER có thể được tính bằng hệ<br />
Speaker_tranform()<br />
phương trình sau:<br />
EL H LL S L H LR S R<br />
(7)<br />
ER H RL S L H RR S R Make_Stereo()<br />
<br />
<br />
Bây giờ, chúng ta lấy nghịch đảo của ma trận Hình 3. Sơ đồ chung.<br />
HRTF:<br />
SL 1 H RR H RL EL <br />
S H H H H H (8)<br />
R LL RR LR Rl LR H LL ER <br />
Sử dụng phương trình này, ta có thể áp dụng ma trận (8) cho bất kỳ tín hiệu nào<br />
được thiết kế cho tai nghe [EL ER]T để lấy được tín hiệu cho hai loa. Phương pháp<br />
này không yêu cầu θL và θR phải giống nhau. Chú ý rằng HRTF sẽ ngầm chiếm các<br />
mức tăng và sự trễ các yếu tố trong phương trình Transaural sau đây:<br />
1 1 gH ( z ) z d (9)<br />
A1 z <br />
1 g 2 H 2 ( z ) z 2 d gH ( z) z d 1 <br />
Giản đồ thời gian tín hiệu âm thanh sau khi xử lý 3D được mô tả trong hình 7 và<br />
8. Đối với tín hiệu đã qua xử lý 3D, trên giản đồ thời gian chúng ta có thể thấy, tín<br />
hiệu âm thanh ở 2 kênh trái và phải có sự khác nhau về pha và biên độ, điều này<br />
phù hợp với việc cảm nhận thực tế của tai người là âm thanh đi từ trái qua phải<br />
theo các mức độ to nhỏ khác nhau.<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 46, 12 - 2016 81<br />
Kỹ thuật điều khiển & Điện tử<br />
<br />
<br />
<br />
<br />
Hình 4. Thuật toán Stangles – Phần 1.<br />
<br />
<br />
82 L. C. Duẩn, N. N. Minh, N. Q. Uy, “Nghiên cứu đề xuất thuật toán… hai nguồn phát âm.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
<br />
<br />
<br />
Hình 5. Thuật toán Stangles – Phần 2.<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 46, 12 - 2016 83<br />
Kỹ thuật điều khiển & Điện tử<br />
<br />
<br />
<br />
S L , S R : Nguồn âm.<br />
d : Khoảng cách từ tai đến trung tâm<br />
loa.<br />
L , R : Góc nghe của tai tới hai<br />
nguồn âm.<br />
<br />
Hình 6. Mô hình tiếp nhận âm thanh từ 2 phía.<br />
Giản đồ thời gian tín hiệu âm thanh sau khi xử lý 3D được mô tả trong hình 8.<br />
Đối với tín hiệu đã qua xử lý 3D, trên giản đồ thời gian chúng ta có thể thấy, tín<br />
hiệu âm thanh ở 2 kênh trái và phải có sự khác nhau về pha và biên độ, điều này<br />
phù hợp với việc cảm nhận thực tế của tai người là âm thanh dường như đi từ trái<br />
qua phải theo các mức độ to nhỏ khác nhau khiến người nghe cảm nhận một cách<br />
trung thực nhất.<br />
<br />
<br />
<br />
<br />
Hình 7. Giản đồ thời gian tín hiệu âm thanh thường.<br />
<br />
<br />
<br />
<br />
Hình 8. Giản đồ thời gian tín hiệu âm thanh sau khi xử lý 3D.<br />
<br />
<br />
84 L. C. Duẩn, N. N. Minh, N. Q. Uy, “Nghiên cứu đề xuất thuật toán… hai nguồn phát âm.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
4. KẾT LUẬN<br />
Bài báo đã đưa ra thuật toán xây dựng phần mềm giả lập âm thanh 3D và xử lý<br />
âm thanh 3D. Kết quả đạt được của thuật toán đã được thể hiện trên phần mềm.<br />
Ứng dụng thuật toán này vào thực thế có thể tích hợp công nghệ giả lập âm thanh<br />
3D trong các bộ xử lý âm thanh chuyên nghiệp, phục vụ đời sống hàng ngày của<br />
con người cũng như được áp dụng để xử lý âm thanh trong lĩnh vực truyền hình,<br />
viễn thông.<br />
TÀI LIỆU THAM KHẢO<br />
[1]. Begault, D.R., “3D sound for virtual reality and multimedia”, AP<br />
Professional, 2013.<br />
[2]. Bosun Xie, “Head-Related Transfer Function and Virtual Auditory Display”, J<br />
Ross Publishing, 2013.<br />
[3]. John R. Deller, John H. L. Hassen, and John G.Proakis, “Discrete-Time<br />
Processing of Speech Signals”, Wiley-IEEE Press, (2000).<br />
[4]. Francis Rumsey, “Spatial Audio”, CRC Press, 2012.<br />
[5]. Tashev, Ivan. "HRTF phase synthesis via sparse representation of<br />
anthropometric features". Information Technology and Applications<br />
Workshop,San Diego, CA, USA, Conference paper: 1–5, 2014.<br />
[6]. Bilinski,Piotr; Ahrens, Jens; Thomas, Mark R.P; Tashev, Ivan; Platt,John C.<br />
"HRTF magnitude synthesis via sparse representation of anthropometric<br />
features ". IEEE ICASSP, Florence, Italy: 4468–4472, 2014.<br />
ABSTRACT<br />
RESEARCH AND SUGGEST 3D AUDIO PROCESSING ALGORITHM USE<br />
TWO SOUND SOURCE<br />
In this paper, an audio processing algorithm to produce elements effecst<br />
to the sound and 3D sound is proposed. From that, we build an application<br />
to emulate 3D sound using 2 channels. The results is analyzed and can be<br />
applied to design 3D sound devices.<br />
Keywords: DSP, Audio Process, 3D Sound, Sound Simulator, Fourier Transform.<br />
<br />
Nhận bài ngày 01 tháng 9 năm 2016<br />
Hoàn thiện ngày 01 tháng 11 năm 2016<br />
Chấp nhận đăng ngày 14 tháng 12 năm 2016<br />
<br />
Địa chỉ: Học viện Công nghệ Bưu chính Viễn thông;<br />
*<br />
Email: duanlc@ptit.edu.vn<br />
<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 46, 12 - 2016 85<br />