1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng công nghệ nhận diện âm thanh vào nền tảng video trực tuyến

90 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 90
Dung lượng 8,03 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục đích của đề tài ● Nghiên cứu thuật toán Audio Fingerprinting cũng như công nghệ liênquan đến nhận diện âm thanh một cách tối ưu để áp dụng trong côngviệc xét bản quyền nhạc của các s

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

Nguyễn Đắc Thiên Ngân - 18520109

ĐỒ ÁN 2 ỨNG DỤNG CÔNG NGHỆ NHẬN DIỆN ÂM THANH VÀO

NỀN TẢNG VIDEO TRỰC TUYẾN ONLINE VIDEO-SHARING PLATFORM INTEGRATED WITH

MUSIC RECOGNITION

GIẢNG VIÊN HƯỚNG DẪN Thạc sĩ: Trần Anh Dũng

TP HỒ CHÍ MINH, 2021

Trang 2

THÔNG TIN HỘI ĐỒNG CHẤM KHÓA LUẬN TỐT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số

……… ngày ……… của Hiệu trưởng Trường Đại học Côngnghệ Thông tin

2 ……… – Chủ tịch

2 ……… – Thư ký

2 ……… – Ủy viên

2 ……… – Ủy viên

Trang 3

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc Lập - Tự Do - Hạnh Phúc

TP HCM, ngày tháng năm 2021

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận:

Ứng dụng công nghệ nhận diện âm thanh vào nền tảng video trực tuyến

Nhóm sinh viên thực hiện: Cán bộ hướng dẫn:

NGUYỄN ĐẮC

THIÊN NGÂN

18520109 ThS Trần Anh Dũng

Đánh giá Khóa luận:

1 Về cuốn báo cáo:

Số bảng số liệu Số hình vẽ

Số tài liệu tham khảo Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:

2 Về nội dung nghiên cứu:

3 Về chương trình ứng dụng:

4 Về thái độ làm việc của sinh viên:

Trang 4

Đánh giá chung:

Điểm từng sinh viên:

NGUYỄN ĐẮC THIÊN NGÂN: ……… /10

Người nhận xét

(Ký và ghi rõ họ tên)

Trần Anh Dũng

Trang 5

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc Lập – Tự Do – Hạnh Phúc

TP HCM, ngày tháng năm 2021

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP

(CỦA CÁN BỘ PHẢN BIỆN)

Tên khóa luận:

Ứng dụng công nghệ nhận diện âm thanh vào nền tảng video trực tuyến

Nhóm sinh viên thực hiện: Cán bộ phản biện:

NGUYỄN ĐẮC THIÊN

NGÂN

18520109 ThS Trần Anh Dũng

Đánh giá Khóa luận:

1 Về cuốn báo cáo:

Số bảng số liệu Số hình vẽ

Số tài liệu tham khảo Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:

5 Về nội dung nghiên cứu:

6 Về chương trình ứng dụng:

7 Về thái độ làm việc của sinh viên:

Trang 6

Đánh giá chung:

Điểm từng sinh viên:

NGUYỄN ĐẮC THIÊN NGÂN: ……… /10

Người nhận xét

(Ký và ghi rõ họ tên)

Trang 7

LỜI CẢM ƠN

Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại họcCông nghệ Thông tin – ĐHQG TP.HCM chúng em đã được trang bị các kiến thức

cơ bản, các kỹ năng thực tế để có thể hoàn thành Khóa luận tốt nghiệp của mình

Để hoàn thành khóa luận này, chúng em xin gửi lời cảm ơn chân thành đến:

Ban Giám hiệu trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM vì đã tạođiều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tàiliệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin

Chúng em xin gửi lời cảm ơn chân thành đến thầy Trần Anh Dũng đã tận tình giúp

đỡ, định hướng cách tư duy và cách làm việc khoa học Đó là những góp ý hết sứcquý báu không chỉ trong quá trình thực hiện luận văn này mà còn là hành trang tiếpbước cho chúng em trong quá trình học tập và lập nghiệp sau này

Và cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất cả thầy cô trong khoa,bạn bè, tập thể lớp PMCL2018 là những người luôn sẵn sàng sẻ chia và giúp đỡtrong học tập và cuộc sống Mong rằng, chúng ta sẽ mãi mãi gắn bó với nhau

Trong quá trình làm khóa luận này chúng em không tránh khỏi được những sai sót,chúng em kính mong nhận được sự chỉ dẫn và góp ý của quý thầy cô để khóa luậnđược hoàn thiện hơn

Chúng em xin chân thành cảm ơn Xin chúc những điều tốt đẹp nhất sẽ luôn đồnghành cùng mọi người

Thành phố Hồ Chí Minh, … tháng … năm 2021

Sinh viên

NGUYỄN ĐẮC THIÊN NGÂN

