1. Trang chủ
  2. » Cao đẳng - Đại học

Tìm hiểu về midi và xây dựng ứng dụng hỗ trợ học piano trên nền tảng android

69 16 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 69
Dung lượng 1,92 MB

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

Nội dung

Phạm vi nghiên cứu - Tập trung tìm hiểu các lý thuyết âm nhạc và phương pháp tiếp cận với việc học âm nhạc từ mức độ cơ bản đến nâng cao - Tìm hiểu về các công nghệ bổ trợ cho việc xây

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

K’LONG – 17520707 TRẦN XUÂN LIÊM – 17520680

KHÓA LUẬN TỐT NGHIỆP TÌM HIỄU VỀ MIDI VÀ XÂY DỰNG ỨNG DỤNG HỖ TRỢ HỌC PIANO TRÊN NỀN TẢNG ANDROID Research Midi and build an application supporting for learning

Piano on Android platform

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP HỒ CHÍ MINH, 2021

Trang 2

ĐẠ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

K’LONG – 17520707 TRẦN XUÂN LIÊM – 17520680

KHÓA LUẬN TỐT NGHIỆP TÌM HIỄU VỀ MIDI VÀ XÂY DỰNG ỨNG DỤNG HỖ

TRỢ HỌC PIANO TRÊN NỀN TẢNG ANDROID Research Midi and build an application supporting for learning

Piano on Android platform

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN THS THÁI THỤY HÀN UYỂN

Trang 3

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ông nghệ Thông tin

1 ……… – Chủ tịch

2 ……… – Thư ký

3 ……… – Ủy viên

4 ……… – Ủy viên

Trang 4

LỜI CẢM ƠN

Lời đầu tiên chúng em xin gửi lời cảm ơn chân thành và tri ân sâu sắc đến toản bộ ban giám hiệu, quý thầy cô cũng như tất cả các cán bộ và nhân viên đã và đang công tác tại

trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM vì đã tạo điều kiện, dẫn dắt và

trang bị cho chúng em những kiến thức quý báu để có thể hoàn thành khóa luận tốt nghiệp này

Đặc biệt, chúng em xin gửi lời cảm ơn và lòng biết ơn sâu sắc tới cô Thái Thụy Hàn Uyển, người đã dẫn dắt giúp đỡ và tạo điều kiện để chúng em có thể hoàn thành tốt khóa luận của mình Cám ơn cô vì những chỉ bảo tận tình trong suốt thời gian qua đã giúp cho khóa luận của chúng em ngày càng hoàn thiện hơn

Chúng em cũng chân thành cảm ơn các thầy cô trong hội đồng chấm luận văn đã cho chúng

em những đóng góp quý báu để luận văn thêm hoàn thiện hơn

Bên cạnh đó chúng em cũng cảm gia đình, bạn bè đã luôn sẵn sàng giúp đỡ chúng em trong việc học và cuộc sống

Lời cuối chúng em xin chúc mọi người, tập thể cán bộ nhà trường, quý thầy cô sẽ luôn thật nhiều sức khỏe, gặp thật nhiều may mắn và thành công trên con đường của mình

TP.Hồ Chí Minh, 24 tháng 06 năm 2021 Nhóm thực hiện

K’Long –Trần Xuân Liêm

Trang 5

ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: (tiếng Việt): Tìm hiểu về Midi và xây dựng ứng dụng hỗ trợ học Piano trên

nền tảng Android

TÊN ĐỀ TÀI: (tiếng Anh): Research Midi and build an application supporting for learning

Piano on Android platform

Cán bộ hướng dẫn: ThS Thái Thụy Hàn Uyển

Thời gian thực hiện: Từ ngày 8/03/2021 đến ngày 26/06/2021

Sinh viên thực hiện:

1 K’ Long - 17520707

2 Trần Xuân Liêm - 17520680

- Nội dung đề tài:(Mô tả chi tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện,

kết quả mong đợi của đề tài)

1 Mục tiêu của đề tài

1.1.Bối cảnh chọn đề tài

Từ trước tới nay, âm nhạc vẫn luôn là một lĩnh vực quan trọng và gắn liền với đời sống của con người, chính vì thế việc phát triển âm nhạc luôn được quan tâm Ngày nay trong bối cảnh công nghệ ngày càng phát triển, việc kết hợp giữa công nghệ và âm nhạc được đẩy mạnh, kết quả đó là sự ra đời của các ứng dụng, phần mềm sản xuất nhạc tiên tiến và hiện đại

Ở một khía cạnh khác, việc tự học một nhạc cụ là một sự nỗ lực rất lớn của học viên bởi tự học một nhạc cụ mới không hề dễ, và việc tiếp cận các phương pháp học tập một cách hiệu quả là một việc cực kì quan trọng Đứng ở góc độ này, ý tưởng tạo

ra một ứng dụng giúp cho việc học nhạc trở nên dễ dàng hơn được hình thành Đó là

sự kết hợp của yếu tố công nghệ và các lý thuyết âm nhạc, giúp học viên có cách tiếp

Trang 6

cận phù hợp và hiệu quả nhất Chính vì thế nhóm em quyết định thực hiện đề tài này

1.2 Mục tiêu

- Tìm hiểu các công nghệ liên quan đến quá trình xây dựng một ứng dụng về âm

nhạc và đồng thời áp dụng được các công nghệ đó vào một ứng dụng thực tế

