Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
1,12 MB
Nội dung
ĐẠ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 - - BÁO CÁO ĐỒ ÁN Đề tài : Tìm hiểu Midi Xây dựng ứng dụng học nhạc Android Giáo viên hướng dẫn: Thái Thụy Hàn Uyển Sinh viên thực hiện: K’Long – 17520707 TP.Hồ Chí Minh, tháng năm 2021 MỤC LỤC CHƯƠNG 1: GIỚI THIỆU 1.1 Giới thiệu đề tài 1.2 Mục tiêu 1.3 Chức chính 1.3.1 Chức Kết nối với Midi Controller 1.3.2 Chức chơi nhạc 1.3.3 Chức thu âm file midi 1.3.4 Chức hiển thị nốt nhạc 1.3.5 Chức bàn phím ảo 1.3.6 Chức chọn âm sắc 1.3.7 Chức hiển thị liệu midi CHƯƠNG CÔNG NGHỆ ỨNG DỤNG LIÊN QUAN 2.1 Android Studio 2.1.1 Giới thiệu hệ điều hành Android 2.1.2 Giới thiệu Android studio 2.1.3 Cài đặt môi trường lập trình Android 2.2 Midi 2.2.1 Giới thiệu Midi 2.2.2 Ưu điểm MIDI 2.2.3 Kết nối Midi 10 CHƯƠNG THIẾT KẾ USECASE 14 2.1 Sơ đồ usecase Tổng quan 14 2.2 Danh sách usecase 14 2.3 Đặc tả usecase 15 2.3.1 Use-case Play Instruments 15 2.3.2 Select Instruments 16 2.3.3 Use-case Recording Midi File (Hiện khả dụng kết nối Midi Controller) 17 2.3.4 Use-case Open Midi File 18 2.3.5 Use-case Select Midi Device 18 2|Page CHƯƠNG CƠ SỞ DỮ LIỆU 20 4.1 Cơ sở liệu 20 4.2 Cấu trúc liệu file Midi 20 4.3 Cấu trúc note Midi ứng với Keyboard Midi Controller 23 CHƯƠNG THIẾT KẾ GIAO DIỆN 25 5.1 Danh sách hình 25 5.2 Giao diện hình 25 CHƯƠNG TRIỂN KHAI KIỂM THỬ 29 6.1 Cài đặt 29 6.2 Kết nối Midi Controller 29 6.3 Các thiết bị Midi tương thích 30 6.4 Các thiết bị cài đặt kiểm thử 30 CHƯƠNG KẾT LUẬN 31 6.1 Thuận lợi 31 6.2 Khó khăn 31 6.3 Kết đạt 31 6.4 Hướng phát triển 32 CHƯƠNG TÀI LIỆU THAM KHẢO 33 3|Page LỜI CẢM ƠN Đầu tiên, em xin gởi lời cảm ơn chân thành đến tập thể quý Thầy Cô Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM quý Thầy Cơ khoa Cơng Nghệ Phần Mềm giúp cho nhóm chúng em có kiến thức làm tảng để thực đề tài Đặc biệt, em xin gửi lời cảm ơn lòng biết ơn sâu sắc tới Cô Thái Thụy Hàn Uyển tạo điều kiện cho em thực đề tài giúp em hồn thành tốt báo cáo mơn học Trong thời gian học đề tài, em vận dụng kiến thức tảng tích lũy đồng thời kết hợp với việc học hỏi nghiên cứu kiến thức Từ đó, em vận dụng tối đa thu thập để hồn thành báo cáo đờ án tốt Tuy nhiên, q trình thực hiện, em khơng tránh khỏi thiếu sót Chính vậy, em mong nhận góp ý từ phía Thầy Cơ nhằm hồn thiện kiến thức mà em học đờng thời giúp em có kiến thức để thực tiếp đề tài khác tương lai Em xin chân thành cảm ơn quý Thầy Cô! 4|Page CHƯƠNG 1: GIỚI THIỆU 1.1 Giới thiệu đề tài Ngày nay, công nghệ ngày phát triển xâm nhập sâu sắc vào tất lĩnh vực sống Nhiều ứng dụng đời để phục vụ cho mục đích ngày đa dạng người sử dụng nhằm giảm bớt gánh nặng cho người dùng thời gian, tiền bạc,… Tương tự thế, lĩnh vực âm nhạc không thiếu ứng dụng phục vụ cho người dùng nghe nhạc, hát karaoke, chơi nhạc cụ,… Trong kể đến ứng dụng chơi piano điện thoại Học piano vốn tốn thời gian giá thành piano không rẻ với ứng dụng chơi piano điện thoại người dùng vừa chơi vào thời gian rảnh rỗi mà không nhiều thời gian Chính với niềm đam mê âm nhạc mà em định thực ứng dụng mang tên EzMidiPiano EzMidiPiano ứng dụng giúp người dùng thỏa mãn niềm đam mê Piano mình, Ứng dụng giúp người dung tạo Piano thật cách cung cấp âm sắc kết nối Midi cho người dùng Chỉ cần dùng thiết bị Midi Controller, người dùng chơi Piano bàn phím Midi với chất lượng âm sắc cao, Ngồi cịn tạo nhạc Midi sử dụng thiết bị họ muốn lưu lại ý tưởng với thiệt bị có (Android smartphone Midi Controller) 1.2 Mục tiêu - Xây dựng ứng dụng chơi Piano cho đổi tượng người dùng biết piano có số kiến thức nhạc lý định - Ứng dụng có khả kết nối thiết bị Midi cho phép sử dụng âm sắc ứng ụng cho mục đích người dung - Cung cấp thông tin cần thiết cho người dung nốt, âm sắc mà họ sử dụng - Tạo điều kiện để lưu lại nhạc mà không tốn nhiều dung lượng úng dụng trước với định dạng file Midi (.mid; midi) 5|Page 1.3 Chức 1.3.1 Chức Kết nối với Midi Controller Midi Controller thiết bị điện tử có kết nối Midi, bàn phím Midi hay thiết bị khác cho phép kết nối giao tiếp với ứng dụng định Ứng dụng cho phép người dung kết nối với Midi Controller sử dụng âm sắc ứng dụng để tạo nhạc theo ý thích 1.3.2 Chức chơi nhạc Khi kết nối ứng ứng dụng với Midi Controller, người dung chơi nhạc chơi Piano thực thụ với hỗ trợ âm sắc nhạc cụ ảo 1.3.3 Chức thu âm file midi Chức tạo điều kiện cho người dùng muốn thu âm lại nhạc vừa chơi mở file, xử lý chúng với ứng dụng chuyên dụng khác 1.3.4 Chức hiển thị nốt nhạc Đây tính cho phép người dung mở lại file midi file midi hiển thị nốt nhạc có file 1.3.5 Chức bàn phím ảo Chức hiển thị cho người dung nốt mà người dung ấn hình điện thoại theo thời gian thực 1.3.6 Chức chọn âm sắc Ngồi chơi nhạc ứng dụng cịn cung cấp chức cho phép người dung thay đổi âm sắc nhạc cụ, khơng có Piano, mà cịn có nhiều âm sắc khác String, Organ, Synth … Tạo nên kho âm sắc đa dạng cho người dung 1.3.7 Chức hiển thị liệu midi Ứng dụng hiển thị đến người dùng thông tin nhận truyền liệu midi qua giao tiếp với MidiController, bao gồm nốt nhạc (dưới dạng số nguyên), MidiEvent, trạng thái chúng … 6|Page CHƯƠNG CÔNG NGHỆ ỨNG DỤNG LIÊN QUAN 2.1 Android Studio 2.1.1 Giới thiệu hệ điều hành Android Giới thiệu chung hệ điều hành android Android hệ điều hành di động dựa tảng linux phiên 2.6 dành cho dòng điện thoại SmartPhone Đầu tiên đời công ty liên hợp Android, sau Google mua lại phát triển từ năm 2005 trở thành hệ điều hành di động mã ng̀n mở, miễn phí, mạnh mẽ ưa chuộng cao giới Hệ điều hành android hệ điều hành mạnh mạnh, có bảo mật cao, hỗ trợ nhiều công nghệ tiên tiến 3G, GPS, EDGE, Wifi tương thích với nhiều phần cứng, hỗ trợ nhiều loại nhập liệu keyboard, touch trackball Android hệ điều hành di động nên có khả kết nối cao với mạng khơng dây Hỗ trợ cơng nghệ OpenGL nên có khả chơi phương tiện media, hoạt trình diễn khả đờ họa khác cực tốt, tiền đề để phát triển ứng dụng có giao diện phức tạp chẳng hạn trò chơi Năm 2008, hệ điều hành android chính thức mở tồn mã ng̀n, điều cho phép hãng điện thoại đem mã ng̀n tùy chỉnh, thiết kế lại cho phù hợp với mẫu mã điện thoại họ điều quan trọng hệ điều hành mở hoàn toàn miễn phí, khơng phải trả tiền nên giúp họ tiết kiệm lớn chi phí phát triển hệ điều hành Với Google, android hồn tồn miễn phí, Google khơng thu tiền từ hãng sản xuất điện thoại, không trực tiếp hưởng lợi từ android bù lại, dịch vụ hãng Google Search, Google Maps, nhờ có android mà dễ dàng xâm nhập nhanh vào thị trường di động điện thoại sản xuất tích hợp hàng loạt dịch vụ Google Từ hãng kiếm bội, chủ yếu từ nguồn quảng cáo dịch vụ 2.1.2 Giới thiệu Android studio Android Studio mơi trường phát triển tích hợp (IDE) Google xây dựng cung cấp miễn phí cho nhà phát triển ứng dụng Android Android 7|Page studio dựa vào IntelliJ IDEA, IDE tốt cho Java Do Android Studio môi trường phát triển ứng dụng tốt cho Android 2.1.3 Cài đặt mơi trường lập trình Android Cài đặt JAVA JDK Bước 1: Tải file cài đặt từ đường dẫn: http://www.oracle.com/technetwork/java/javase/downloads/index.html Lưu ý: Chọn phiên tương ứng với hệ diều hành với máy sử dụng Bước 2: Mở file cài đặt “jdk-*.exe” để tiến hành cài đặt Bước 3: Cấu hình biến mơi trường cho Java Việc khơng bắt buộc, máy tính cài đặt nhiều phiên Java, việc cấu hình cần thiết để xác định phiên java mặc định sử dụng 8|Page 2.2 Midi 2.2.1 Giới thiệu Midi MIDI cụm từ viết tắt Musical Instrument Digital Interface, có nghĩa Giao Diện Số Hố Nhạc Cụ Đó giao thức truyền thông tin âm nhạc theo chế độ thời gian thực MIDI phát triển vào đầu năm 1980 liên hợp nhà sản xuất synthesizer quốc tế Vào thời điểm có hai nhiệm vụ đưa Thứ nhất: Làm để bàn phím điều khiển cao độ, rung, bend, Pedal vang bàn phím khác Thứ hai: Làm để đờng thiết bị có tempo chẳng hạn Sequencer, Drums machines làm cho chúng chạy tốc độ với Từ nhà sản xuất lớn Roland, Sequential Circuits Oberheim nghiên cứu giao diện chuẩn đa (Universal Standard Interface) sau trở thành MIDI MIDI dạng giao tiếp Nó giao thức máy tính hay ngôn ngữ truyền thông tin hai hay nhiều thiết bị MIDI Cũng máy tính hay tất giao tiếp khác, MIDI bao gồm thông điệp (messages) thiết bị đầu cuối mà hiểu chung giao thức Cũng hiểu đơn giản, bạn thiết bị bạn nói chuyện với khác (thiết bị khác) Nếu thiết bị điện tử trang bị MIDI, hiểu giao thức MIDI giao tiếp với thiết bị trang bị MIDI khác, hay sản phẩm từ hãng khác Ví dụ đàn Keyboard Yamaha gửi thông điệp đến Drum machine hãng Roland, tất thiết bị trang bị giao thức MIDI tương thích với 2.2.2 Ưu điểm MIDI Có nhiều thuận lợi định dạng MIDI: • Kích thước file Midi nhỏ nhẹ, kích thước khoảng vài trăm kb 9|Page • Các phần khác nhạc gán cho nhạc cụ mà bạn muốn, midi chỉnh sửa dễ dàng qua phần mềm chuyên dụng • Midi lưu giữ âm nhạc đầy đủ thơng tin nốt nhạc, tốc độ, hóa biểu… hiển thị chỉnh sửa dễ dàng dùng chương trình khác 2.2.3 Kết nối Midi Thông điệp MIDI gửi từ cổng MIDI OUT thiết bị tới cổng MIDI IN thiết bị khác qua cáp nối MIDI (MIDI cable) Để gửi thông điệp từ đàn keyboard tới máy tính hay thiết bị nào, bạn phải dùng cáp MIDI để nối cổng MIDI OUT đàn keyboard tới cổng MIDI IN 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 vi tính với cổng MIDI IN đàn Keyboard OUT Port - Thông điệp MIDI gửi khỏi thiết bị qua cổng Nếu bạn chơi nốt C4 bàn phím, thông điệp "chơi nốt C4" truyền đường OUT Port IN Port - Thông điệp MIDI nhận vào thiết bị qua cổng Thru Port - Thông điệp MIDI nhận vào thiết bị MIDI qua cổng IN chuyển qua cổng Thru thiết bị để từ chuyển qua thiết bị thứ ba mà thôngn tin không thay đổi Cổng dùng có thiết bị MIDI gửi nhiều thiết bị MIDI nhận 10 | P a g e Điều kiện trước Điều kiện sau Thiết bị phải tương thích với Ứng dụng (Xem them thiết bị tương thích trang sau) Khơng có 19 | P a g e CHƯƠNG CƠ SỞ DỮ LIỆU 4.1 Cơ sở liệu Hệ thống không áp dụng hệ quản trị sở liệu để lưu liệu ứng dụng Mà thay vào đó, cấu trúc liệu ghi vào tứng file Phần chủ yếu mô tả liệu cần có để chạy ứng dụng, cách liệu lưu trữ file tạo 4.1.1 Các sound có ứng dụng STT 10 11 12 13 14 15 16 17 Tên Sound Tiếng Accoustic guitar GrganPiano Live String Cool Orgran Electronic Piano Session Brass Finger Bass Saw Lead Warm Pad Bright Pad Rock Guitar Sweet Fulte Live Choir Accordion Studio Kit Studio Kit Synth Lead Kiểu sf2 sf2 sf2 sf2 sf2 sf2 sf2 sf2 sf2 sf2 sf2 sf2 sf2 sf2 sf2 sf2 sf2 Ý nghĩa/ghi Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Sound Tiếng Các sound đọc định dạng sf2 (Sounfont2) Đây định dạng sử dụng ứng dụng SoftSynth Arranger Keyboard 4.2 Cấu trúc liệu file Midi 4.2.1: Cấu trúc liệu Midi File 20 | P a g e Bản chất file midi sử dụng định dạng Chunky (theo khoang), tương tự định dạng Electronic Arts -IFF hay định dạng Microsoft/IBM RIFF Các tập tin dạng chứa khoang khác nhau, khoang chứa số dạng liệu mà chương trình đọc MIDI File cấu tạo hai loại khoang: Khoang tiêu đề, chứa thông tin trật tự tracks, độ phân giải thời gian (timing resolution), khoang tracks chứa liệu MIDI liệu khác MIDI Files có ba định dạng Số định dạng lưu khoang tiêu đề khoang tracks thể 4.2.2: Cấu trúc Midi Message Message Type Message Name Channel Message Note Off1 Binary Data Byte Value #1 1000xxxx2 Note Number Data Byte #2 Velocity 21 | P a g e Channel Message Channel Message Channel Message Channel Message Channel Message Channel Message System Common Message System Common Message System Common Message System Common Message System Common Message System Common Message System Common Message System Common Message System RealTime Message Note On 1001xxxx Velocity 1101xxxx Note Number Note Number Controller Number3 Program Number Pressure 1110xxxx Bend LSB4 Bend MSB Polyphonic Key 1010xxxx Pressure Control Change 1011xxxx Program Change Channel Pressure (Aftertouch) Pitch Bend 1100xxxx System Exclusive 111100005 Numerous data bytes depending on device and function 11110001 MTC Quarter Frames 11110010 Sequence Location LSB 11110011 Song Number MIDI Time Code Song Position Pointer Song Select Undefined 11110100 none Undefined 11110101 none Tune Request 11110110 Status byte only End of Exclusive 11110111 Status byte only Timing Clock (24ppq)6 11111000 Status byte only Pressure Controller Value none none none Sequence Location MSB none 22 | P a g e System RealTime Message System RealTime Message System RealTime Message System RealTime Message System RealTime Message System RealTime Message System RealTime Message Undefined 11111001 none Sequence Start 11111010 Sequence Continue Sequence Stop 11111011 Undefined 11111101 Status byte only Status byte only Status byte only none Active Sensing 11111110 Reset 11111111 11111100 Status byte only Status byte only Các thiết bị Midi giao tiếp với qua message Ví dụ thiết bị biết người dùng ấn phím đàn xuống, người dùng ấn phím lên Tương tự message Note on, Not off thiết bị truyền cho Syntheizers, Syntheizers có nhiệm vụ xử lý message Trên bảng message thông dụng Midi 4.3 Cấu trúc note Midi ứng với Keyboard Midi Controller 4.3.1: Note Number C -1 -2 C# 120 108 96 84 72 60 48 36 24 12 D 121 109 97 85 73 61 49 37 25 13 D# 122 110 98 86 74 62 50 38 26 14 E 123 111 99 87 75 63 51 39 27 15 F 124 112 100 88 76 64 52 40 28 16 F# 125 113 101 89 77 65 53 41 29 17 G 126 114 102 90 78 66 54 42 30 18 G# 127 115 103 91 79 67 55 43 31 19 A X 116 104 92 80 68 56 44 32 20 Bb X 117 105 93 81 69 57 45 33 21 B X 118 106 94 82 70 58 46 34 22 10 X 119 107 95 83 71 59 47 35 23 11 Các thiết bị Midi dùng số để biểu diễn nốt cao độ âm tự nhiên Mỗi note tương ứng với số xếp sẵn số 23 | P a g e khơng thay đổi thiết bị hay phần mềm xử lý Midi nào, Do chúng giao tiếp với 4.3.2: Note in Controller Các số bàn phím tương ứng với note mà người dung chạm vào Khi người dung ấn vào phím C4 (tức phím số 40), thơng điệp (msg) truyền đến Synthesizers thông số khác độ lớn, control khác Pedal, Sustan, Pitch Bend nhờ Syntheizers tái tạo âm dựa vào thông số mà Midi truyền vào biến thành âm Analog mà nghe 24 | P a g e CHƯƠNG THIẾT KẾ GIAO DIỆN 5.1 Danh sách hình STT Tên hình Màn hình Midi Piano Màn hình Select Instruments Màn hình Recording Màn hình Select File Màn hình Select Device Màn hình hiển thị Midi Score Ý nghĩa/Ghi Màn hình chơi nhạc tự Màn hình chọn nhạc cụ Màn hình thu âm file Midi Màn hình chọn file Midi Màn hình chọn thiết bị Midi Hiển thị nốt midi 5.2 Giao diện hình 5.2.1 Màn hình Piano Midi 25 | P a g e 5.2.2 Màn hình Select Sound 5.2.3 Màn hình Recording Dialog 26 | P a g e 5.2.4 Màn hình Midi Score (With key) 5.2.5 Màn hình Midi Score (without key) 27 | P a g e 5.2.6 Màn hình Select Midi Device Dialog 5.2.7 Màn hình Select Midi File 28 | P a g e CHƯƠNG TRIỂN KHAI KIỂM THỬ 6.1 Cài đặt Ứng dụng tương thích tốt với Smartphone hệ điều hành Android từ phiên trở lên Quy trình cài đặt ứng dụng dễ dàng, Người dung chọn file apk lựa chọn cài đặt Các bước cài đặt diễn tự động đến cài đặt thành công 6.2 Kết nối Midi Controller Để kết nối thiết bị Midi Controller với điện thoại Android để sử dụng, người dung cần có thiệt bị cần thiết: • Midi cable connection • Usb adapter • Midi Controller Các bước cài đặt Midi Controller: • Đầu tiên cần thiết reset thiết bị controller trạng thái bình thường • Sau chuẩn bị thiệt bị cần thiết, kết nối Midi cable connection với Usb adaper (thường USB OTG) • Sau kết nối dây Midi cắm vào Usb adapter với cổng USB Smartphone • Có nhiều chuẩn khác cho cổng USB Có thể microUSB type C USB người dùng nên ý tới cổng tương thích tương ứng mà điện thoại trang bị • Sau kết nối vào điện thoại, mở ứng dụng lên hộp thoại xuất hiện, chọn Yes để kết nối thiết bị Midi với ứng dụng • Trong trường hợp khơng nhận thiết bị, người dùng nên tắt ứng dụng, rút dây Midi cắm lại Lỗi khơng nhận USB Midi xảy người dùng mở ứng dụng trước kết nối thiết bị Midi không tương thích (Phần mơ tả thiết bị Midi tương thích với ứng dụng có kiểm thử) 29 | P a g e 6.3 Các thiết bị Midi tương thích Dưới danh sách Midi Driver USB tương thích với ứng dụng Lưu ý: Đây danh sách thiết bị kiểm thử thành công cao Hãng Sản Xuất ID YAMAHA 1177 KORG 1410 ROLAND 2045 MOTU 5840 MCS 2372 CME 28932 6.4 Các thiết bị cài đặt kiểm thử Ứng dụng kiểm thử với số thiết bị sau: • Xiaomi Redmi Note • Xiaomi Redmi Note Pro • Mi SE • Samsung Galaxy M51 • Huawei Honor 8x 30 | P a g e CHƯƠNG KẾT LUẬN 6.1 Thuận lợi Về bản, chức ứng dụng đạt yêu cầu đặt trước Việc phát triển ứng ứng dụng có hỗ trợ thư viện bên thứ kshoijMidiDriver tích hợp số tính từ project khác nên phần code trở nên hiệu đỡ nặng nề hơn, triển khai nhanh chóng 6.2 Khó khăn Tuy hệ điều hành Android bước cải thiện ứng dụng đòi hỏi có giao tiếp real-time với thiết bị khác vấn đề lớn tảng Android Android không thực hỗ trợ tốt cho tác vụ xử lý âm Midi Khơng có cách truy cập thẳng vào phần kernel Android hệ điều hành mở Các phiên Android từ trước tới giao tiếp làm việc với Midi Driver thơng qua hình thức gián tiếp JNI C/C++ điều làm cho việc tiếp cận phát triển ứng dụng dạng trở nên khó khan thiết kế lẫn triển khai Gần Android 10 mắt, Android hỗ trợ tốt cho Midi, nhiên phiên Android 10 chưa sử dụng nhiều hạn chế định Khi sử dụng Midi Controller, thời gian từ nhấn phím đến thời gian âm phát đến loa gặp độ trễ lỡn (khoảng 30ms), điều làm ảnh hưởng đến trải nghiệm người dùng chưa có cách khắc phục vấn đề thuộc hệ điều hành 6.3 Kết đạt Kết đạt sau trình tìm hiểu làm việc với Midi dạng tương tự giúp em trao dời kiến thức quan trọng Tuy có nhiều hạn chế kiến thức công nghệ, việc phát triển ứng dụng mang tính thực tế giúp em có nhiều ý tưởng hồn thiện Do giới hạn mặt thời gian nhiều lí chủ quan khác mà kết ứng dụng chưa đạt hết mong đợi, số chức khơng thể hồn thành Tuy ứng dụng hoạt động ổn định tính 31 | P a g e ứng dụng hồn thành Em có dự định phát triển ứng dụng lên phiên hoàn thiện (được đề cập hướng mở rộng) đầu tư kĩ lưỡng mặt thời gian công sức 6.4 Hướng phát triển Về ứng đụng chạy ổn định, nhiên tương lai cần có nâng câp cải tiến như: Giảm độ trễ thực kết nối với Midi Controller (Đây điều trực tiếp ảnh hướng đến trải nghiệm người dùng) Hiển thị thông tin khác lên chức Chord Progression tích hợp thêm tính khác để làm cho trở thành phần mềm vừa chơi nhạc vừa học nhạc hiệu 32 | P a g e CHƯƠNG TÀI LIỆU THAM KHẢO https://github.com/kshoji/USB-MIDI-Driver https://syntheway.com/MIDI_Keyboards_Middle_C_MIDI_Note_Numbe r_60_C4.htm https://www.midi.org/specifications/midi1-specifications https://docs.oracle.com/javase/8/docs/api/javax/sound/midi/packageframe.html https://www.musicxml.com/tutorial/the-midi-compatible-part/ https://github.com/dmkoelle/jfugue http://www.jfugue.org/doc/index.html?org/jfugue/player/SynthesizerMan ager.html https://www.oracle.com/technetwork/systems/ts-5263-159137.pdf 33 | P a g e ... Midi hay thiết bị khác cho phép kết nối giao tiếp với ứng dụng định Ứng dụng cho phép người dung kết nối với Midi Controller sử dụng âm sắc ứng dụng để tạo nhạc theo ý thích 1.3.2 Chức chơi nhạc. .. Google xây dựng cung cấp miễn phí cho nhà phát triển ứng dụng Android Android 7|Page studio dựa vào IntelliJ IDEA, IDE tốt cho Java Do Android Studio môi trường phát triển ứng dụng tốt cho Android. .. nên tắt ứng dụng, rút dây Midi cắm lại Lỗi khơng nhận USB Midi xảy người dùng mở ứng dụng trước kết nối thiết bị Midi không tương thích (Phần mơ tả thiết bị Midi tương thích với ứng dụng có