Trang 8

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc Lập - Tự Do - Hạnh Phúc

TP HCM, ngày… tháng … năm 2021

ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: Ứng dụng ông nghệ nhận diện âm thanh vào nền tảng video trực

tuyến

TÊN ĐỀ TÀI (TIẾNG ANH): Online video-sharing platform integrated with

music recognition

Cán bộ hướng dẫn: ThS Trần Anh Dũng Thời gian thực hiện: Từ ngày 20/09/2021 đến ngày 20/12/2020 Sinh viên thực hiện: Nguyễn Đắc Thiên Ngân– 18520109 Nội dung đề tài

1 Mục tiêu của đề tài 1.1 Bối cảnh chọn đề tài

Trong những năm gần đây, mạng xã hội đã không còn là một khái niệm xa

lạ với bất kể người già hay trẻ, người bận rộn hay người nhàn rỗi Khingười sử dụng điện thoại càng gia tăng, nhiều ứng dụng giải trí trên điệnthoại cũng ngày được ra mắt rộng rãi Việc giải trí như xem video đang dần

là một thói quen không thể thiếu của giới trẻ, hay bất kể ai thích cầm điệnthoại lướt mạng xã hội Video đang chiếm phần lớn nội dung mà chúng ta

Trang 9

có thể tìm thấy trên mạng xã hội Hơn nữa, với tốc độ gia tăng này, nhu cầu

có thể sẽ tăng hơn nữa

Ai cũng có có thể sáng tạo video với những sự hỗ trợ tiện ích của các ứngdụng chỉnh sửa video Nhưng việc cho phép bất kỳ ai đăng tải video lênmạng xã hội, vấn đề vi phạm bản quyền âm nhạc ngày một nghiêm trọng

Do đó em đã lựa chọn đề tài này để hướng đến việc giải quyết vấn đề này

1.2 Mục đích của đề tài

● Nghiên cứu thuật toán Audio Fingerprinting cũng như công nghệ liênquan đến nhận diện âm thanh một cách tối ưu để áp dụng trong côngviệc xét bản quyền nhạc của các sản phẩm video được đăng tải

● Xây dựng và phát triển ứng dụng web có tính thực tiễn cao giúp thỏamãn những người có nhu cầu chia sẻ video

1.3 Ý nghĩa của đề tài

Về ý nghĩa đối với người dùng:

● Giúp việc đăng tải, chia sẻ video trở nên dễ dàng hơn

● Giúp hạn chế việc sáng tạo nội dung video khi chưa có sự cho phép sửdụng bản quyền âm nhạc

Về ý nghĩa đối với cá nhân nhóm em:

● Đề tài này tạo động lực giúp em tìm hiểu và trau dồi những kiến thứcmới liên quan đến nhận diện âm thanh và được ứng dụng kiến thứcđược học vào việc xây dựng một trang web chia sẻ video

● Việc xây dựng ứng dụng với các công nghệ VueJS, NodeJS giúp tíchlũy thêm kinh nghiệm trong công việc sau này của em

Trang 10

1.4 Nhiệm vụ của đề tài

Website chia sẻ video trực tuyến WatchOut:

● Đăng tải video (Có kiểm duyệt nhạc trong video)

● Tương tác: Thích / Không thích, Bình luận, Chia sẻ

● Quản lý video

● Tìm kiếm video

● Đăng ký / Đăng nhập / Đăng xuất

● Chỉnh sửa thông tin cá nhân

3 Đối tượng nghiên cứu

● Các công nghệ xây dựng trang web:

● VueJS

● NodeJS

● Sqlite3

● Các công nghệ nhận diện âm thanh:

● Phương pháp fingerprint phân tách âm thanh

● Thư viện ACRCloud hỗ trợ việc nhận diện âm thanh từ bản ghiâm

● Đối tượng người dùng:

● Người sáng tạo nội dung

Trang 11

● Người thưởng thức nội dung

4 Phương pháp nghiên cứu

Nhóm đã sử dụng các phương pháp nghiên cứu:

- Phương pháp đọc tài liệu

- Phương pháp phân tích các ứng dụng chia sẻ video hiện có

- Phương pháp thực nghiệm

5 Kết quả dự kiến

Sau khi xác định đề tài và nghiên cứu, tìm hiểu thực tế, nhóm đã xâydựng ý tưởng thiết kế ứng dụng thương mại điện tử cần đạt được những mụctiêu sau:

5.1 Đối với người dùng

● Người dùng có thể tìm kiếm và xem video mà không cần tài khoảnđăng nhập

● Sau khi đăng nhập, người dùng có thể:

● Tương tác video như thích, bình luận, chia sẻ video

● Lựa chọn video từ thiết bị và đăng tải video đã chọn

● Video đã đăng tải sẽ được duyệt bản quyền, nếu không đượcduyệt sẽ có thông báo đến người dùng