- Xây dựng được ứng dụng có thể hỗ trợ tốt cho mọi người (ở các độ tuổi) có thể

tự học được nhạc cụ (cụ thể là nhạc cụ Piano) với các nền tảng căn bản về cả lý

thuyết âm nhạc và thực hành

2 Phạm vi nghiên cứu

- Tập trung tìm hiểu các lý thuyết âm nhạc và phương pháp tiếp cận với việc học âm nhạc

từ mức độ cơ bản đến nâng cao

- Tìm hiểu về các công nghệ bổ trợ cho việc xây dựng ứng dụng liên quan đến âm nhạc (Midi và một số công nghệ khác)

- Xây dựng ứng dụng trên nền tảng Android hướng đến đối tượng người dùng có sở thích

và đam mê học nhạc

2.1 Các tính năng chính:

• Cho phép kết nối điện thoại Android với Midi device

• Mô phỏng bàn phím piano và chơi piano theo thời gian thực

• Thay đổi âm sắc Piano theo các loại khác nhau

• Thu âm và lưu trữ các bản nhạc được chơi theo dạng midi

• Đọc và hiển thị nốt các bản nhạc được thu âm

• Hiển thị các nốt được chơi theo thời gian thực

• Học nốt và hợp âm cơ bản

2.2 Các tính năng mở rộng:

• Nhận diện hợp âm được chơi theo thời gian thực (có kết nối Midi)

• Nhận diện các nốt trên đàn Piano thật (không qua Midi connection)

• Nhận diện hợp âm được chơi trên đàn Piano thật (không qua Midi connection)

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

- Các công nghệ:

+ Android Java

+ SQLite

Trang 7

+ Midi (Musical Instrument Digital Interface)

+ Audio Processing

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

+ Người dùng đam mê âm nhạc

+ Các trung tâm dạy nhạc

4 Phương pháp thực hiện

- Nhóm lên kế hoạch thực hiện, trao đổi với giảng viên hướng dẫn để định hướng về đề tài

- Phương pháp thực hiện:

o Tìm hiểu và đọc tài liệu, phân tích các ứng dụng liên quan

o Phân tích thiết kế hệ thống, thiết kế giao diện database

o Xây dựng các tính năng nổi bật

o Triển khai kiểm thử

5 Kết quả mong đợi

- Xây dựng được ứng dụng có tính thực tế và đáp ứng được như cầu của người dung

- Có thể dễ dàng mở rộng và phát triển các chức năng mới trong tương lai

- Ứng dụng có thể tiếp cận được nhiều đối tượng khác nhau

Trang 8

Kế hoạch thực hiện:(Mô tả kế hoạch làm việc và phân công công việc cho từng

sinh viên tham gia)

công

1 Phase 1: Tìm hiểu lý thuyết âm nhạc và các công nghệ liên quan

1.1

Tìm hiểu các kiến thức âm nhạc liên quan đến

nốt nhạc, âm giai, hợp âm và phương pháp

tiếp cận cho việc học nhạc

07/03/2021 – 13/03/2021

Long, Liêm

1.2 Tìm hiểu các kiến thức về Midi, xử lý tín hiệu

Midi message

20/03/2021

14/03/2021-Long, Liêm

1.3 Tìm hiểu các thuật toán liên quan đến xử lý

âm thanh (FFT)

21/03/2021

- 27/03/2021

Long, Liêm

2.1 Thiết kế cơ sở dữ liệu và vẽ sơ đồ UML

(Use-case, Activity Diagram, Sequence Diagram)

28/03/2021

- 03/04/2021

Long, Liêm

2.2 Thiết kế giao diện và vẽ wireframes cho ứng

dụng

04/04/2021

- 10/04/2021

Liêm

3.1

Hiện thực và cài đặt chức năng kết nối

Android smartphone với Midi device

11/04/2021

- 17/04/2021

Long

3.2 Xây dựng chức năng mô phỏng đàn Piano và

chơi Piano theo thời gian thực

18/04/2021

Trang 9

24/04/2021

3.3

Hiện thực chức năng thu âm ra midi file

Xây dựng chức năng đếm nhịp (metronome)

25/04/2021

- 01/05/2021

Long, Liêm

3.4 Đọc và hiển thị bản nhạc được thu âm

02/05/2021

- 08/05/2021

Long, Liêm

3.5 Xây dựng database cho chức năng học hợp âm

và nốt nhạc

9/05/2021

- 15/05/2021

Liêm

3.6 Xây dựng chức năng học hợp âm Piano

16/05/2021-25/05/2021 Long

4.1 Hiện thực chức năng nhận diện hợp âm theo

thời gian thực có kết nối với Midi device

26/05/2021- 05/06/2021 Long

4.2 Hiện thực chức năng nhận diện nốt trên đàn

Piano thật (sử dụng thuật toán FFT)

08/06/2021 Long

06/06/2021-4.3 Hiện thực chức năng nhận diện hợp âm trên

đàn Piano thật

15/06/2021

09/06/2021-Long, Liêm

4.4 Kiểm thử và triển khai thực tế

16/06/2021-17/06/2021

Long, Liêm

4 Phase 5: Đánh giá kết quả đạt được, viết bài báo cáo

4.1 Lập bảng đánh giá kết quả thu được sau khi

Long, Liêm

Xác nhận của CBHD

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

