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 3THÔ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 4LỜ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 6cậ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 924/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 10Sinh 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 125.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 135.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 14DANH 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 15Hì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 16DANH 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 17DANH 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 18TÓ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 1919
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 20Chươ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 2121
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 22Hì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 232.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 2525
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 26Hì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 2727
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 29MIDI đượ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 3131
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 32Hì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 3333
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 34cô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