5.2 Hệ thống nhận diện âm thanh

● Việc xử lý tách âm thanh từ video cũng như phải được xử lý nhanhchóng và đạt hiệu quả

● Việc nhận diện âm thanh bản quyền phải có kết quả đánh giá và so sánh

về kết quả đạt được có hoàn thiện hay chưa

5.3 Các tiêu chí khác

Trang 12

8 Hướng phát triển của đề tài:

Nếu tiến độ công việc đạt được như mong đợi, sẽ mở rộng thêm các tínhnăng đặc biệt như:

● Hỗ trợ thêm tính năng Video Editing như thêm filter, text, stickers,

● Cung cấp thêm tính năng CC tự động và cho phép custom phụ đề, hỗtrợ hiệu ứng đặc sắc hơn các nền tảng khác

● Tìm kiếm video bằng giọng nói

Ngoài ra nếu web đã hoàn thiện thì sẽ mở rộng thêm trên ứng dụng diđộng, sử dụng React Native hỗ trợ cross-platform thu hút thêm cả ngườidùng Android và IOS

9 Kế hoạch làm việc:

Thời gian thực hiện từ 20/09/2021 tới 20/12/2021

Nhóm chia thành 2 giai đoạn cụ thể:

Giai đoạn 1: Xây dựng hệ thống Back-end và tìm hiểu công nghệ nhận diện âm

thanh

Giai đoạn này gồm 5 sprint (Thời gian: 20/9/2021 – 8/11)

Trang 13

Sprint Công việc

Tìm hiểu NodeJS và thư viện ACRCloud

Tìm hiểu cách tích hợp ACRCloud vào NodeJS3

(5/10 - 17/10)

Tìm hiểu ffmpeg để xử lý videoTìm hiểu AWS, S3 (Simple Storage Service)Tìm hiểu tích hợp AWS S3 khi sử dụng NodeJSThiết kế cơ sở dữ liệu

4

(18/10 - 26/10)

Thiết kế codebase, cấu trúc thư mụcXây dựng API cho các tính năng:

● Đăng tải video

● Tách âm thanh từ video

● Xử lý nhận diện âm thanh5

● Thêm / Xóa / Sửa video

Giai đoạn 2: Hoàn thiện giao diện website WatchOut

Giai đoạn này gồm 3 sprint:

Trang 14

Sprint Công việc

(27/11-1/12)

Gọi api cho các giao diện như:

● Hiển thị video

● Tương tác videoLazy loading cho việc trang chủ giúp tối ưu việc hiển thịvideo

Fix một số bug khi upload video và nhận diện âm thanh8

(1/12 - 10/12)

Xây dựng giao diện cho các tính năng:

● Thông tin cá nhân

● Quản lý video (Đăng tải / Xóa / Sửa video)9

(10/12 - 20/12)

Kiểm thử và sửa lỗi

Hoàn thiện và báo cáo

Xác nhận của CBHD

(Ký tên và ghi rõ họ tên)

TP HCM, ngày 25 tháng 12 năm2021

Trang 15

MỤC LỤC

Tầng logic dữ liệu – Model 16

Mô hình MVC trong ứng dụng Web 16

Tạo sao chọn Nodejs để phát triển server 18

Hệ quản trị cơ sở dữ liệu MongoDB 19

Amazon Simple Storage Service 20

Vòng đời của VueJS (Vuejs Lifecycle) 26

TÌM HIỂU VÀ LỰA CHỌN CÔNG NGHỆ NHẬN DIỆN ÂM THANH 30

Trang 16

Cách não bộ xử lý âm thanh 30Giới thiệu tổng quan về âm thanh 30

Thuật toán Audio Fingerprinting 32

Usecase Chỉnh sửa thông tin cá nhân 55

Trang 17

Giao diện chỉnh sửa thông tin video 74

Giao diện đăng tải video 76Giao diện chọn video từ máy tính 76Giao diện điền thông tin video 77Giao diện quản lý người dùng 79Giao diện cấm người dùng 80

Trang 18

TÀI LIỆU THAM KHẢO 83

Trang 19

Chương 1 GIỚI THIỆU CHUNG

1.1 Lý do chọn đề tài

Những năm gần đây Internet đã góp phần ảnh hưởng không nhỏ đến đời sống củamỗi người Trong đại dịch Covid-19, việc kết nối giữa người với người trực tiếpngày càng trở nên hạn chế do đó nhu cầu sử dụng mạng xã hội trực tuyến ngày cànggia tăng Không dừng ở đó, các ứng dụng giải trí cũng được rất nhiều người dùngyêu thích bởi sự giải tỏa áp lực căng thẳng khỏi những khó khăn tồn đọng trongmùa dịch Trên thị trường ứng dụng ngày nay, các ứng dụng chia sẻ video trựctuyến ngày một nhiều và có chỗ đứng không nhỏ khi tính năng ngày càng đa dạngphong phú Do đó, nhóm chúng em lựa chọn việc xây dựng trang web chia sẻ videotrực tuyến kết hợp với việc có ứng dụng nhận diện âm thanh ở tính năng check bảnquyền âm nhạc trong video