ThS Thái Thụy Hàn Uyển

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

Sinh viên 1

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

K’ Long

Trang 10

Sinh viên 2

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

Trần Xuân Liêm

Trang 11

MỤC LỤC

Chương 1 GIỚI THIỆU ĐỀ TÀI 20

Chương 2 CÁC KIẾN THỨC NHẠC LÝ LIÊN QUAN 21

2.1 Nốt nhạc 21

2.2 Khoá nhạc: 22

2.3 Hợp âm 23

2.4 Nhịp và phách: 24

Chương 3 TỔNG QUAN VỀ MIDI Error! Bookmark not defined. 3.1 Giới thiệu 29

3.2 Ưu điểm của Midi 29

3.3 Kết nối Midi 30

3.4 Midi channel 32

3.5 Các tiêu chuẩn của Midi file (SMF) 33

Chương 4 PITCH DETECTION VÀ THƯ VIỆN TARSOSDSP 35

4.1 Giới thiệu về DSP 35

4.2 Giới thiệu về pitch detection 37

4.3 TarsosDSP 38

Chương 5 XÂY DỰNG HỆ THỐNG 40

5.1 Chức năng chính 40

5.1.1 Chức năng Kết nối với Midi Controller 40

5.1.2 Chức năng chơi nhạc 40

5.1.3 Chức năng thu âm ra file midi 40

Trang 12

5.1.4 Chức năng hiển thị nốt nhạc 40

5.1.5 Chức năng bàn phím ảo 40

5.1.6 Chức năng chọn âm sắc 40

5.1.7 Chức năng hiển thị các dữ liệu midi 41

5.2 Sơ đồ use case 41

5.2.1 Sơ đồ use case tổng quát 41

5.2.2 Danh sách các use case 42

5.2.3 Đặc tả use case 43

5.3 Cơ sở dữ liệu 47

5.3.1 Phân tích cơ sơ dữ liệu 47

5.3.2 Các sound có trong ứng dụng 47

5.3.3 Cấu trúc dữ liệu của file Midi 48

5.3.4 Cấu trúc của Midi Message 49

5.3.5 Cấu trúc các note trong Midi ứng với Keyboard Midi Controller 52

5.3.6 Các Nốt trong Controller 52

5.4 Thiết kế giao diện 54

5.4.1 Thiết kế wireframe 54

5.5 Thiết kế giao diện hoàn chỉnh 59

5.5.1 Màn hình chính của ứng dụng 59

5.5.2 Màn hỉnh hiển thị dialog ghi nhạc ra file Midi 60

5.5.3 Màn hình hiển thị các tệp Midi 60

5.5.4 Màn hình hiển thị thư mục chứa file 61

5.5.5 Màn hình hiển thị danh sách các nhạc cụ 61

5.5.6 Màn hình chơi file Midi 62

Trang 13

5.5.7 Màn hình hiển thị hợp âm 62

5.5.8 Màn hình dialog chọn hợp âm 63

5.5.9 Màn hình hiển thị phím đàn lớn 63

5.5.10 Màn hình nhận biết hợp âm 64

5.5.11 Màn hình lưu hợp âm 64

Chương 6 TRIỂN KHAI KIỂM THỬ 65

6.1 Cài đặt 65

6.2 Kết nối Midi Controller 65

6.3 Các thiết bị Midi tương thích 66

6.4 Các thiết bị đã cài đặt kiểm thử 66

Chương 7 KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN Error! Bookmark not defined 7.1 Thuận lợi 67

7.2 Khó khăn 67

7.3 Kết quả đạt được 68

7.4 Hướng phát triển 68

Trang 14

DANH MỤC HÌNH

Hình 2.1 Hình dạng các nốt nhạc 21

Hình 2.2 Các nốt nhạc được biểu diễn trên khuông nhạc 21

Hình 2.3 Tên gọi và vị trí của các nốt nhạc trên đàn phím piano 22

Hình 2.4 Khóa Sol 22

Hình 2.5 Khóa Fa 22

Hình 2.6 Hợp âm Sol bảy trên bàn phím piano 23

Hình 2.7 Hợp âm Sol bảy (G7) được biểu diễn trên khuông nhạc 23

Hình 2.8 Nhịp và phách và vị trí trên khuông nhạc 25

Hình 2.9 Nhịp 2/4 và phách nặng, phách nhẹ trên khuông nhạc 26

Hình 3.1 Thiết lập bàn phím USB-MIDI điển hình - đối với Mac hoặc PC, Máy tính xách tay hoặc Máy tính để bàn 31

Hình 3.2 Đầu MIDI out của một thiết bị controller được kết nối với MIDI in của một module tạo âm sắc 32

Hình 4.1 Một minh họa đơn giản cho sóng âm thanh Nó được biểu diễn bởi các đường sin liên tục 35

Hình 4.2 Một minh họa cho sóng âm thanh sau khi trải qua quá trình sampling 36

Hình 4.3 Sóng âm thanh sau khi trải qua quá trình quantization 37

Hình 4.4 Luồng hoạt động của TarsosDSP 39

Hình 5.1 Sơ đồ use case tổng quát 41

Hình 5.2 Use case chơi các nhạc cụ 43

Hình 5.3 Use case chọn các nhạc cụ 44

Hình 5.4 Use case ghi bản nhạc đang chơi ra file Midi 44

Hình 5.5 Use case mở file Midi 45

