Khi xem xét dải tần số con ngƣời nghe đƣợc từ 15 Hz đến 20 kHz. Một đoạn ghi âm ngắn (khoảng 10 phút) đã có tới 100000 cửa sổ với giả sử rằng mỗi cửa sổ biểu diễn một tín hiệu tƣơng đối trơn tru.
Tƣơng tự nhƣ trƣờng hợp ảnh, nơi ta phải làm giảm số lƣợng tế bào rất lớn của ảnh thành số lƣợng tế bào có thể quản lý đƣợc, thì ta phải sử dụng kỹ thuật nén để làm giảm số lƣợng cửa sổ. Việc này thông thƣờng đƣợc thực hiện khi xử lý âm thanh thông qua sử dụng biến đổi Fourier rời rạc (DFT) và biến đổi cosin rời rạc (DCT). Giả sử ta có tổng số n cửa sổ sau khi phân đoạn tín hiệu âm thanh, nhƣng ta muốn lƣu trữ nó trong mảng A có kích thƣớc N, trong đó N nhỏ hơn n rất nhiều. Rõ ràng, mỗi đầu vào mảng là bản ghi chứa
các trƣờng nhƣ biên độ, âm lƣợng, độ cao... Với mỗi trƣờng f ta có thể tính giá trị cho A[i].f, 1 i n bằng DFT nhƣ sau:
1 0 2 exp ). ( ]. [ N n N n r j f j f r A
trong đó, (j).f đề cập đến giá trị của đặc tính f tại thời điểm j của tín hiệu . nhƣ thƣờng lệ ký hiệu j là số phức 1.
2.2.3. Chỉ số hoá dữ liệu âm thanh
Chỉ số hoá dữ liệu âm thanh trên cơ sở tín hiệu có thể đƣợc thực hiện theo cách không phức tạp lắm. Giả sử ta có tập 1,...,K của tín hiệu trong kho âm thanh. Gọi N là số nguyên xác định tổng số cửa sổ mà ngƣời phát triển ứng dụng muốn gán cho mỗi tín hiệu âm thanh i. Khi chọn N, có nghĩa rằng ta muốn lƣu trữ tập véctơ N chiều. Tuy nhiên, khi quan sát véctơ, ta thấy khó xác định nó đƣợc suy diễn từ tín hiệu âm thanh nào. Do vậy, ta giả sử rằng mỗi véctơ có độ dài (N+1). Trƣờng phụ ở cuối chứa chỉ số i của tín hiệu
i mà véctơ suy diễn từ nó. Bây giờ ta có thể phát triển CSDL âm thanh bằng các bƣớc nhƣ sau đây, sử dụng quan niệm cây TV để chỉ số hoá dữ liệu nhiều chiều.
Thuật toán CreateAudioIndex(K, N)
Index = NIL; (*Ban đầu chỉ số có giá trị rỗng*) for i=1 to K do
{
for j=0 to (N-1) do Ai[j]=DFT(i); Ai[N]=i;
(*Chèn véctơ Ai[j] vào cây TV*) Index = Insert(Ai[j].Index)
} end
Index chính là cây k-d với giá trị k=N bởi vì thông thƣờng N tƣơng đối nhỏ (5 hay 6, hầu nhƣ luôn nhỏ hơn 10). Do vậy, khi ngƣời sử dụng hỏi truy vấn “Hãy tìm các tài nguyên âm thanh mà nó tƣơng tự với âm thanh cho trƣớc”, tất cả cái ta cần làm là áp dụng DFT cho âm thanh đƣợc cung cấp trong truy vấn, và sau đó thực hiện tìm kiếm lân cận gần nhất trên chỉ số đang sử dụng.
2.3. PHÂN LỚP ÂM THANH
Việc phân âm thanh thành các lớp cụ thể có ý nghĩa rất quan trọng. Do với mỗi lớp âm thanh khác nhau có các giá trị đặc trƣng khác nhau (ví dụ, lớp giọng nói có giá trị đặc trƣng ZR lớn hơn so với âm nhạc). Các giá trị đặc trƣng khác nhau của mỗi lớp âm thanh của mỗi lớp âm thanh sẽ giúp cho việc chỉ mục và tìm kiếm các loại âm thanh khác nhau đƣợc thuận tiện và nhanh chóng hơn. Mặt khác, việc phân lớp âm thanh khác nhau có ý nghĩa tƣơng ứng với mỗi ứng dụng trên thực tế khác nhau (ví dụ, ứng dụng trong lĩnh vực nhận dạng giọng nói, chuyển giọng nói thành văn bản... từ lớp âm thanh là giọng nói, hoặc ngƣời ta có thể dựa vào giai điệu để tìm bài hát tƣơng ứng từ lớp âm thanh là âm nhạc). Tóm lại, việc phân lớp âm thanh có các ý nghĩa sau đây:
1, Các lớp âm thanh khác nhau đòi hỏi các tiến trình xử lý và các kỹ thuật truy tìm, chỉ mục khác nhau.
2, Các lớp âm thanh khác nhau có ý nghĩa đối với các ứng dụng khác nhau.
3, Việc phân lớp âm thanh rất hữu ích đối với một số ứng dụng.
4, Không gian tìm kiếm sau khi phân lớp sẽ giảm đáng kể, phục vụ cho việc phân thành các lớp âm thanh riêng biệt hơn hoặc để xử lý, truy tìm âm thanh.
Hiện nay, một số phƣơng pháp phân lớp âm nhạc, giọng nói và các âm thanh khác đƣợc đề xuất nhƣ: Saunders sử dụng phƣơng pháp tốc độ vƣợt 0 (ZCR) trung bình và năng lƣợng thời gian ngắn (Short Time Energy) làm các đặc trƣng, và áp dụng một phƣơng pháp giới hạn đơn giản để phân biệt giọng nói và âm nhạc từ đài phát thanh. Scheirer và các đồng nghiệp thì sử dụng mƣời ba đặc trƣng đồng thời để phân lớp âm thanh. Kimber đƣa ra một cách tiếp cận về việc phân đoạn âm thanh, phần lớn đƣợc ứng dụng trong việc phân đoạn âm thanh trong bản ghi âm các hội nghị. Zang phân các lớp âm thanh bằng phƣơng pháp di truyền thành hai giai đoạn. Giai đoạn đầu, các tín hiệu âm thanh đƣợc phân đoạn và phân thành các lớp thô là giọng nói, âm nhạc, bài hát, giọng nói kèm nhạc nền, tiếng động của môi trƣờng kèm với nhạc nền, sáu loại tiếng động của môi trƣờng và tĩnh lặng (âm câm). Trong giai đoạn hai, sự phân lớp đƣợc nâng ở mức cao hơn và đƣợc đƣa vào từng loại cơ bản. Giọng nói đƣợc phân loại bằng giọng của ngƣời nam, nữ và trẻ em. Âm nhạc đƣợc phân lớp thành các lớp nhƣ loại nhạc blue, nhạc jazz, nhạc rock & roll, nhạc kèm lời và nhạc không lời, tùy theo các loại hoặc các nhạc cụ. Âm thanh môi trƣờng đƣợc phân lớp thành các lớp theo ngữ nghĩa ví dụ nhƣ tiếng vỗ tay, tiếng chuông kêu, tiếng bƣớc chân, tiếng gió bão, tiếng cƣời, tiếng chim hót...Theo Lu, một phƣơng pháp phân lớp âm thanh gồm hai giai đoạn thô để phân lớp âm thanh thành giọng nói, âm nhạc, tiếng động của môi trƣờng và tĩnh lặng. Còn Xi Shao, Changsheng Xu và Mohan S Kankanhalli đƣa ra phƣơng pháp phân lớp âm thanh tự động bằng cách: ban đầu, trích chọn các đặc trƣng từ nội dung âm thanh và xây dựng ra các vectơ đặc trƣng, sau đó, ứng dụng mạng nơron để tiến hành phân lớp âm thanh, và sử dụng giải thuật di truyền với giải thuật BP đồng thời để huấn luyện mạng.
2.3.1. Đặc điểm chính của các lớp âm thanh
Ban đầu ngƣời ta phân lớp âm thanh thành ba lớp thô cơ bản là tiếng nói, âm nhạc và nhiễu. Vì giọng nói và âm nhạc là mối quan tâm chủ yếu của ngƣời dùng nên đa số ứng dụng hiện nay đều tập trung vào nghiên cứu và phát triển dựa trên hai lớp cơ bản này. Sau đây xin trình bày đặc trƣng khác biệt chính của lớp âm nhạc và lớp giọng nói theo nghiên cứu của Leung:
Đặc trƣng Giọng nói Âm nhạc
Băng thông 0 - 10 kHz 0 - 20 kHz
Trọng tâm phổ thấp cao
Tỷ lệ câm cao thấp
Tốc độ vƣợt 0 biến đổi nhiều biến đổi ít
Tiếng gõ đều không thƣờng là có
2.3.2. Phân lớp âm thanh
Việc phân lớp âm thanh dựa trên cơ sở tính toán các giá trị đặc trƣng. Ta xem xét một số cách phân lớp âm thanh nhƣ sau:
2.3.2.1. Phân lớp âm thanh theo từng bước
Là phƣơng pháp phân lớp âm thanh theo từng bƣớc lọc dựa vào phân biệt đặc trƣng của âm thanh, từ đó xác định lớp của âm thanh đó. Mỗi đặc trƣng đƣợc sử dụng một cách riêng biệt trong các bƣớc phân lớp khác nhau. Thứ tự trong mỗi đặc trƣng khác nhau đƣợc sử dụng để phân lớp là rất quan trọng, chúng thƣờng đƣợc quyết định dựa trên độ phức tạp tính toán và các khả năng khác nhau của mỗi đặc trƣng.
Trình tự phân lớp âm thanh theo từng bƣớc đƣợc xác định nhƣ hình minh họa sau:
Hình 18. Phân lớp âm thanh theo từng bước
Bƣớc 1. tính trọng tâm (centroid) của các đoạn âm thanh (Lọc âm nhạc và giọng nói hoặc nhạc sô lô)
Giọng nói và nhạc sô lô có trọng tâm thấp hơn so với âm nhạc. Vậy, nếu dữ liệu âm thanh nhập vào có trọng tâm cao thì đó là lớp âm nhạc. Ngƣợc lại, nó là giọng nói hoặc nhạc sô lô.
Bƣớc 2. Tỉnh tỷ lệ câm (SR)
(Lọc âm nhạc với giọng nói và nhạc sô lô) trọng tâm cao? SR cao? Biến đổi ZCR cao? đúng đúng sai sai sai Âm nhạc Âm nhạc Nhạc sô lô Giọng nói hoặc âm nhạc
Giọng nói
Giọng nói hoặc nhạc sô lô Dữ liệu âm thanh vào
Giọng nói và nhạc sô lô có tỷ lệ câm thấp hơn so với âm nhạc. Vậy, nếu dữ liệu âm thanh nhập vào có tỷ lệ câm cao thì đó là lớp âm nhạc. Ngƣợc lại, nó là giọng nói hoặc hát sô lô.
Bƣớc 3. Tính tỷ lệ vƣợt qua 0 trung bình (ZCR) (Lọc giọng nói và nhạc sô lô)
Trong quá trình phát âm, ZCR của giọng nói có mức biến đổi lớn hơn nhiều so với âm nhạc. Nhƣ vậy, nếu giá trị biến đổi ZCR cao thì nó là giọng nói, ngƣợc lại là nhạc sô lô.
2.3.2.2. Phân lớp âm thanh theo vectơ đặc trưng
Phân lớp âm thanh theo vectơ đặc trƣng [3] là trích ra những nội dung âm thanh đặc trƣng theo cảm quan để xây dựng vectơ đặc trƣng. Theo phƣơng pháp phân lớp này, một tập các đặc trƣng đƣợc sử dụng đồng thời nhƣ một vectơ để tính toán chặt chẽ đầu vào của tập huấn luyện.
Trong giai đoạn huấn luyện, véctơ đặc trƣng trung bình (véctơ tham chiếu) đƣợc tìm ra cho mỗi lớp âm thanh. Trong quá trình phân lớp, véctơ đặc trƣng của đoạn âm thanh vào đƣợc tính và những khoảng cách giữa véctơ đặc trƣng vào và từng véctơ tham chiếu đƣợc tính toán. Âm thanh vào đƣợc phân cho lớp nào mà nó có khoảng cách nhỏ nhất đến véctơ đầu vào. Khoảng cách Euclit thƣờng đƣợc sử dụng để tính toán khoảng cách véctơ đặc trƣng. Tiệm cận này giả sử rằng, các đoạn âm thanh trong cùng lớp đƣợc xếp đặt gần nhau trong không gian đặc trƣng. Các đoạn âm thanh thuộc các lớp khác nhau đƣợc xếp đặt xa nhau trong không gian đặc trƣng. Có thể sử dụng tiệm cận này để truy tìm âm thanh là âm nhạc.
2.3.2.3. Phân lớp âm thanh ứng dụng mạng nơron
Trong não ngƣời có khoảng 1011
tế bào thần kinh (nơron) và 1015 khớp kết nối. Về cơ bản, não có 3 đặc điểm chính là: Xƣ̉ lý song song, phân tán, và phi tuyến.
Hình 19a. Minh họa mô hình nơron sinh học
Công trình nghiên cứu về não đầu tiên thuộc về Ramond - Cajál, ông cho rằng hệ thần kinh cấu tạo từ các nơron . Qua đó, ngƣời ta biết rằng quá trình tính toán trong mạng nơron diễn ra trong não chậm, nhƣng thực hiện đƣợc nhiều chức năng và tốn ít năng lƣợng hơn so với các thiết bị vật lý. Từ đó, ngƣời ta thiết kế ra mạng nơron nhân tạo nhờ mô phỏng tiến trình nhận thức tƣơng tự não ngƣời.
Hình 19b. Minh họa một mô hình nơron nhân tạo
Để phân lớp các âm thanh khác nhau, với mỗi tín hiệu âm thanh, ta dùng 17 tham số [18] để xây dựng vectơ đặc trƣng, bao gồm:
- Giá trị trung bình của âm lƣợng tầng nơron vào
tầng nơron ẩn
- Giá trị trung bình của cao độ - Biến thiên cao độ
- Trung bình của độ trong - Biến thiên độ trong
- Giá trị trung bình của băng thông - Biến thiên băng thông
- Đạo hàm trung bình của âm lƣợng - Biến thiên đạo hàm âm lƣợng - Đạo hàm trung bình của cao độ - Biến thiên đạo hàm của cao độ - Đạo hàm trung bình của độ trong - Biến thiên đạo hàm của độ trong - Đạo hàm trung bình của băng thông - Biến thiên đạo hàm của băng thông
- Tỷ lệ câm của các khung năng lƣợng thấp
Quá trình phân lớp âm thanh ứng dụng mạng nơron nhân tạo đƣợc mô tả nhƣ sau:
Trƣớc tiên, trích chọn các đặc trƣng từ nội dung âm thanh và xây dựng ra các vectơ đặc trƣng. Sau đó, ứng dụng mạng nơron để tiến hành phân lớp âm thanh, và sử dụng giải thuật di truyền kết hợp đồng thời với giải thuật BP để huấn luyện mạng thay vì chỉ sử dụng riêng giải thuật BP hoặc giải thuật di truyền. Điều này làm tăng hiệu quả bởi vì nó có lợi thế của cả hai giải thuật khi kết hợp với nhau. Với mỗi tín hiệu âm thanh, ta dùng 17 tham số (nhƣ đã nêu trên) để xây dựng vectơ đặc trƣng. Sơ đồ mạng nơron để phân lớp âm thanh đƣợc minh họa trong hình 20. Mô hình của mỗi nơron trong mạng bao gồm một hàm kích hoạt phi tuyến. Với mỗi nơron (perceptron), ta sử dụng hàm Sigmoid đƣợc xác định nhƣ sau:
) exp( 1 1 ) ( s s f (6)
Với f(s) là đầu ra của nơron.
Hình 20. Sơ đồ phân lớp âm thanh
Đầu vào của mạng là các vectơ đặc trƣng tƣơng ứng với 17 tham số đặc trƣng đƣợc trích ra từ nội dung của âm thanh. Mạng chứa hai lớp nơron ẩn (không có thành phần nào thuộc đầu ra hay đầu vào của mạng). Các nơron ẩn này cho phép mạng học đƣợc các tác vụ phức tạp bằng cách tăng dần các trích chọn đặc trƣng có ý nghĩa từ các vectơ đầu vào. Số lƣợng các nơron của mỗi lớp ẩn có thể đƣợc chỉ rõ trong các thí nghiệm.
Số nơron trong lớp đầu ra đƣợc xác định bằng số lớp âm thanh mà ta muốn phân lớp. Ví dụ, nếu ta muốn phân lớp âm thanh thành hai lớp âm nhạc và giọng nói thì ta có hai nơron trong lớp đầu ra tƣơng ứng riêng với với âm nhạc và giọng nói. Khi đó, nếu giá trị đầu ra của các nơron đại diện cho âm nhạc lớn hơn thì ta phân lớp âm thanh cho đầu vào là âm nhạc.
Giải thuật nêu trên đƣợc mô tả cụ thể nhƣ sau:
Cách giải quyết cơ bản ban đầu trong việc học là bắt đầu với mạng chƣa huấn luyện, sau đó tập huấn luyện xuất hiện, tới lớp đầu vào, qua các tín
∫ ∫ ∫ ∫ ∫ ∫ ∫ ∫ ∫ ∫
hiệu, xuyên qua mạng và quyết định đầu ra từ lớp đầu ra. Các đầu ra đƣợc so sánh với các giá trị mục tiêu và các giá trị tƣơng ứng khác, tạo ra sai số. Sai số hoặc hàm tiêu chuẩn là một số hàm vô hƣớng của các trọng số và đƣợc giảm tối thiểu khi các đầu ra của mạng thỏa mãn các yêu cầu đầu ra. Ở đây, bộ dữ liệu huấn luyện là một số dữ liệu âm thanh thuộc về một lớp âm thanh nào đó. Với mỗi một nội dung âm thanh, ta tính đƣợc một vectơ đặc trƣng và kết hợp vectơ đặc trƣng với đầu ra yêu cầu. Sau đó, ta có thể đƣa vào dữ liệu âm thanh chƣa đƣợc gán nhãn và phân lớp các dữ liệu này bằng cách dùng mạng huấn luyện.
Mục đích của giải thuật huấn luyện là tập các trọng số trên cơ sở các vectơ huấn luyện và đầu ra yêu cầu, và giảm tối thiểu sai số đã đƣợc xác định rõ bằng sự khác nhau giữa đầu ra của mạng trong bộ dữ liệu huấn luyện nào đó và đầu ra yêu cầu. Đa số sử dụng giải thuật huấn luyện đƣợc chọn là giải thuật BP. Vấn đề chủ yếu trong việc dùng giải thuật BP là vì thông thƣờng, nó dễ dàng tìm đƣợc các tối thiểu mạnh và rất khó tìm đƣợc tối thiểu toàn cục. Điều đó có nghĩa là với việc dùng giải thuật BP, mạng nơron dễ dàng rơi vào phần tối thiểu mạng và khó có thể tìm ra tối thiểu toàn cục.
Giải thuật di truyền cũng đem lại thuận lợi trong việc tìm ra không gian con của tối thiểu toàn cục tiềm năng trong không gian tìm kiếm.
Trong sơ đồ huấn luyện, trƣớc tiên dùng giải thuật di truyền để tạo một quần thể ban đầu của các vectơ trọng số W(0), và chọn một vectơ trọng số ban đầu cho mỗi cá thể, sau đó mỗi cá thể cho phép để học với BP thay cho một số thử nghiệm, và tỷ lệ sai số tại nơi thực hiện nào cùng lúc đó đƣợc xem nhƣ là phù hợp với mỗi cá thể. Giải thuật di truyền dùng chúng để sinh ra một số lƣợng quần thể mới từ vectơ trọng số W(0), và tiếp tục chu trình của