1.2 Tính năng mới/ khác biệt

Sau khi tham khảo một số ứng dụng chia sẻ video hiện nay nhóm nhận thấy cácvấn đề sau:

- Nhận diện bản quyền âm nhạc

Hiện nay vấn nạn ăn cắp bản quyền đang trở nên ngày càng nghiêm trọng hơn Mộtphần nguyên nhân bắt nguồn từ việc âm nhạc được tải xuống quá dễ dàng, điều này

dễ dẫn đến tổn thất rất lớn đến người sở hữu bản quyền âm nhạc đó

Do đó ứng dụng của em mong muốn có thể nhận diện bản quyền âm nhạc từ videongười dùng đăng tải Từ đó ứng dụng sẽ tiếp nhận việc cho phép đăng tải video bảnquyền hay không, và nếu có thì vẫn giúp người xem nhận biết được bài hát được sửdụng trong video bắt nguồn từ đâu

Trang 20

- Trải nghiệm người dùng

Các ứng dụng tương tự trên thị trường hiện nay thường sẽ nhắm đến thị trường trênđiện thoại là chính, chưa tối ưu hóa trải nghiệm trên web (trừ một số trang web nhưYoutube) Đồ án em sẽ hướng đến việc cải thiện điều này

Từ đó nhóm quyết định thực hiện ứng dụng chia sẻ video trực tuyến với đầy đủchức năng cơ bản như đăng tải, thích, bình luận video,

Về phần giao diện: Nhóm kết hợp cách thiết kế layout của Youtube và Tiktok giúpngười dùng cảm thấy thân quen về dễ sử dụng Tối giản những thao tác phức tạpđem lại trải nghiệm người dùng tốt hơn

Về phần chức năng: Kết hợp và tối ưu việc xử lý video khi đăng tải cũng như nhậndiện bản quyền một cách hoàn thiện hơn

1.3 Đối tượng nghiên cứu

Khóa luận này hướng đến nghiên cứu các đối tượng sau:

- Các công nghệ:

+ Front-end: VueJS

+ Back-end: Node.js

+ Database: MongoDB

+ Thuật toán Audio Fingerprinting và api ACR Cloud

+ IDE: Visual Studio Code

- Đối tượng trong phạm vi đề tài hướng đến:

+ Người sáng tạo nội dung video

+ Người xem video, thích học hỏi từ các nội dung video

Trang 21

− Làm việc nhóm 1 thành viên thông qua cả 2 phương thức online và offline dưới

sự hướng dẫn của giảng viên hướng dẫn

Phương pháp nghiên cứu:

− Phân tích nhu cầu sử dụng của đối tượng người dùng

− Nghiên cứu tài liệu các công nghệ liên quan

− Phương pháp thực nghiệm

Phương pháp công nghệ:

− Tìm hiểu Audio Fingerprinting và api ACR Cloud

− Xây dựng RESTful API để thao tác với dữ liệu

− Xây dựng website hỗ trợ tương tác giữa người dùng và hệ thống

Trang 23

Tầng logic dữ liệu – Model

Tầng Model là trung gian giữa ứng dụng và hệ quản trị cơ sở dữ liệu đểcung cấp và quản lí mô hình và các thao tác lên dữ liệu Thông thường, tầng Model

sẽ kết nối với một hoặc nhiều cơ sở dữ liệu để thực hiện các thao tác lên dữ liệu

Tầng giao diện – View

Thể hiện giao diện người dùng, là thành phần giao tiếp giữa người dùng(user) và ứng dụng (application)

2.1.3 Mô hình MVC trong ứng dụng Web

Với sự phát triển của các công nghệ xây dựng web ở cả Frontend vàBackend, các nhà phát triển có thể xây dựng và phát triển ứng dụng web một cáchđộc lập nhưng vẫn đảm bảo được tính kiến trúc của ứng dụng

Trang 24

- Tầng giao diện người dùng (View) sẽ được phát triển độc lập ở phía client

sử dụng các công nghệ Frontend như VueJS, ReactJS, … Nói cách khác,client sẽ được chạy trên 1 server độc lập và có thể tương tác với phía servercủa backend

- Tầng xử lí (Controller) và logic dữ liệu (Model) sẽ được phát triển độc lập

ở phía server sử dụng các công nghệ Backend như ExpressJS, DotNetCore,Flank, …

Sau khi hoàn thành việc phát triển, client sẽ cung cấp 1 bản build hoàn chỉnh đểthêm vào phía Server Người dùng sẽ yêu cầu thành phần giao diện thông quarequest gửi đến Server