Hình 5.6 cấu trúc của file Midi 48

Hình 5.7 Bố cục của bàn phím đàn piano 53

Hình 5.8 Wireframe màn hình chính 54

Hình 5.9 Wireframe màn hiển thị Dialog ghi nhạc ra file Midi 54

Trang 15

Hình 5.10 Wireframe màn hình hiển thị danh sách file Midi 55

Hình 5.11 Wireframe màn hình hiển thị thư mục chứa file 55

Hình 5.12 Wireframe màn hinh hiển thị nhạc cụ 56

Hình 5.13 Wireframe màn hình chơi file Midi 56

Hình 5.14 Wireframe màn hình hiễn thị hợp âm 57

Hình 5.15 Wireframe màn hình dialog chọn hợp âm 57

Hình 5.16 Wireframe màn hình hiển thị phím đàn lớn 58

Hình 5.17 Wireframe màn hình nhận biết hợp âm 58

Hình 5.18 Wireframe màn hình lưu hợp âm 59

Hình 5.19 Màn hình chính của ứng dụng 59

Hình 5.20 Màn hình dialog ghi nhạc ra file Midi 60

Hình 5.21 Màn hình hiển thị các tệp Midi 60

Hình 5.22 Màn hình hiển thị thư mục chứa file 61

Hình 5.23 Màn hình hiển thị danh sách nhạc cụ 61

Hình 5.24 Màn hình chơi file Midi 62

Hình 5.25 Màn hình hiển thị hợp âm 62

Hình 5.26 Màn hình dialog chọn hợp âm 63

Hình 5.27 Màn hình hiển thị phím đàn lớn 63

Hình 5.28 Màn hình nhận biết hợp âm 64

Hình 5.29 Màn hình lưu hợp âm 64

Trang 16

DANH MỤC BẢNG

Bảng 2.1 Bảng thể hiện vị trí tương đối của các phím đàn với nhau và các hợp âm

Bảng 2.2 Tần số ứng với cao độ của các nốt trên đàn piano 27

Bảng 5.2 Bảng chứ các message thông dụng trong file MIDI 51

Bảng 5.3 Danh sách các nốt tương ứng với các số trong Midi 52

Trang 17

DANH MỤC TỪ VIẾT TẮT

Từ được sử dụng Tử đầy đủ Ý nghĩa

MIDI Musical Instrument

Digital Interface - Giao diện kỹ thuật số dành cho nhạc cụ

là chuẩn công nghiệp về nghi thức giao thông điện

tử định rõ các nốt âm nhạc trong nhạc cụ điện tử như

là bộ tổng hợp chính xác

và ngắn gọn, để nhạc cụ điện tử và máy tính trao đổi dữ liệu, hoặc "nói", với nhau

Trang 18

TÓM TẮT KHÓA LUẬN

Luận văn tốt nghiệp với đề tài “ Tìm hiểu về Midi và xây dựng ứng dụng hỗ trợ học Piano trên nền tảng Android - Research Midi and build an application supporting for learning Piano on Android platform ” được bắt đầu thực hiện từ ngày 07/03/2021 đến ngày 26/06/2021

Đề tài được thực hiên với mục tiêu nhắm đến những người có cùng đam mê và sở thích về âm nhạc, giúp cho người dùng có thể tiếp cận được piano một cách dễ dàng, đồng thời có thể tạo ra những bản nhạc của riêng bản thân mình, vì âm nhạc

từ lâu đã luôn là một thứ có thể kết nối mọi người Cùng với sự giúp đỡ từ thầy cô

và tìm hiểu của bản thân mình, chúng em đã xây dựng thành công ứng dụng hỗ trợ cho việc chơi piano và kết nối với Midi Controller

Hướng tiếp cận đề tài: Tiếp cận theo hướng chức năng là chính, tập trung vào các vấn đề mà người chơi nhạc cũng chính là bản thân chúng em gặp phải, từ đó xây dựng lên các tính năng cho ứng dụng của mình

Hướng giải quyết: Sau khi đã lên được danh sách các tính năng cho ứng dụng, chúng em bắt đầu lên kế hoạch để thực hiên Đầu tiên là chọn các công cụ, công nghệ sẽ được sử dụng, tiếp theo là phân rã các công việc cần làm trên Trello, ước lượng thời gian và tiến thành thực hiện

Các kết quả đạt được: Xây dựng thành công ứng dụng có thể kết nới với Midi controller, có khả năng đọc file Midi, chơi piano cùng một số nhạc cụ khác trên ứng dụng, ghi âm bản nhạc đã chơi ra file Midi

Luận văn sẽ bao gồm các chương:

Chương 1: Giới thiệu đề tài

Chương 2: Các kiến thức nhạc lý liên quan

Chương 3: Tổng quan về MIDI

Trang 19

19

Chương 4: Pitch Detection và thư viện TarsosDSP Chương 5: Xây dựng hệ thống

Chương 6: Cài đặt kiểm thử

Chương 7: Kết quả va hướng phát triển

Trang 20

Chương 1 GIỚI THIỆU ĐỀ TÀI

Ngày nay, công nghệ ngày càng phát triển và xâm nhập sâu sắc vào tất cả các lĩnh vực trong cuộc sống Nhiều ứng dụng được ra đời để phục vụ cho mục đích ngày càng đa dạng của người sử dụng nhằm giảm bớt gánh nặng cho người dùng về thời gian, tiền bạc,…

