TÌM KIẾM ÂM NHẠC THEO NỘI DUNG SỬ DỤNG ĐẶC TRƯNG TẦN SỐ CƠ BẢN F0 VÀ GIẢI THUẬT THỜI GIAN ĐỘNG DTW Phùng Thị Thu Hiền 1* , Thái Quang Vinh 2 , Phùng Trung Nghĩa 3 ,Lê Tuấn Anh 4 1 Đại
Trang 1TÌM KIẾM ÂM NHẠC THEO NỘI DUNG SỬ DỤNG ĐẶC TRƯNG TẦN SỐ
CƠ BẢN F0 VÀ GIẢI THUẬT THỜI GIAN ĐỘNG DTW
Phùng Thị Thu Hiền 1*
, Thái Quang Vinh 2 , Phùng Trung Nghĩa 3 ,Lê Tuấn Anh 4
1 Đại học Kỹ thuật Công nghiệp Thái Nguyên, 2 Viện Công nghệ thông tin, Viện KHCN Việt nam,
3
Japan Advanced Institute of Science and Technology, 4 Khoa Công nghệ thông tin, Đại học Thái Nguyên
TÓM TẮT
Việc tìm kiếm bài hát trong một cơ sở dữ liệu là một vấn đề hấp dẫn được một số nhà nghiên cứu quan tâm trong thời gian gần đây Tìm kiếm âm nhạc trong các cơ sở dữ liệu hiện tại thường dựa trên cơ sở tìm kiếm chỉ mục Tuy nhiên, việc tìm kiếm âm nhạc theo chỉ mục có nhiều nhược điểm.Với một từ khoá sử dụng khi tìm kiếm thì kết quả trả về của các truy vấn dựa trên text là một xâu dữ liệu Mặt khác, đôi khi người dùng có thể quên tên hoặc nhớ không chính xác tên bài hát, lời bài hát, tác giả bài hát Với cùng một bài hát, hoặc các bài hát tương tự nhau nhưng do các ca sĩ khác nhau hát thì kết quả tìm kiếm có thể là khác nhau Tìm kiếm bài hát theo nội dung khắc phục được những nhược điểm này Trong các cơ sở dữ liệu đa phương tiện lớn thì vấn đề tìm kiếm âm nhạc theo nội dung trở nên rất quan trọng Bài báo này trình bày phương pháp tìm kiếm âm nhạc theo nội dung dùng đặc trưng dùng tần số cơ bản F0 và giải thuật thời gian động DTW
Từ khóa: Giải thuật thời gian động, Cao độ Pitch
ĐẶT VẤN ĐỀ
Tìm kiếm âm nhạc theo nội dung là một lĩnh
vực nghiên cứu mới và được nhiều nhà
nghiên cứu quan tâm Hiện có một số phương
thức đã được áp dụng tìm kiếm âm nhạc theo
nội dung Một số nhà nghiên cứu như
S.Blackburn, D.DeRoure [4] đã sử dụng kỹ
thuật ước lượng cao độ Pitch để xác định giai
điệu của đoạn nhạc và sử dụng Pitch làm tham
số đặc trưng cho hệ thống tìm kiếm âm nhạc
theo nội dung Tương tự, Mc Nab và các cộng
sự [5] đã sử dụng phương thức tính toán giai
điệu bằng cách ước tần số cơ bản F0 để so
sánh giữa các bản phiên âm của mỗi bài hát
Ghias và các cộng sự [6] đã giới thiệu các
phương pháp so khớp độ tương tự sử dụng để
đưa ra kết quả truy vấn cơ sở dữ liệu âm nhạc
Tuy nhiên, theo kết quả nghiên cứu của Beth
Logan [8] thì các phương pháp tìm kiếm âm
nhạc theo nội dung hiện nay vẫn chưa đảm
bảo được cả độ chính xác và thời gian tính
toán, đặc biệt khi tìm kiếm giai điệu của các
bản nhạc hoàn chỉnh trong hệ cơ sở dữ liệu
lớn Bài báo này trình bày phương pháp
dùng tham số tần số cơ bản F0 để trích chọn
đặc trưng âm thanh, sau đó dùng giải thuật
thời gian động DTW (Dynamic Time
Tel: 0986060545, Email: pthientng@gmail.com
Wraping) để phân lớp dữ liệu và đưa ra các kết quả thực nghiệm
CƠ SỞ LÝ THUYẾT
Trích chọn đặc trưng âm thanh sử dụng tần số cơ bản F0 (Pitch)
Cao độ (Pitch) là thuộc tính cơ bản của tiếng nói và âm thanh nói chung Chu kỳ Pitch là đại lượng được xác định trên miền thời gian
và tỉ lệ nghịch với tần số cơ bản F0 là đại lượng xác định trên miền tần số Có rất nhiều thuật toán và phương pháp ước lượng Pitch Các thuật toán ước lượng Pitch cố gắng để định vị trực tiếp chu kỳ Pitch trong miền thời gian hoặc thông qua ước lượng tần số cơ bản F0 trên miền tần số của tín hiệu âm thanh Phương pháp ước lượng Pitch phổ biến nhất
là sử dụng hàm tự tương quan ACF (AutoCorrelation Function) Ý nghĩa tương quan giữa hai tín hiệu là đo độ tương tự giữa chúng và tự tương quan là đo độ tương tự của một tín hiệu và biến đổi theo thời gian của chính nó Hàm tự tương quan trong một khoảng thời gian hữu hạn, của một tín hiệu rời rạc theo thời gian s(n) có thể được biểu diễn là:
N k
m
k m s m s k
r
1
0
) ( ) ( )
k là độ trễ và N là độ dài đoạn, s(m) = 0 ngoài miền
Trang 2Hình 1 Dạng sóng và tự tương quan trên miền
thời gian Hình 1 thể hiện một đoạn âm thanh ngắn và
tính tự tương quan của đoạn đó Chu kỳ cao
độ được theo dõi trên khoảng 80 mẫu Đỉnh
nhô lên trong sóng tự tương quan biểu thị
điều này Giá trị cực đại để xuất hiện quá
trình tự tương quan là ở mức trễ 0 Một giá trị
cực đại khác ở mức trễ 162, cho thấy một sự
kết hợp tốt khi dịch chuyển là hai lần chu kỳ
cao độ Vì vậy, để ước lượng cao độ Pitch,
cửa sổ âm thanh nên chứa ít nhất hai chu kỳ
cao độ (N >2/F0)
Kỹ thuật phân lớp dùng thời gian động
DTW (Dynamic Time Warping)
Cho chuỗi đầu vào w w1, w2, wL có độ
dài L và có chuỗi vector đặc tính
X 1, 2, , nhiệm vụ của hệ thống là
phải nhận dạng chuỗi âm đầu vào và trong
quá trình xử lý cần phải giảm thiểu tối đa các
sai số quyết định Mỗi tín hiệu đầu vào Wl sẽ
được so sánh với các mẫu Yl Mỗi Yl là chuỗi
các vector đặc tính của tín hiệu Wl Nhằm
tăng khả năng nhận dạng, mỗi tín hiệu có một
tập hợp các mẫu khác nhau:
l
M l
Y,1, , ,
) , ( min min
*
m l m
l
Y X D
Như vậy Wl* là phù hợp nhất với mẫu Yl tìm
được
Khoảng cách D(X,Y) giữa dữ liệu đầu vào và
dữ liệu mẫu Y=y1….ys có độ dài thời gian khác nhau S T được xác định bằng tổng các khoảng cách cục bộ dij d ( xi, yj)trên cả đường đi của quá trình biến dạng thời gian
)
,
( 1 i 1 j
ij D x x y y
công thức (3)
j i j j ij
D 1, 1, 1, , , 1 min
0
I=J=0 I>0, J>0 Kh¸c
Và khoảng cách tổng D(X,Y)=DTS Giả sử cho hai chuỗi vec tơ tương ứng với mẫu tín hiệu là aa1,a2,a3, a I và
b 1, 2, 3,
Cho rằng tín hiệu mẫu
a có chiều dài lớn hơn mẫu
b tức là giá trị
(I > J) Thuật toán sẽ thực hiện việc tìm
đường đi tối ưu của chuỗi b theo chuỗi a (tức
là các vị trí khác nhau giữa hai chuỗi theo thời gian) sao cho tổng chênh lệch giữa hai chuỗi vec tơ là nhỏ nhất
Để thực hiện được điều này ta dùng thuật toán dùng ma trận lưới các điểm H2
Hình 2 Ma trận lưới các điểm
Hai chuỗi véc tơ sẽ tương ứng với hai cạnh của ma trận Giả sử, véc tơ a theo trục x và véc tơ b theo trục y Các nút của ma trận tương ứng với khoảng cách tính được của hai chuỗi véc tơ tại các thời điểm thứ i của véc tơ
a tương ứng thời điểm thứ j của véc tơ b
tương ứng nút (i,j) Như vậy, đường đi tối ưu
trong ma trận sẽ có dạng như hình 3
Trang 3Hình 3 Hình dạng đường đi trong ma trận
Việc xác định đường đi tối ưu trong ma trận
lưới được thực hiện sao tổng khoảng cách sai
lệch giữa các cặp véc tơ của hai chuỗi là nhỏ
nhất Ký hiệu, d(i,j) là độ chênh lệch của hai
véc tơ a và b tại thời điểm i và j tương ứng
Yêu cầu của thuật toán DTW cho hai chuỗi
vec tơ bất kỳ là cùng bắt đầu tại các vị trí
(0,0) và kết thúc tại vị trí (I,J) Giá trị tại nút
(0,0) xác định bằng 0
Đường đi được xác định theo các cặp nút liên
tiếp (i k-1 ,j k-1 ) (i k ,j k ) Dùng ký hiệu i k để
biểu diễn chỉ số của véc tơ a tại thời điểm k
và j k là chỉ số của véc tơ b tại thời điểm k
Như vậy tổng khoảng cách giữa hai chuỗi véc
tơ là :
) , ( ) , ( ) ,
Việc tìm giá trị min D(i,j) theo công thức sau:
min ) ,
*
k k k
k k
i
(5) Một số bắt buộc của DTW:
- Chỉ số của i phải tăng đều tức là :
i k - i k-1 =1
- Chỉ số của j tăng theo i với điều kiện:
j k -j k-1 0
Giới hạn của đường đi không thể tuỳ ý được
vì như thế nó sẽ gây ra kết quả sai lệch và làm
tăng khối lượng tính toán (nếu xét trên toàn
bộ ma trận điểm) Vì vậy, cần phải giới hạn phạm vi của đường đi sao cho việc tính toán giảm và độ chính xác cao Phạm vi cho đường đi được chọn như hình vẽ 4:
Hình 4 Phạm vi cho đường đi
Luật đường đi được lựa chọn theo như hình 5
Hình 5 Luật đường đi Giả sử vị trí hiện tại đang ở thời điểm ik-1 và điểm đi tiếp là ik Như vậy các giá trị jk có thể
là jk, jk+1, jk+2 tương ứng với các mũi tên trên
ma trận
KẾT QUẢ THỰC NGHIỆM
Chuẩn bị dữ liệu
Dữ liệu bao gồm 20 bài hát thiếu nhi nổi tiếng thế giới được download từ
http://140.114.76.148/jang2/dataSet/childSon
file âm thanh thì MIDI là định dạng file đơn giản, kích cỡ nhỏ gọn nhưng vẫn biểu diễn được giai điệu âm nhạc Do đó, trong bước huấn luyện, chương trình sử dụng 20 bản nhạc định dạng MIDI PCM Wave là chuẩn
mã hóa âm thanh được sử dụng khá phổ biến trong các hệ cơ sở dữ liệu âm nhạc, do vậy khi tìm kiếm chương trình thử nghiệm trên 20
k m
m
m
m j i d
0
) , ( min
Trang 4file âm thanh PCM Wave có tần số lấy mẫu 8
KHz, mã hóa 8 bít / mẫu, thu từ các điệu ngân
nga không lời (humming) hoặc các đoạn hát
không nhạc (singing) với giai điệu tương ứng
với 20 bản nhạc MIDI đã huấn luyện
Các tham số thực nghiệm
Cao độ Pitch được tính theo phương pháp tự
tương quan ACF với các tham số: kích cỡ
khung là 256 ms, không chồng lấp Sau khi
tính Pitch bằng hàm ACF (AutoCorrelation
Function), pitch được làm trơn bằng lọc trung
vị Phương pháp phân lớp sử dụng thuật toán
thời gian động DTW tiến hành so sánh chuỗi
Pitch đầu vào cần tìm kiếm tính từ file Wave
với lần lượt các chuỗi Pitch của các file MIDI
trong cơ sở dữ liệu Thuật toán thời gian động
cho phép so sánh 2 chuỗi Pitch có độ dài khác
nhau với sai số nhỏ nhất Độ tương tự của 2
chuỗi pitch sau đó được tính toán bằng khoảng
cách Euclid để tìm ra chuỗi phù hợp nhất
Kết quả thực nghiệm và đánh giá
Phương pháp trích đặc trưng giai điệu dùng
tham số cao độ Pitch (hay tần số cơ bản F0)
sử dụng đặc trưng các giá trị cao độ và sự
biến đổi cao độ làm tham số so sánh Do vậy,
hệ thống không yêu cầu khắt khe về mẫu đầu
vào và có thể tìm kiếm được một tập nhiều
kết quả đầu ra có giai điệu tương tự Ưu điểm
của hệ thống này là có thể tìm được nhiều kết
quả dựa trên giai điệu mà chỉ cần người sử
dụng cung cấp giai điệu bài hát một cách
tương đối như hát thử không nhạc, đánh thử
một đoạn nhạc hay ngân nga giai điệu không
có lời (humming) Nhược điểm của hệ thống
này là kết quả tìm kiếm có thể thiếu chính xác
do một số bài hát khác nhau có thể có những
phần nhỏ giai điệu tương tự nhau
Trong chương trình thực nghiệm, kết quả
nhận dạng đúng sau 20 lần là 100% Kết quả
này cao hơn kết quả đã công bố trong [8] và
[10] dù dùng cùng thuật toán Lý do có thể do
chương trình demo mới thử nghiệm trên bộ
cơ sở dữ liệu rất nhỏ Tỷ lệ nhận dạng sẽ giảm
xuống khi dùng cơ sở dữ liệu lớn hơn (đặc
biệt khi trong cơ sở dữ liệu có các bài hát có
những phần tương tự nhau), tỷ lệ nhận dạng
và tìm kiếm đúng cũng sẽ giảm xuống khi độ dài mẫu âm thanh đầu vào là nhỏ
Về mặt thời gian, thời gian tìm kiếm cho mỗi file Wave (dài khoảng 1 phút) là xấp xỉ 0.2 s với điều kiện đã huấn luyện trước Thời gian này là chấp nhận được với người sử dụng Thời gian tìm kiếm trong [8] là lớn hơn do thực nghiệm trên cơ sở dữ liệu âm nhạc lớn Chương trình mô phỏng được xây dựng trên phần mềm matlab:
Hình 6 Kết quả chạy chương trình Hướng phát triển
Trước hết cần xây dựng một cơ sở dữ liệu âm nhạc đủ lớn để thử nghiệm Từ đó sẽ đánh giá được độ chính xác, hiệu quả của các phương pháp tìm kiếm và có thể đề xuất các phương pháp cải tiến thao tác trích đặc trưng và phân lớp của hệ thống tìm kiếm
Hướng nghiên cứu tiếp theo cũng sẽ là tìm hiểu sâu hơn về các phương pháp phân lớp dữ liệu triển vọng như dùng mạng Neural, giải thuật di truyền GA, mô hình Markov ẩn HMM,…
TÀI LIỆU THAM KHẢO
[1] E.Riskin and R.Gray, “A greedy tree growing algorithm for the design of variable rate vector quantizers”, IEEE Trans On Sig.Proc, Nov 1991
[2] J.-S Roger Jang, Hong-Ru Lee,
"Hierarchical Filtering Method for Content-based Music Retrieval via Acoustic Input", The 9th
ACM Multimedia Conference, PP 401-410, Ottawa, Ontario, Canada, September 2001
Trang 5[3] Beth Logan and Ariel Salomon, “A Music
Similarity Function Based on Signal Analysis”,
Cambridge Research Laboratory
[4] S.Blackburn and D De Roure, “A tool for
content based navigation of music”, in ACM
Multimedia ,1998
[5] R Mc Nab, L Smith, I Witten, C.Henderson,
and S.Cunningham, “Towards the digital music
library: Tune retrieval from acoustic input,” in
Digital Libraries 1996, 1996, pp.11-18
[6] A.Ghias, J.Logan, D Chamberlin and
B.Smith, “Query by humming,” in ACM
Multimedia, 1995
[7] M Goto, “A predominant-F0 estimation method for CD recordings: MAP estimation using
EM algorithm for adaptive tone models,” in Proc
ICASSP, 2001
[8] Beth Logan and Stephen Chu, “Music Summarization Using Key Phrases”, Cambridge
Research Laboratories
[9] J.T Foote, “Content-based retrieval of Music and Audio,” in SPIE, 1997, p.p 138- 147
[10] J.-S Roger Jang, Hong-Ru Lee,
"Hierarchical Filtering Method for Content-based Music Retrieval via Acoustic Input", The 9th
ACM Multimedia Conference, PP 401-410, Ottawa, Ontario, Canada, September 2001
SUMMARY
USING FUNDAMENTAL FREQUENCY AND ALGORITHM DYNAMIC TIME WARPING (DTW) TO SEARCH CONTEND MUSIC
Phung Thi Thu Hien1, Thai Quang Vinh2, Phung Trung Nghia 3 , Le Tuan Anh4
1
University of Technology,
2
Academy of Information Technology - Vietnam Academy of Science and Technology
3
Japan Advanced Institute of Science and Technology , 4 Faculty of information Technology- Thai Nguyen University
Song searching in a database is interesting field which attract many researchers recently Music searching in current database is usually based on text query In a huge multimedia database, content-based music searching becomes incredible
This paper presents the content-based music searching method using F0 and the DTW algorithm Experimental results show that this is an effective method and need to continue researching
Keywords: Dynamic Time Warping, Pitch
Tel: 0986060545, Email: pthientng@gmail.com