Đồ án tốt nghiệp: XÂY DỰNG ỨNG DỤNG SOẠN THẢO ÂM THANH CƠ BẢN TRÊN ANDROID. Đồ án tốt nghiệp Đại học Bách khoa Hà Nội Hệ cử nhân công nghệ thông tin. Tài liệu bao gồm báo cáo chi tiết và source code Android Java.
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN XÂY DỰNG ỨNG DỤNG SOẠN THẢO ÂM THANH CƠ BẢN TRÊN ANDROID Sinh viên thực : _ Lớp _ Giáo viên hướng dẫn: PGS HÀ NỘI - Sinh viên thực hiện: _ – – Khóa _ – Lớp _ PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Thông tin sinh viên Họ tên sinh viên: _ Điện thoại liên lạc: Email: Lớp: Hệ đào tạo: Đại học quy Đồ án tốt nghiệp thực tại: Hà nội Thời gian làm ĐATN: Từ _đến _ Mục đích nội dung ĐATN Xây dựng ứng dụng soạn thảo âm Android Các nhiệm vụ cụ thể ĐATN - Tìm hiểu âm số - Tìm hiểu định dạng âm WAV - Phân tích thiết kế hệ thống - Lập trình ứng dụng Android, sử dụng Eclipse IDE Lời cam đoan sinh viên: Tôi – - cam kết ĐATN cơng trình nghiên cứu thân tơi hướng dẫn PSG. Các kết nêu ĐATN trung thực, chép tồn văn cơng trình khác Hà Nội, ngày tháng năm Tác giả ĐATN Xác nhận giáo viên hướng dẫn mức độ hoàn thành ĐATN cho phép bảo vệ: Hà Nội, ngày tháng năm Giáo viên hướng dẫn PGS _ Sinh viên thực hiện: _ – – Khóa _ – Lớp _ LỜI CÁM ƠN Được phân công Viện công nghệ thông tin truyền thông Trường Đại học Bách Khoa Hà Nội đồng ý giáo viên hướng dẫn PGS _ em thực đề tài “Xây dựng ứng dụng soạn thảo âm Android” làm đồ án tốt nghiệp Để thực đồ án này, em xin chân thành cảm ơn thầy cô giáo hướng dẫn, giảng dạy suốt trình học tập trường Em xin gửi lời cảm ơn đến thầy giáo PGS trực tiếp hướng dẫn em thực đồ án Đồ án chắn nhiều điểm thiếu sót, em mong nhận ý kiến đóng góp, phê bình thầy để hồn thiện kiến thức Em xin chân thành cảm ơn ! Sinh viên thực Sinh viên thực hiện: _ – – Khóa _ – Lớp _ TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Đề tài đồ án tốt nghiệp: “Xây dựng ứng dụng soạn thảo âm tảng Android” Sau phần tóm tắt nội dung đồ án tốt nghiệp Chương 1: Tác giả vào tìm hiểu lý thuyết âm thanh, tín hiệu âm số, lập trình Android phục vụ cho việc xây dựng ứng dụng Chương 2: Chương trình bày phân tích thiết kế ứng dụng từ tổng quan đến chi tiết Chương 3:Tiến hành lập trình cài đặt ứng dụng Android, trình bày kết thực tiến hành chạy ứng dụng Cuối cùng, phần kết luận tác giả đưa kết đạt đồ án, điểm cịn thiếu sót hướng phát triển ứng dụng tương lai Sinh viên thực hiện: _ – – Khóa _ – Lớp _ MỤC LỤC PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP LỜI CÁM ƠN TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP MỞ ĐẦU DANH MỤC CÁC HÌNH VẼ DANH MỤC CÁC BẢNG DANH MỤC CÁC THUẬT NGỮ, VIẾT TẮT CHƯƠNG – CƠ SỞ LÝ THUYẾT 10 I- Tổng quan âm 10 Âm ? 10 Định dạng âm số WAV 11 II- Lập trình tảng Android 13 Tổng quan hệ điều hành Android 13 Lập trình Android 13 Ứng dụng Andoid việc thực đồ án 14 3.1 Ứng dụng trình ghi âm 14 3.2 Ứng dụng việc play âm 15 3.3 Ứng dụng trình hiển thị liệu 16 CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG 17 I- Phân tích yêu cầu ứng dụng 17 II- Thiết kế tổng quan 18 III- Thiết kế chi tiết 25 CHƯƠNG 3: KẾT QUẢ THỰC HIỆN CHƯƠNG TRÌNH 34 I- Thực chức chương trình 34 II- Đánh giá kết thực 41 TÀI LIỆU THAM KHẢO 42 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ MỞ ĐẦU Lý chọn đề tài: Công nghệ âm ngày có phát triển vượt bậc, khơng việc lưu trữ từ dạng tương tự đến dạng số mà việc xử lý, phân tích thơng tin từ liệu âm Hiện nay, công cụ giúp ghi âm, xử lý, phân tích tín hiệu âm có nhiều, đáp ứng nhu cầu học tập, nghiên cứu hầu hết ứng dụng tảng máy tính cá nhân PC Với phát triển mạnh mẽ thiết bị di động có khả ghi âm, khả xử lý chất lượng hiển thị tốt; hồn tồn xây dựng chương trình, phần mềm giúp việc ghi âm, xử lý, phân tích tín hiệu âm tiện lợi hơn, phục vụ cho nhu cầu học tập nghiên cứu Do vậy, em lựa chọn đề tài xây dựng ứng dụng soạn thảo âm tảng di động Android Mục tiêu đồ án: Xây dựng ứng dụng tảng di động Android với khả ghi âm, vẽ hiển thị liệu âm thanh, cắt âm lưu lại file mới, vẽ hiển thị hàm tự tương quan tín hiệu âm Phạm vi đồ án: Trong phạm vi đồ án, em nghiên cứu vấn đề sau: - Tìm hiểu khái niệm âm số - Tìm hiểu định dạng file âm WAV - Tìm hiểu việc phát triển ứng dụng Android - Các hỗ trợ Android mục tiêu đồ án - Phân tích xây dựng chương trình Sinh viên thực hiện: _ – – Khóa _ – Lớp _ DANH MỤC CÁC HÌNH VẼ STT Tên hình Nội dung Trang Hình 1.1 Nguyên lý hoạt động PCM 11 Hình 2.1 Biểu đồ phân cấp chức 17 Hình 2.2 Sơ đồ hoạt động chức ghi âm 18 Hình 2.3 Sơ đồ hoạt động chức xem danh sách file ghi âm 19 Hình 2.4 Sơ đồ hoạt động chức hiển thị liệu file ghi âm 20 Hình 2.5 Sơ đồ hoạt động chức play file ghi âm 21 Hỉnh 2.6 Sơ đồ hoạt động chức cắt đoạn liệu chọn 22 Hình 2.7 Hoạt động chức hiển thị hàm tự tương quan 23 Hình 2.8 Thiết kế chuyển hình 24 10 Hình 3.1.1 Sơ đồ chức ghi âm 25 11 Hình 3.1.2 Sơ đồ chức xem danh sách file ghi âm 26 12 Hình 3.1.3 Sơ đồ chức hiển thị liệu file ghi âm 27 13 Hình 3.1.4 Sơ đồ chức zoom hiển thị liệu ghi âm 28 14 Hình 3.1.5 Sơ đồ chức di duyển hiển thị liệu ghi âm 29 15 Hình 3.1.6 Sơ đồ chức chọn khoảng play âm 30 16 Hình 3.1.7 Sơ đồ chức chọn khoảng cắt âm 31 17 Hình 3.1.8 Sơ đồ chức vẽ hàm tự tương quan tín hiệu ghi âm 32 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ DANH MỤC CÁC BẢNG STT Tên bảng Bảng 1.1 Nội dung Cấu trúc file định dạng âm Wav Trang 12 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ DANH MỤC CÁC THUẬT NGỮ, VIẾT TẮT Từ viết tắt Ý nghĩa PCM Pulse code modulation WAV Wavform Audio File Format RIFF Resource Interchange File Format Sinh viên thực hiện: _ – – Khóa _ – Lớp _ CHƯƠNG – CƠ SỞ LÝ THUYẾT I- Tổng quan âm Âm ? Âm sóng liên tục lan truyền khơng khí Âm giống sóng nói chung, có đặc tính như: tần số, bước sóng, chu kỳ, biên độ vận tốc lan truyền Âm truyền khơng khí thuộc dạng sóng áp suất thể thay đổi áp suất khơng khí theo thời gian không gian Tần số âm xác định độ cao hay độ trầm bổng âm Đối với tiếng nói, tần số dao động dây định độ trầm bổng giọng nói Biên độ sóng âm xác định độ lớn âm phát to hay nhỏ Số hóa âm Những ứng dụng công nghệ âm đa dạng, mục tiêu ban đầu để tái âm thời điểm, địa điểm khác Kỹ thuật sử dụng để ghi âm, truyền tải xử lý âm kỹ thuật tương tự (analog) Người ta nhận thấy rằng, sóng điện từ có chế biểu diễn tín hiệu tương tự âm lan truyền khơng khí Hiệu điện đầu vào microphone dạng tương tự áp suất khơng khí Những tín hiệu điện lưu lại cách vật lý băng từ,… Kỹ thuật tương tự có nhược điểm dễ dẫn đến sai sót, mát thơng tin q trình ghi âm, bảo quản, xử lý tín hiệu phụ thuộc vào loại thiết bị cách thức lưu trữ Với đời máy tính điện tử, có cách khác để lưu trữ lại thông tin âm thanh, lưu trữ dạng số Cách mơ tả thông tin âm dạng số sử dụng phổ biến sử dụng hệ thống PCM (pulse code modulation) Q trình số hóa đặc trưng việc lấy mẫu Tín hiệu âm lấy mẫu chiều thời gian biên độ Lấy mẫu theo chiều thời gian gọi đơn giản lấy mẫu, đặc trưng cho trình tần số lấy mẫu (sampling rate) Lấy mẫu theo chiều biên độ hay điện gọi q trình lượng tử hóa Hình ảnh bên mô tả hoạt động hệ thống PCM 10 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ 1.5 Chức di chuyển biểu đồ Hình 3.1.5: Sơ đồ hoạt động chức di chuyển hiển thị liệu file ghi âm Mô tả: Khi thực chức zoom, đồ thị bị trải rộng kích thước hình Do đó, người dùng chạm vào vùng đồ thị di chuyển, đối tượng view tùy biến Editor Wav View thực nhận khoảng cách di chuyển thực vẽ lại đồ thị 29 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ 1.6 Chức chọn khoảng play Hình 3.1.6: Sơ đồ chức play âm ghi âm Mô tả: Khi người dùng chọn khoảng liệu, lớp view tùy biến thực nhận tham số vị trí cảm ứng tiến hành bôi đậm khoảng liệu mà người dùng chọn Khi người dùng chọn chức play, lớp view thực tính tốn chuyển đổi từ vị trí điểm ảnh hình số thứ tự mẫu âm thanh, từ xác định khoảng liệu cần truyền cho lớp AudioTrack để thực play âm 30 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ 1.7 Chức chọn khoảng cắt Hình 3.1.7: Sơ đồ chức cắt đoạn liệu chọn Mô tả: Khi người dùng chọn khoảng liệu hình lựa chọn cắt, đối tượng view tùy biến Editor Wav View tính tốn chuyển vị trí hình thứ tự mẫu âm Từ chương trình biết khoảng liệu âm cần cắt Đối tượng WavReader chứa thông tin liệu file âm hiển thị tiến hành loại bỏ mẫu chọn trả lại liệu để vẽ lại đồ thị tín hiệu âm Khi người dùng ấn lưu, chương trình gọi đến đối tượng WavRecorder với tham số đối tượng WavReader thực ghi toàn liệu âm chỉnh sửa file 31 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ 1.8 Chức hiển thị hàm tự tương quan tín hiệu Hình 3.1.8: Sơ đồ hoạt động chức hiển thị hàm tự tương quan tín hiệu file ghi âm Mơ tả: Người dùng hình hiển thị liệu file ghi âm, chọn menu vẽ hàm tự tương quan Màn hình hiển thị hàm tự tương quan lên gồm hai phần: phần hiển thị liệu file âm wav editor view phần vẽ hàm tự tương quan tín hiệu autocorrelation view Người dùng chọn khoảng liệu muốn vẽ hàm tự tương quan wav editor view, thông tin khoảng liệu chọn gửi tới autocorrelation view thực tính tốn giá trị hàm tự tương quan Sau đó, đồ thị hàm tự tương quan vẽ autocorrelation view, với thông tin tần số Hàm tự tương quan tính theo công thức: N số mẫu chọn, x(n) giá trị mẫu thứ n Trong đó: k = 0, 1, 2, , K; K đồ án lấy : sampleRate / 75 32 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ Thiết kế lớp đối tượng Các lớp có chương trình: MainActivity: hình ứng dụng EditorScreen: hình xem chỉnh sửa file ghi âm ListFileScreen: hình hiển thị danh sách file AutocorrelationScreen: hình hiển thị hàm tự tương quan FileUtils: thực thao tác xóa file Settings: chứa thơng số cáu hình ghi âm WavReader: lớp có nhiệm vụ đọc thơng tin file WavRecorder: lớp có nhiệm vụ thực ghi âm PlotView: lớp cha hiển thị giao diện đồ thị AutocorrelationView: lớp hiển thị hàm tự tương quan WavEditorView: lớp thực hiển thị liệu file ghi âm WavRecordingView: Lớp thực vẽ liệu ghi âm Các interface có chương trình: OnSaveListener: nhận kiện sau lưu file xong PlayWavListener: lớp nhận kiện play, onPlaying, stopPlay WavRecorder.OnRecordingListener: nhận liệu ghi âm WavEditorView.SelectRangeListener: nhận thông tin khoảng liệu mà người dùng chọn 33 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ CHƯƠNG 3: KẾT QUẢ THỰC HIỆN CHƯƠNG TRÌNH I- Thực chức chương trình Chức ghi âm: Các hình ảnh lần lượt: giao diện vào ứng dụng, giao diện chưa ghi âm, giao diện ghi âm 34 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ Giao diện sau ghi âm, giao diện ấn nút lưu, giao diện sau lưu file 35 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ Chức hiển thị danh sách file ghi âm Màn hình danh sách file ghi âm hình ấn giữ tên file 36 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ Chức zoom biểu đồ liệu Màn hình zoom liệu theo biên độ, hình zoom liệu theo thời gian Chức di chuyển đồ thị Màn hình sau đồ thị di chuyển sang trái 37 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ Chức chọn khoảng play Màn hình chức chọn khoảng play 38 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ Chức chọn khoảng cắt Màn hình chọn khoảng, hình sau cắt, hình ấn nút lưu hình sau lưu file 39 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ Chức hiển thị hàm tự tương quan tín hiệu 40 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ II- Đánh giá kết thực Kết đạt Về bản, ứng dụng đáp ứng mục tiêu đặt ban đầu, cụ thể là: - Ghi âm với file định dạng âm WAV PCM với sampleRate 16000Hz sampleSize 16bit, kênh mono - Hiển thị hình ảnh liệu lúc ghi âm - Vẽ, hiển thị liệu âm thu với khả zoom theo biên độ thời gian - Chọn khoảng liệu play theo khoảng liệu - Cắt bỏ khoảng liệu chọn lưu lại file - Vẽ hàm tự tương quan liệu thu âm Những hạn chế chương trình Tuy đạt mục tiêu đề chương trình cịn điểm hạn chế: - Chưa có tùy chọn thơng số file ghi âm - Chế độ xem, chỉnh sửa chưa tối ưu, chưa đáp ứng cho file với kích thước lớn - Chương trình cịn đơn giản, chức Hướng phát triển ứng dụng - Khắc phục điểm hạn chế chương trình - Phát triển thêm tính phục vụ phân tích tín hiệu âm thanh, tín hiệu tiếng nói 41 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ TÀI LIỆU THAM KHẢO John Watkinson , The Art of Digital Audio , 3rd ed., 2001 https://ccrma.stanford.edu/courses/422/projects/WaveFormat/ October 2014 https://www.cs.cf.ac.uk/Dave/Multimedia/node143.html December 2014 last visited last http://wiki.audacityteam.org/wiki/WAV last visited December 2014 http://developer.android.com last visited December 2014 visited 42 Sinh viên thực hiện: _ – – Khóa _ – Lớp _ Quảng cáo Ứng dụng tạo video hoạt hình điện thoại https://youtu.be/DfF0qXYeRnE Tải dành cho điện thoại Android https://play.google.com/store/apps/details?id=vn.mocalaka.animation.coolcat Hoặc quét mã QR 43 Sinh viên thực hiện: _ – – Khóa _ – Lớp _