Tương tự như thế, đối với lĩnh vực âm nhạc cũng không thiếu những ứng dụng phục

vụ cho người dùng như nghe nhạc, hát karaoke, chơi nhạc cụ,… Trong đó có thể kể đến là ứng dụng chơi piano trên điện thoại Học piano vốn rất tốn thời gian và giá thành của một chiếc piano không hề rẻ, khiến cho việc chơi nhạc trên piano trở thành một điều xa xỉ đối với nhiều người Bên cạnh đó, đối với những người đi làm, việc hạn hẹp về thời gian, không gian cũng là một phần khiến cho họ không thể dành nhiều thời gian vào việc luyện tập piano

Để có thể giải quyết những vấn đề về tiền bạc và thời gian cho những người có nhu cầu học đàn piano chúng em đã quyết định xây dựng nên ứng dụng EzMidiPiano EzMidiPiano là một ứng dụng giúp người dùng có thể thỏa mãn niềm đam mê Piano của mình, Ứng dụng có thể giúp người dung tạo ra một cây Piano thật sự bằng cách cung cấp các âm sắc và kết nối Midi cho người dùng Chỉ cần dùng một thiết bị Midi Controller, người dùng có thể chơi Piano trên bàn phím Midi với chất lượng âm sắc cao, Ngoài ra còn có thể tạo ra một bản nhạc Midi và sử dụng nó ở bất

kì thiết bị nào họ muốn hoặc lưu lại một ý tưởng với những thiệt bị hiện có (Android smartphone và Midi Controller)

Trang 21

21

Chương 2 CÁC KIẾN THỨC NHẠC LÝ LIÊN QUAN

Âm nhạc là nghệ thuật dùng âm thanh và nhịp điệu để diễn tả tư tưởng và tình

cảm của con người Trong chương này, chúng em tập trung trình bày các kiến thức

nhạc lý cơ bản nhất để mô tả và tái hiện lại một bản nhạc

2.1 Nốt nhạc

Để ký hiệu các bậc (âm) trong âm nhạc người ta dùng nốt nhạc Nốt nhạc là một

hình bầu dục đặc hoặc rỗng có đuôi hoặc không có đuôi Hình bầu dục đặc hoặc

rỗng để xác định trường độ của âm thanh

Hình 2.1 Hình dạng các nốt nhạc

Trong các bản ký âm, nốt nhạc thường được biểu diễn như sau:

Hình 2.2 Các nốt nhạc được biểu diễn trên khuông nhạc

Và ứng với các nốt cụ thể trên khuông nhạc, nó sẽ có các tên gọi khác nhau ứng với

hệ thống chữ cái latin bao gồm bảy chữ cái: A, B, C, D, E, F, G Mỗi nốt có một cao

độ duy nhất

Trên bàn phím piano, các nốt nhạc có các vị trí và tên gọi như sau:

Trang 22

Hình 2.3 Tên gọi và vị trí của các nốt nhạc trên đàn phím piano

Có 12 nốt trên bàn phím đàn piano: A, A# / B♭, B, C, C# / D♭, D, D# / E♭, E, F, F# / G♭, G, G# / A♭ và 12 nốt tương tự lặp lại lên và xuống trong quãng tám

2.2 Khoá nhạc:

Khoá nhạc còn gọi là chìa nhạc hay chìa khoá nhạc Đó là ký hiệu đặt ở đầu khuông nhạc để xác định tên những nốt nhạc trên khuông Có 3 loại khoá thường dùng là

khóa Sol, khoá Fa và khoá Do

• Khoá Sol có ký hiệu:

Hình 2.4 Khóa Sol

• Khoá Fa có ký hiệu như sau

Hình 2.5 Khóa Fa

Trang 23

2.3 Hợp âm

Hợp âm là hai hoặc nhiều nốt hòa âm được chơi cùng một lúc Hầu hết các hợp âm

cơ bản được xây dựng bằng cách sử dụng ba nốt Các hợp âm được xây dựng trên nốt gốc của chúng (nốt bắt đầu) Phần còn lại của các nốt trong hợp âm được xác định bởi loại của chúng (chord type)

Hình 2.6 Hợp âm Sol bảy trên bàn phím piano

Hình 2.7 Hợp âm Sol bảy (G7) được biểu diễn trên khuông nhạc

Đối với những hợp âm cơ bản, thông thường sẽ có 9 loại chính như sau;

• Major Chords (ký hiệu là maj)

Trang 24

• Minor Chords (ký hiệu là min hoặc m)

• Diminished Chords (ký hiệu là dim)

• Major Seventh Chords (ký hiệu là maj7 hoặc M7)

• Minor Seventh Chords (ký hiệu là min7 hoặc m7)

• Dominant Seventh Chords (ký hiệu là 7 hoặc dom7)

• Suspended Chords (sus2, sus4)

• Augmented Chords (ký hiệu là aug)

• Extended Chords (Ninth, Eleventh – nó có thể là 6 9 11 13 tùy vào từng hòa âm)

Trong thực tế, mỗi một hợp âm có một hòa thanh khác nhau và các thế bấm khác nhau Bảng dưới đây thể hiện vị trí tương đối của các phím đàn với nhau và các hợp

âm chúng tạo ra khi được chơi đồng thời