2.2 Tổng quan về Nodejs

2.2.1 Giới thiệu

Trang 25

NodeJS là một môi trường thực thi mã nguồn mở của Javascript Hiện nay NodeJS rất phổ biến và được sử dụng trong rất nhiều project có quy mô lớn và nhỏkhác nhau.

-Đặc trưng của NodeJS

Mỗi ứng dụng NodeJS chạy trên một process đơn và không tạo thêm luồngmới cho mỗi request Đây cũng là điểm khác biệt của NodeJS so với các môi trường

thực thi khác như DotNetCore, … Thay vào đó, NodeJS sử dụng cơ chế bất đồng

bộ I/O (non-blocking I/O) để quản lý các request thay vì block chúng nhằm giảm

thiểu việc tốn tài nguyên xử lý Nhờ vào cơ chế này, NodeJS có thể xử lý hàng ngànkết nối đồng thời với 1 server duy nhất mà không cần nhà phát triển phải bỏ côngsức và thời gian để quản lý các luồng

2.2.2 Tạo sao chọn Nodejs để phát triển server

- Nodejs giúp các ứng dụng có tốc độ xử lý nhanh

- Nodejs có cơ chế non-blocking I/O làm ứng dụng nhẹ nhưng hiệu quả

- NodeJS có thể hoạt động đa nền tảng do đó rất tiện lợi cho việc phát triểnứng dụng nói chung

- NodeJS sử dụng Javascript, ngôn ngữ lập trình được hàng triệu nhà phát triển

sử dụng Có nhiều thư viện và framework mã nguồn mở hỗ trợ mạnh mẽ choviệc phát triển

Trang 26

2.3 Hệ quản trị cơ sở dữ liệu MongoDB

2.3.1 Giới thiệu

Hình 2.3.1-1 So sánh mức độ phổ biến của MongoDB

Hệ quản trị cơ sở dữ liệu MongoDB là một mã nguồn mở NoSQL Thay vì

sử dụng các bảng và hàng như trong các cơ sở dữ liệu truyển thống, MongoDB sử

dụng collection và document.

Đặc điểm của MongoDB:

− Khác với SQL, MongoDB không cần định nghĩa sẵn các schema, các trường cóthể được thêm vào trực tiếp

− Document:

+ Mỗi document sẽ có dạng là các cặp key-value (tương tự như JSON) Cácdocument có thể có các key-value, kích thước, và nội dung khác nhau(Không cố định như SQL)

+ Mỗi trường có thể lưu trữ nhiều loại kiểu dữ liệu từ đơn giản (nhưnumber, string) đến phức tạp (Object, Array, …)

− Collection: Mỗi collection sẽ chứa nhiều Document và các phương thức hỗ trợ

thao tác lên dữ liệu

Trang 27

2.3.2 Ưu điểm của MongoDB

− MongoDB lưu trữ dữ liệu dễ dàng, linh hoạt và dễ dàng mở rộng vì dữ liệu trongMongoDB không có sự ràng buộc lẫn nhau

− MongoDB có tốc độ truy vấn nhanh hơn so với các cơ sở dữ liệu quan hệ

− MongoDB có khả năng mở rộng tốt thông qua các cluster.

2.4 Amazon Simple Storage Service

2.4.1 Giới thiệu AWS

Vào năm 2006, Amazon Web Services (AWS) bắt đầu cung cấp các dịch vụ

cơ sở hạ tầng CNTT cho các doanh nghiệp dưới hình thức dịch vụ web - nay thườngđược gọi là điện toán đám mây Một trong những lợi ích chính của điện toán đámmây là cơ hội thay thế chi phí cơ sở hạ tầng trả trước bằng các khoản phí không cốđịnh ở mức thấp có khả năng thay đổi quy mô theo hoạt động kinh doanh của bạn.Với Đám mây, doanh nghiệp không còn cần phải lên kế hoạch và mua máy chủcũng như các cơ sở hạ tầng CNTT khác trước nhiều tuần hay nhiều tháng Thay vào

đó, họ có thể ngay lập tức đăng ký hàng trăm hoặc hàng nghìn máy chủ chỉ trongvài phút và mang lại kết quả nhanh hơn

Một trong những lợi ích chính của điện toán đám mây là giảm thiểu chi phí

cơ sở hạ tầng trả trước bằng các khoản phí không cố định ở mức thấp, có khả năngthay đổi theo quy mô hoạt động kinh doanh Doanh nghiệp không còn cần phải lên

kế hoạch và mua máy chủ cũng như các cơ sở hạ tầng CNTT khác trước nhiều tuầnhay nhiều tháng Thay vào đó, họ có thể ngay lập tức đăng ký hàng trăm hoặc hàngnghìn máy chủ chỉ trong vài phút và mang lại kết quả nhanh hơn