Bảng 2.1 Bảng thể hiện vị trí tương đối của các phím đàn với nhau và các hợp âm

chúng tạo ra khi được chơi đồng thời

Ngoài ra còn rất nhiều những loại hợp âm khác nhau nhưng cho hạn chế về mặt kiến thức nhạc lý nên chúng em chỉ trình bày những phần cơ bản nhất

2.4 Nhịp và phách:

Âm nhạc là sự nối tiếp các âm thanh có tính tổ chức về thời gian Trong sự

chuyển động đều đặn đó có một số âm thanh được vang lên mạnh hơn nên được nổi bật theo chu kỳ Những âm thanh này gọi là trọng âm (accent hay accentuted beat -

Trang 25

25

còn gọi là âm nhấn hay phách nhấn), thường được ký hiệu là: > đặt ở trên hoặc dưới nốt nhạc

Sự nối tiếp đều đặn những trường độ thời gian bằng nhau có trọng âm và không

có trọng âm được gọi là tiết nhịp (measure - có sách gọi là luật nhịp hay nhịp)

Những trường độ thời gian bằng nhau có trọng âm và không có trọng âm trong tiết

nhịp gọi là phách (beat) Phách có trọng âm gọi là phách mạnh (strong-beat) Phách không có trọng âm gọi là phách nhẹ (off-beat)

Hình 2.8 Nhịp và phách và vị trí trên khuông nhạc

Loại nhịp được ký hiệu bằng số chỉ nhịp (time signature) Số chỉ nhịp là một phân

số được đặt ở sau khóa nhạc và hóa biểu (nếu có) Số chỉ nhịp gồm hai chữ số: chữ

số bên trên chỉ số lượng phách có trong mỗi tiết nhịp; chữ số bên dưới chỉ giá trị

trường độ của mỗi phách bằng mấy phần của nốt tròn

Loại nhịp 2: 4 Là nhịp có hai phách, mỗi phách có giá trị trường độ bằng một nốt

đen (một phần tư nốt tròn) Phách thứ nhất là phách mạnh, phách thứ hai là phách

nhẹ

Trang 26

Hình 2.9 Nhịp 2/4 và phách nặng, phách nhẹ trên khuông nhạc

Trên nhạc cụ Piano và các nhạc cụ khác khi chúng ta chơi một nốt bất kỳ nào đó

chúng ta có thể đo được tần số âm thanh của nốt đó Bởi vì trên thực tế tần số âm

thanh có quan hệ với cao độ, nó là đặc trưng biểu diễn cho cao độ của nốt nhạc Vì

vậy mỗi nốt nhạc có một tần số khác nhau và về mặt lý thuyết, chúng ta có thể đo

được tần số của nốt nhạc khi nó được chơi lên Thế nhưng trên thực tế, việc đo đạc

tần số và xác định các nốt đang được chơi là công việc rất khó khăn Ngoài sự ảnh

hưởng của những tạp âm xung quanh (tiếng ồn) thì khi nhiều nốt được chơi chung

với nhau, chúng ta rất khó để xác định được tần số của chúng Chúng tạo ra một hòa thanh với tần số khác nhau hay còn được gọi là hợp âm (trình bày chi tiết ở mục

Trang 27

27

2.3) Nên việc xác định được các tần số riêng rẻ của từng nốt nhạc khi chúng chơi cùng với nhau là một nhiệm vụ khó khăn

Bảng 2.2 Tần số ứng với cao độ của các nốt trên đàn piano

Trong Piano, tần số chuẩn là nốt La ở quãng 4 (A4) có tần số 440Hz và giữa các nốt ở các quãng khác nhau tỉ lệ với nhau Ví dụ ở hình trên có thể thấy tần số ở các nốt cao hơn có thể gấp đôi tần số ở các nốt thấp hơn Ví dụ (440hz – 880hz –

1760hz) Về cơ bản nếu đo được tần số của các nốt đang được chơi thì ta có thể biết được cao độ của những nốt đó Và trong phạm vi khóa luận này, chúng em muốn áp dụng ý tưởng này cho một chức năng trong ứng dụng, cho phép xác định và hiển thị

vị trí của nốt đang được chơi ở thời gian thực

Trên đây là những kiến thức nhạc lý cơ bản liên quan đến nội dung khóa luận của chúng em Kiến thức âm nhạc rất rộng và chúng em không thể tìm hiểu và trình bày hết được do sự giới hạn về mặt kiến thức Những kiến thức âm nhạc đã trình bày ở trên nhìn chung khá cơ bản nhưng nó rất quan trọng cho việc bắt đầu làm quen với

âm nhạc (cụ thể ở đây là nhạc cụ Piano) Và hơn thế nữa việc biểu diễn các kiến thức âm nhạc trên vào lập trình cũng gây ra không ít trở ngại và khó khăn

Trang 29

MIDI được phát triển vào đầu những năm 1980 do một liên hợp các nhà sản xuất synthesizer quốc tế Vào thời điểm đó có hai nhiệm vụ được đưa ra Thứ nhất: Làm thế nào để một bàn phím có thể điều khiển cao độ, rung, bend, Pedal vang của bàn phím khác Thứ hai: Làm thế nào để đồng bộ các thiết bị có tempo chẳng hạn như Sequencer, Drums machines làm cho chúng chạy cùng tốc độ với nhau Từ