Để giảm thiểu việc bị mất điện đột ngột và đảm bảo tính mạnh mẽ của hệthống, AWS đa dạng về địa lý theo khu vực Các khu vực này có trung tâm ở Hoa

Kỳ, châu Âu, Brazil, Singapore, Nhật Bản và Úc Mỗi khu vực bao gồm nhiều khuvực địa lý nhỏ hơn

Trang 28

AWS cung cấp 3 cách để tạo và quản lý tài nguyên:

- AWS Management Console

- AWS CLI

- AWS SDKs

Tất cả đều tham chiếu đến API AWS

- Dễ dàng triển khai và mở rộng giải pháp công nghệ phần mềm

2.4.2 Giới thiệu S3

Amazon S3 (Amazon Simple Storage Service) là dịch vụ lưu trữ đối tượngđược xây dựng để lưu trữ và truy xuất dữ liệu với khối lượng bất kỳ từ bất cứ nơinào trên Internet Đây là dịch vụ lưu trữ đơn giản có độ bền, độ sẵn có, hiệu suất,tính bảo mật, và khả năng thay đổi quy mô gần như không giới hạn với chi phí cực

kỳ thấp Điều này cho phép các tổ chức tránh mua phần cứng và thanh toán cho các

Trang 29

lưu trữ các trang web lưu lượng truy cập cao, hoặc sao lưu dữ liệu trang web theonhững khoảng thời gian đều đặn.

Ví dụ: Nếu bạn muốn lưu trữ cho một trang web cho doanh nghiệp của mình bạn cóthể lưu trữ các tập tin và assets tại Amazon S3 để thu hồi nhanh hơn và chi phí lưutrữ thấp hơn Nó cũng cho phép bạn có thể ghi lại các thay đổi và có thể rollbackđến một phiên bản trước đó bất cứ khi nào cần Amazon S3 rất dễ sử dụng và cungcấp nhiều cách khác nhau để được truy cập và quản lý Nó cung cấp các API dịch

vụ web REST và SOAP để lưu trữ, truy xuất và quản lý dữ liệu

2.4.3 Mục đích sử dụng

- Tính ổn định:

Nó được thiết kế để chịu được các hỏng hóc và phục hồi hệ thống rất nhanh với thờigian tối thiểu Amazon cung cấp một thỏa thuận cấp dịch vụ (service-levelagreement – SLA) để duy trì tính sẵn sàng ở mức 99.99 phần trăm

- Đơn giản:

Dễ dùng S3 được xây dựng trên các khái niệm đơn giản và cung cấp tính mềm dẻocao cho việc phát triển các ứng dụng của bạn Bạn có thể xây dựng các lược đồ lưutrữ phức tạp hơn, nếu cần, bằng cách thêm các hàm vào các thành phần của S3

- Tính mở rộng:

Thiết kế của S3 cung cấp một cấp độ cao về tính mở rộng và cho phép sự điều chỉnh

dễ dàng trong dịch vụ khi lượng truy cập vào ứng dụng web của bạn tăng đột biếnvới lưu lượng khổng lồ

- Chi phí rẻ

Chi phí sử dụng S3 rất cạnh tranh với các giải pháp của công ty và cá nhân kháctrên thị trường (Chỉ từ 0,021 – 0,023 USD/GB/Tháng)

Trang 30

2.4.4 Các khái niệm cần biết

Để hiểu về Amazon S3, bạn cần nắm 1 số khái niệm cơ bản Amazon S3 lưu trữ dữliệu như các object trong các bucket

Object

Một object bao gồm key, version ID, value, metadata và sub resources (tuỳ chọn)

- Key: Tên mà bạn gán cho một object Bạn sử dụng key để truy xuất đốitượng

- Version ID: Trong một bucket, key và version ID để xác định duy nhất mộtobject Version ID là một chuỗi mà Amazon S3 tạo ra khi bạn thêm mộtobject vào một bucket

- Value: Nội dung mà bạn đang lưu trữ Giá trị đối tượng có thể là bất kỳ chuỗibyte nào Các đối tượng có thể có kích thước từ 0 đến 5 TB

- Metadata: Một tập hợp các cặp name-value mà bạn có thể lưu trữ thông tin

về object Bạn có thể gán metadata, được gọi là user-defined metadata, chocác đối tượng của mình trong Amazon S3 Amazon S3 cũng chỉ địnhsystem-metadata hệ thống cho các đối tượng mà nó sử dụng để quản lý cácđối tượng này

- Sub resources: Amazon S3 sử dụng cơ chế sub-resource để lưu trữ thông tin

bổ sung về đối tượng cụ thể Bởi vì sub-resource là cấp dưới của các object,chúng luôn được liên kết với một số thực thể khác như một object hoặc mộtbucket

Trang 31

Mỗi một tài khoản chỉ tạo được tối đa là 100 buckets, và Bucket có tên làduy nhất và đặt tên nó nên tuân theo luật sau:

- Bucket có thể chứa các ký tự như chữ cái, hoặc số, dấu gạch dưới ( _ ), dấuchấm, dấu phẩy hoặc dấu gạch trên (-)

Trang 32

2.5 VueJS

2.5.1 Giới thiệu

VueJS là một frontend framework linh động hỗ trợ xây dựng giao diện ngườidùng Khác với các framework khác, VueJS được thiết kế với khả năng phát triểnliên tục Thư viện chính của VueJS chỉ tập trung vào tầng view, do đó VueJS rất dễhọc và có khả năng tích hợp cao với các thư viện khác

VueJS được tạo ra bởi Evan You vào tháng 2/2014 Tới thời điểm hiện tại,

VueJS đã qua 3 phiên bản Phiên bản mới nhất (Vue3) được ra mắt vào 18/9/2020 với khả năng tối ưu hóa và scale cao so với Vue2.

VueJS giới thiệu khác niệm Single File Component Mỗi file (có đuôi là vue) sẽ

bao hàm toàn bộ đặc điểm của component bao gồm kết cấu giao diện, logic và style

Trang 33

2.5.2 Vòng đời của VueJS (Vuejs Lifecycle)

Mỗi component của Vue sẽ có 1 vòng đời bao gồm các giai đoạn khác nhau(khởi tạo, render, cập nhật, hủy, …) Tại mỗi giai đoạn của vòng đời sẽ có các hook

mà nhà phát triển có thể can thiệp để tối ưu hóa component

Trang 36

2.5.3 Ưu nhược điểm của VueJS

Ưu điểm

- Kích thước nhỏ: VueJS có kích thước rất nhỏ so với các framework khác.Qua đó giảm thiểu kích cỡ download của client và tăng hiệu suất của ứngdụng

- Virtual DOM Renderding: VueJS cung cấp 1 cây DOM (Document ObjectModel) ảo hỗ trợ cập nhật và render các phần tử HTML một cách hiệu quảhơn

- Two-way data binding: VueJS hỗ trợ binding dữ liệu 2 chiều (tương tự nhưAngular), qua đó giúp quản lý và theo dõi sự thay đổi của dữ liệu và khảnăng cập nhật tự động của component

- Single File Component

Trang 37

Chương 3 TÌM HIỂU VÀ LỰA CHỌN CÔNG NGHỆ NHẬN DIỆN

ÂM THANH

3.1 Giới thiệu về âm thanh

3.1.1 Cách não bộ xử lý âm thanh

Não bộ chúng ta đã phát triển việc phân loại và truy cập những data trongquá khứ một cách vô cùng hiệu quả Nếu suy nghĩ theo một cách ngây ngô nhất, đểnhận diện âm thanh não bộ chúng ta sẽ lấy âm thanh nghe được và so sánh với từng

âm thanh đã từng nghe trước đó

Nhưng không, não bộ đã xử lý bằng cách kết hợp đặc biệt của những hợp âm

đã nghe được để kích hoạt một số neurons thần kinh giúp mở khóa những dữ liệu đãnghe trong quá khứ (hay còn gọi là historical data)

3.1.2 Giới thiệu tổng quan về âm thanh

Như vậy làm sao máy tính ta có thể nhận diện âm thanh được như não bộ?

Đó là khi ta cần tìm hiểu việc lưu trữ dữ liệu âm thanh như thế nào trên máy tính

Âm thanh là tín hiệu liên tục, là một dạng dữ liệu phi cấu trúc trong khi đómáy tính chỉ làm việc với các con số rời rạc Hai đặc trưng cơ bản của âm thanh là

độ lớn và tần số Độ lớn biểu thị cho năng lượng của âm thanh phát ra còn tần sốcàng lớn thì cao độ càng cao hay tỉ lệ rung càng cao

Có một điểm đặc biệt khi não bộ nhận diện âm thanh, đó là dù cho âm thanh

đó có được sử dụng bằng nhạc cụ khác như guitar hay piano thì ta vẫn nhận diệnđược bài hát đấy Mỗi một nhạc cụ có sự kết hợp riêng biệt và sự biến tấu của

những âm bội này tạo ra những âm thanh riêng biệt Vậy nên chúng ta có thể dễdàng phân biệt bài hát được thực hiện bởi piano hay guitar

Trang 38

Để ghi lại tín hiệu âm thanh thì không thể lưu hết các tần số theo trục thờigian mà thay vào đó trong khoảng thời gian t người ta sẽ ghi lại tín hiệu âm thanhmột lần Kỹ thuật đó gọi là lấy mẫu âm thanh - sampling of audio data và tần sốthực hiện lấy mẫu gọi là sample rate.