đó các nhà sản xuất lớn như Roland, Sequential Circuits và Oberheim đã nghiên cứu ra một giao diện chuẩn đa năng (Universal Standard Interface) và sau này trở thành MIDI

MIDI là một dạng giao tiếp Nó là một giao thức máy tính hay ngôn ngữ truyền thông tin giữa hai hay nhiều thiết bị MIDI Cũng như máy tính hay tất cả các giao tiếp khác, MIDI bao gồm những thông điệp (messages) giữa các thiết bị đầu cuối

mà hiểu được chung giao thức Cũng có thể hiểu đơn giản, bạn là một thiết bị khi bạn nói chuyện với ai đó khác (thiết bị khác)

Nếu một thiết bị điện tử được trang bị MIDI, nó có thể hiểu được giao thức MIDI

và do vậy nó có thể giao tiếp với bất kỳ thiết bị nào được trang bị MIDI khác, hay bất kỳ sản phẩm nào từ các hãng khác nhau Ví dụ đàn Keyboard Yamaha có thể gửi thông điệp đến một Drum machine của hãng Roland, bởi vì tất cả các thiết bị được trang bị giao thức MIDI đều tương thích với nhau

3.2 Ưu điểm của Midi

Có nhiều thuận lợi của định dạng MIDI:

− Kích thước file Midi nhỏ nhẹ, kích thước chỉ khoảng vài trăm kb

Trang 30

− Các phần khác nhau của bản nhạc có thể được gán cho bất kỳ nhạc cụ nào

mà bạn muốn, và midi có thể được chỉnh sửa dễ dàng qua các phần mềm chuyên dụng

− Midi lưu giữ âm nhạc đầy đủ về các thông tin như nốt nhạc, tốc độ, hóa biểu… có thể được hiển thị và chỉnh sửa dễ dàng khi dùng các chương trình khác nhau

3.3 Kết nối Midi

Thông điệp MIDI được gửi đi từ cổng MIDI OUT của một thiết bị tới cổng MIDI

IN của một thiết bị khác qua một cáp nối MIDI (MIDI cable) Để gửi một thông điệp từ đàn keyboard tới máy tính hay bất kỳ thiết bị nào, bạn phải dùng cáp MIDI

để nối cổng MIDI OUT của đàn keyboard này tới cổng MIDI IN của máy vi tính

Để gửi lại thông điệp MIDI ngược trở lại đàn keyboard, bạn cần nối cáp MIDI từ cổng MIDI OUT của vi tính với cổng MIDI IN của đàn Keyboard

OUT Port - Thông điệp MIDI được gửi ra khỏi một thiết bị qua cổng này Nếu bạn chơi nốt C4 trên bàn phím, thông điệp "chơi nốt C4" này được truyền ra ngoài bằng đường OUT Port

IN Port - Thông điệp MIDI được nhận vào một thiết bị đều qua cổng này

Thru Port - Thông điệp MIDI được nhận vào thiết bị MIDI qua cổng IN và được chuyển qua cổng Thru của thiết bị đó để từ đó có thể được chuyển qua một thiết bị thứ ba mà thôngn tin vẫn không thay đổi Cổng này được dùng khi có một thiết bị MIDI gửi và nhiều thiết bị MIDI nhận

Trang 31

31

Hình 3.1 Thiết lập bàn phím USB-MIDI điển hình - đối với Mac hoặc PC, Máy tính

xách tay hoặc Máy tính để bàn

Để nối máy tính với keyboard ta cần một cáp nối MIDI một đầu là 2 chấu cắm 5 chân nối vào đàn, đầu kia là một chấu 15 chân nối với sound card qua cổng MIDI/Gameport Hai đầu 5 chân IN và OUT được nối với hai đầu OUT và IN của Keyboard (IN vào OUT và OUT vào IN)

Nhưng hiện nay Midi đã có 1 số thay đổi, chúng ta không nhất thiết phải dung cổng kết nối 5 chân mà có thể sử dụng một cable usb 2.0 để kết nối với máy tính qua đường host Chính vì điểm này, khả năng kết nối của Midi Controller với các thiết

bị khác (trong đó có Smartphone) được mở rộng

Một Smartphone có thể kết nối với Midi Controller qua một cổng USB OTG (Đây

là một adapter chuyển đổi cổng hiện có của Smartphone (micro usb, type C, Lightning) sang cổng USB 3.0 và kết nối với cổng host của Midi Controller)

Trang 32

Hình 3.2 Đầu MIDI out của một thiết bị controller được kết nối với MIDI in của

một module tạo âm sắc

3.4 Midi channel

MIDI cho phép gửi dữ liệu theo từng đường riêng rẽ cùng một lúc, mỗi đường này

là một kênh MIDI (Channel) Mỗi kênh này được gán một số định danh

Nếu một nốt được chơi trên thiết bị A, nó được gửi kèm một số định danh kênh MIDI Nếu thiết bị B được đặt cùng kênh với thiết bị A, nó sẽ đáp lại bằng cách chơi nốt đó Nếu thiết bị B được đặt ở một kênh khác, nó không nhận được thông điệp này mặc dù về mặt lý thuyết đã được nối bằng cáp MIDI

MIDI có 16 kênh khác nhau, và chúng đều có chức năng sau Mỗi kênh đều có thể chứa tất cả các loại thông điệp MIDI nhưng chúng đều được tách biệt

Thông điệp của kênh 1 khi được gửi đi không bị ảnh hưỏng bởi các kênh 2, kênh 3