Tuy nhiên việc biểu diễn âm thanh theo miền thời gian rất khó trích xuất cácthông tin đặc trưng cho âm thanh đó Vậy nên cần biểu diễn theo miền tần số để biếttrong khoảng thời gian có những tần số nào và giao động như thế nào Và để làmđược điều đó người ta sử dụng Fourier Transform (biến đổi Fourier) Để đẩy nhanhtốc độ tính toán người ta cũng hay sử dụng FFT (Fast Fourier Transform)

Kết quả ta thu được 1 phổ năng lượng âm thanh với trục y là tần số, dài màu

là mức năng lượng cho tần số đó Hay còn gọi là spectrogram

3.2 Spectrogram

Spectrogram là một cách trực quan để biểu thị cường độ tín hiệu, hoặc độlớn, của tín hiệu theo thời gian ở các tần số khác nhau hiện diện trong một dạng

Trang 39

sóng cụ thể Nói cách khác, đây là sự thể hiện của âm thanh dưới dạng biểu đồ 3Dvới thời gian (Ox), tần số (Oy), độ lớn (Oz)

Bất kỳ âm thanh nào cũng có thể chuyển thành một spectrogram cả Đây làthứ mà một máy tính có thể chắc chắn hiểu được và có thể lưu trữ dưới dạng dữ liệuđược

Nhưng có một lượng lớn dữ liệu bên trong một spectrogram như vậy và khinhiều dữ liệu thì càng tốn thêm nhiều thời gian tính toán để tìm ra kết quả phù hợp.Vậy nên đầu tiên chúng ta phải làm sao giảm thời gian tính toán đi, đồng nghĩa vớiviệc giảm lượng data cần thiết

3.3 Thuật toán Audio Fingerprinting

Vào năm 2003, Shazam - một ứng dụng miễn phí có thể giúp bạn nhận diệngiai điệu của một bài hát bất kỳ - đã tiết lộ thuật toán nhận diện âm thanh của họ

Vốn dĩ fingerprint - vân tay được sử dụng cho các công nghệ sinh trắc họcnhận dạng vân tay Bạn sẽ không khó để bắt gặp các thiết bị sử dụng công nghệ nàynhư máy chấm công vân tay Khóa cửa vân tay, khóa két vân tay, hệ thống kiểm soát

ra vào bằng vân tay Điện thoại di động thông minh đơn giản bởi vì công nghệ này

có rất nhiều ưu điểm so với các công nghệ nhận dạng khác

Tính bảo mật cao là ưu điểm nổi trội của công nghệ nhận dạng vân tay Nóđược sử dụng rất nhiều trong các hệ thống đảm bảo an ninh Mỗi dấu vân tay gầnnhư là duy nhất (tỷ lệ trùng dấu vân tay là 1/64 tỷ dấu vân tay) Và với đặc tính này

nó cho thấy khả năng bảo mật bằng dấu vân tay Của công nghệ này cao đến mứcnào

Quay lại với Audio fingerprinting, họ cũng tuân theo nguyên lý tương tự.Audio fingerprint chính là một bản tóm tắt cô đọng dưới dạng âm thanh của âmthanh mà có thể xác định âm thanh tương tự trong cơ sở dữ liệu một cách nhanhchóng

Trang 40

Đầu tiên, họ chuyển spectrogram trở thành một biểu đồ nhìn như một bản đồngôi sao Mỗi một chấm (ngôi sao) chính là những tần số cao nhất tại một thời điểmnhất định Bằng cách này, chúng ta không chỉ giảm từ đồ thị 3D xuống 2D mà tacòn giảm đáng kể những data points trên đồ thị Đây là phần quan trọng đầu tiêntrong công nghệ của Shazam Mỗi một bài hát trong Shazam database được lưu trữdưới dạng fingerprint như vầy.

Khi bạn mở đt và nhấn nút Shazam, ứng dụng truy cập vào micro của bạn vàbắt đầu tạo ra fingerprint của sóng âm nó nhận được Phương pháp này giúp appShazam có thể lọc ra tiếng ồn bởi vì nó chỉ tạo data points cho các tần số riêng biệt(stand-out frequencies) Sau khi app đã tạo ra fingerprint cho audio của bạn, nó sẽgửi về server xử lý việc nhận diện

Việc so sánh từng đoạn fingerprint nhận được với tất cả các fingerprint cótrong database không hiệu quả, rất tốn thời gian và tài nguyên

Nên Shazam đã nghĩ ra cách đó chính là không chỉ so sánh 1 note mà so sánh nhiềunote trong một thời gian cụ thể (như cách não bộ chúng ta vậy)

Họ xây dựng danh mục fingerprint của họ dưới dạng bảng băm (hash table)trong đó khóa là tần số Nhưng khóa đó không là một tần số mà là một hash củanhiều tần số Việc này càng giúp giảm việc đụng độ (trùng khóa) và cải thiện đáng

kể hiệu năng trong bảng băm

Ngày đăng: 08/03/2022, 21:38

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w