Nói cách khác, Midi cho phép các kênh khác nhau hoạt động riêng biệt nhau nhưng đồng thời có thể mix các kênh này lại với nhau để tạo nên một bản nhạc kĩ thuật số hoàn chỉnh

Trang 33

33

3.5 Các tiêu chuẩn của Midi file (SMF)

Standard MIDI Files là tập tin dữ liệu Sequencer MIDI Standard MIDI Files ban đầu được dùng làm phương tiện trao đổi dữ liệu giữa các thiết bị sequencer từ nhiều nhà sản xuất khác nhau Sau đó nó được dùng làm định dạng file MIDI chuẩn cho

hệ điều hành Windows và các ứng dụng multimedia

MIDI files sử dụng định dạng Chunky (theo từng khoang), tương tự như định dạng của Electronic Arts -IFF hay định dạng của Microsoft/IBM - RIFF Các tập tin dạng này chứa các khoang khác nhau, mỗi khoang chứa một số dạng dữ liệu mà chương trình có thể đọc được MIDI File được cấu tạo bởi hai loại khoang: Khoang tiêu đề, chứa các thông tin về trật tự tracks, độ phân giải của thời gian (timing resolution),

và khoang tracks chứa các dữ liệu MIDI và các dữ liệu khác

MIDI Files có thể có một trong ba định dạng Số định dạng được lưu ở khoang tiêu

đề chỉ ra các khoang tracks được thể hiện như thế nào Các định dạng này là:

Format 0: Các tập tin này chỉ chứa một track nhưng nhiều kênh (multi-channel) Định dạng này được dùng thích hợp cho việc playback ở các ứng dụng multimedia

vì kiểu định dạng này có thể được đọc từ đĩa nhanh hơn các định dạng nhiều rãnh (Multi-track)

Format 1: Những tập tin theo định dạng này chứa nhiều tracks Track đầu tiên luôn chứa tất cả tempo và thông tin về hoá biểu, giọng cùng với các dạng dữ liệu tổng thể (global); Các track còn lại chứa dữ liệu MIDI Bởi vì định dạng Format 1 cho phép dữ liệu MIDI chia thành nhiều kênh khác nhau hay nhiều tiêu chí khác, nên chúng dễ dàng hiệu chỉnh lại so với Format 0

Format 2: Những tập tin dạng này ít dùng hơn Nó được dùng cho các thiết bị sequencer cho phép các track được chơi riêng rẽ và lặp lại (Loop) Định dạng Midi

là định dạng rất hữu dụng và đang được sử dụng ở hầu hết các giai đoạn của việc tạo ra một bản nhạc Với sự trợ giúp của VST (nhạc cụ ảo), Midi là một công nghệ khó có thể thay thế ở thời điểm hiện tại trong ngành công nghiệp âm nhạc Hiện nay Midi đã có những nâng cấp so với trước đây Nhưng đến hiện tại, nó chưa được

Trang 34

công bố và có thể trong tưởng lai gần, công nghệ này sẽ tiếp cận sớm trong nền công nghiệp âm nhạc

Ngày đăng: 05/09/2021, 20:55

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] "Kiến thức về nhạc lý," [Online]. Available: kiến thức nhạc lý cho người mới bắt đầu Sách, tạp chí
Tiêu đề: Kiến thức về nhạc lý
[2] "tài liệu về Class SynthesizerManager," [Online]. Available: Class SynthesizerManager Sách, tạp chí
Tiêu đề: tài liệu về Class SynthesizerManager
[3] "Phần tương thích với MIDI của MusicXML," [Online]. Available: midi- compatible-part Sách, tạp chí
Tiêu đề: Phần tương thích với MIDI của MusicXML
[4] "Tài liệu về java," [Online]. Available: Learning java Sách, tạp chí
Tiêu đề: Tài liệu về java
[5] "Tài liệu về android cho developer," [Online]. Available: Android developer Sách, tạp chí
Tiêu đề: Tài liệu về android cho developer
[7] "Thông số kỹ thuật của MIDI," [Online]. Available: Midi-specifications Sách, tạp chí
Tiêu đề: Thông số kỹ thuật của MIDI
[8] "Bảng số nốt của MIdi," [Online]. Available: MIDI_Keyboards Sách, tạp chí
Tiêu đề: Bảng số nốt của MIdi
[9] "API Java cho lập trình âm nhạc," [Online]. Available: Java API for Music Programming Sách, tạp chí
Tiêu đề: API Java cho lập trình âm nhạc
[11] "Cách tạo wireframe trong Adobe XD," [Online]. Available: How to wireframe Sách, tạp chí
Tiêu đề: Cách tạo wireframe trong Adobe XD
[12] "Tài liệu về javax.sound.midi," [Online]. Available: Thư viên Javax.sound.midi Sách, tạp chí
Tiêu đề: Tài liệu về javax.sound.midi
[13] J. Six, "TarsosDSP, a Real-Time Audio Processing," in AES 53RD INTERNATIONAL CONFERENCE, London, 2014 Sách, tạp chí
Tiêu đề: TarsosDSP, a Real-Time Audio Processing
[6] kshoji-USB-MIDI-Driver. [Online]. Available: USB-MIDI-Driver Khác
[10] AdobeXd. [Online]. Available: Trang chủ của Adobe Xd Khác

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