Xây dựng ứng dụng truyền thông âm thanh

68 216 0
Xây dựng ứng dụng truyền thông âm thanh

Đ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

http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang LỜI NÓI ĐẦU KIL OBO OK S CO M Trong năm gần đây, mạng máy tính ngày trở nên phổ biến Việc liên kết máy tính môi trường mạng liên kết mạng lại với đem lại cho nhiều lợi ích công việc việc học tập nghiên cứu, giải trí Chúng ta sử dụng tài nguyên sẵn có chia xẻ file server, printer, máy fax, môi trường mạng môi trường thông tin nhanh chóng tiện lợi nhờ vào chế truyền thông mạng : e-mail, www Bên cạnh đó, tốc độ phát triển máy tính PC nhanh chóng Các kỹ thuật đại giúp tạo máy PC với tốc độ tính toán nhanh hơn, nhớ lớn khả xử lý ngày đa dạng giá thành ngày rẻ Một khả ưu việt máy PC hỗ trợ multimedia Các máy PC ngày giao tiếp với người không text mà kết hợp tất phương tiện khác tiếng nói, hình ảnh Việc đưa kỹ thuật multimedia vào ứng dụng truyền thông mạng giúp tạo nhiều ứng dụng phong phú Chẳng hạn hộp thư điện tử ngày không văn mà bao gồm tiếng nói, hình ảnh Các trang web trở nên sinh động hẳn kèm theo kỹ thuật multimedia Bên cạnh đó, thiết kế ứng dụng tiện ích Video conference, voice mail Thông qua chương trình này, người sử dụng trao đổi thông tin với tiếng nói Chương trình thực nhiều lónh vực thông tin điện thoại, viễn thông, máy tính Tuy nhiên chưa áp dụng phát triển rọâng rãi lónh vực thông tin khác hạn chế thiết bò Ngày nay, công nghệ thông tin phát triển việc thực chương trình hoàn toàn Ứng dụng nhiều lónh vực khác : •Việc dạy học từ xa •Việc chẩn đoán, chữa bệnh từ xa •Hội thảo, thảo luận theo nhóm •Công cụ trao đổi thông tin hình ảnh âm Mục tiêu đồ án tốt nghiệp tìm hiểu mô hình công nghệ truyền âm mạng máy tính, sở xây dựng ứng dụng truyền thông âm thoại mạng cục Đồ án xây dựng thử nghiệm hệ thống cho phép trao đổi thông tin tiếng nói thoại, tương tác điểm – điểm mạng LAN Đồ án trình bày gồm chương với bố cục sau : Chương I : Tìm hiểu mô hình điện thoại qua mạng, Từ đưa mô hình thực thi đồ án Chương II: Giới thiệu chung giao thức truyền thông mạng Internet vào khảo sát cụ thể giao thức Chương III : Giới thiệu chuẩn mã hoá nén âm Chương IV : Tìm hiều môi trường lập trình SDK Windows ứng dụng mạng Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang KIL OBO OKS CO M Chương V : Thiết kế chương trình truyền tiếng nói qua mạng LAN thông qua trợ giúp công cụ SDK Đánh giá kết thử nghiệm Phần kết luận : Nêu kết đề tài hướng nghiên cứu hướng phát triển Việc nghiên cứu lý thuyết cách hệ thống xây dựng chương trình phần mềm đòi hỏi phải đầu tư nhiều thời gian Với thời gian có hạn luận văn em không tránh khỏi thiếu sót, em mong dẫn thêm thầy cô bạn Nhân đây, em xin chân thành cám ơn đến PGS - TS Nguyễn Thò Hoàng Lan, người trực tiếp hướng dẫn em hoàn thành luận văn Em xin chân thành cám ơn thầy cô khoa Công nghệ thông tin Trường ĐH Bách Khoa HN, Trường ĐH Thủy Sản toàn thể bạn giúp đỡ em hoàn thành luận văn Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN LUẬN VĂN TỐT NGHIỆP Trang KIL OBO OKS CO M CHƯƠNG I TÌM HIỂU MÔ HÌNH ĐIỆN THOẠI QUA MẠNG I.1 CÁC MÔ HÌNH ĐIỆN THOẠI I.1.1 MÁY TÍNH ĐẾN MÁY TÍNH Trong mô hình hai thuê bao sử dụng máy tính nối vào mạng IP thiết bò đầu cuối Tiếng nói mã hoá sau nén trình nhận liệu hoàn toán giống với quy trình ngược lại giải nén, giải mã phần mềm Trong mô hình đòi hỏi hai thuê bao cần phải có soundcard, microphone, loa phần mềm giống nhau.[1] IP Máy tính Máy tính Hình I.1 : Mô hình PC - PC Máy tính IP Gateway I.1.2 MÁY TÍNH ĐẾN ĐIỆN THOẠI HOẶC ĐIỆN THOẠI ĐẾN MÁY TÍNH Trong mô hình này, thuê bao sử dụng máy tính nối mạng với mạng thuê bao sử dụng điện thoại mạng PSTN/ISDN/GSM/TDM Sử dụng gateway để chuyển tiếng nói mạng IP thành tiếng nói mạng PSTN trao đổi thông tin hai mạng Như vậy, máy tính phải đầy đủ thiết bò Soundcard, loa, microphone phần mềm thông qua server mạng IP để kết nối với mạng PSTN thông qua Geteway PSTN Điện thoại Hình I.2 : Mô hình Máy tính – Điện thoại I.1.3 ĐIỆN THOẠI ĐẾN ĐIỆN THOẠI Trong mô hình này, hai thuê bao sử dụng điện thoại bình thường mạng IP sử dụng trường hợp gọi đường dài Gateway sử dụng hai đầu để chuyển đổi liệu mạng với nhau.[1] Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN PSTN Điện thoại IP Gateway Gateway PSTN Trang KIL OBO OKS CO M Điện thoại LUẬN VĂN TỐT NGHIỆP Hình I.3 : Mô hình Điện thoại – Điện thoại I.2 YÊU CẦU ỨNG DỤNG TRUYỀN ÂM THANH TRÊN MẠNG LAN Trong phần phân tích yêu cầu xây dựng ứng dụng truyền âm mạng LAN : Từ ba mô hình em nhận thấy mô hình đòi hỏi trình nghiên cứu thiết bò phức tạp, đòi hỏi phải đầu tư công nghệ thực Nên đồ án thức theo mô hình PC – PC, đơn giản không cần đầu tư thiết bò mới, tận dụng thiết bò có sẵn điều quan trọng thử nghiệm hoàn chỉnh phạm vi đồ án Vấn đề đặt với hệ thống mạng LAN, WAN với tài nguyên sẵn có xây dựng chương trình truyền tiếng nói với thời gian thực cho phép từ máy sang máy khác (point to point) với số yêu cầu thích hợp giống việc xử lý truyền tiếng nói thông tin liên lạc (điện thoại hữu tuyến) Chương trình sử dụng giao thức TCP/IP giao thức phổ biến tin cậy để kết nối truyền tiếng nói Do sử dụng giao thức TCP giao thức có liên kết nên dẫn đến độ trễ lớn với ứng dụng mạng LAN chấp nhận Ngay tiếng nói thu qua số xử lý mã hoá tiếng nói nén máy, tiếng nói truyền tới máy cần kết nối qua xử lý ngược so với lúc thu giải nén giải mã để phát loa Chương trình cho phép kết nối hai máy tạo mô hình điện thoại máy tính điện thoại hữu tuyến thông thường Bất kỳ máy mạng chế độ chờ hay chế độ chạy (background) gọi máy P-SERVER; máy chế độ gọi (active) gọi P-CLIENT Như máy mạng P-SERVER P-CLIENT Trên môi trường mạng, muốn nói chuyện người máy đó, tiến hành việc gọi liên kết Việc gọi liên kết tiến hành việc xác đònh đòa IP máy mà cần liên kết Sau chờ việc xác lập liên kết Ở máy gọi có thông báo cho người sử dụng biết có người khác muốn nói chuyện Tùy theo người đònh có chấp nhận hay không Nếu chấp nhận liên kết xác lập hai bên tiến hành trao đổi thông tin với Trong trình trao đổi thông tin, máy truyền tiếng nói người sử dụng đồng thời nhận liệu âm máy liên kết Khi nói chuyện xong, liên kết bò hủy bỏ chương trình kết thúc Nếu máy gọi người trả lời sau thời gian chờ vượt giới hạn liên kết bò huỷ bỏ Vì liệu truyền nhận chương trình liệu dạng liên tục âm có Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang KIL OBO OKS CO M yêu cầu đặt sau: Bảo đảm tính mạch lạc liệu Tiếng nói trình thông tin phải rõ ràng, liền lạc, không bò ngắt quãng Các yêu cầu đặt nhiệm vụ mà phải giải việc xây dựng chương trình Đối với liệu âm thanh, phải xem xét thông số trình lấy mẫu đầu vào Các thông số đặc trưng : tần số lấy mẫu, số bit biểu diễn cho điểm lấy mẫu, kênh lấy mẫu sử dụng kênh (mono) hay hai kênh (stereo) Do phải tổ chức kích thước buffer âm cho phù hợp với việc truyền nhận đạt tốc độ cao Một vấn đề khác đặt với liệu âm việc nhận phát đầu ra, phải quan tâm đến việc xử lý loại bỏ tín hiệu nhiễu giúp cho âm rõ ràng, trung thực Do việc truyền nhận liệu môi trường mạng nên phải quan tâm đến tốc độ, lưu lượng trao đổi liệu, thời gian truyền nhận để đưa cách giải cho phù hợp Ngoài vấn đề trên, số yêu cầu khác đặt cho ứng dụng : chế tạo lập liên kết, việc chọn lựa dạng format liệu, đònh thông số thời gian Tất nhiệm vụ thực thi phải thực thông qua giao diện dễ dàng cho người sử dụng.[3] Trường hợp mở rộng hệ thống cho mạng Internet cần kết nối server mạng với tổng đài mạng PABX, yêu cầu đòi hỏi phức tạp cần có trang thiết bò để thử nghiệm Bởi đồ án em nghiên cứu cách thức truyền tiếng nói mạng nội Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang KIL OBO OKS CO M CHƯƠNG II KHẢO SÁT CÁC GIAO THỨC TRUYỀN THÔNG II.1 KHÁI NIỆM CƠ BẢN GIAO THỨC TCP/IP Trong hệ thống mạng Internet, máy có tên đòa IP (Internet Protocol) Tên hay đòa IP xác đònh máy hệ thống mạng Internet Giữa tên máy đòa IP chuyển đổi thông qua hàm Đòa IP biểu diễn số 32 bits Mỗi giao diện mạng nút có hỗ trợ ngăn xếp IP gán đòa IP Đòa IP gồm phần : số mạng(netid) số máy chủ (hostid) Những bits quan trọng dùng để xác đònh số lượng bits dùng cho netid hostid Có lớp đòa xác đònh A,B,C,D E Trong đó, lớp A,B,C chứa đòa gián Lớp D dành riêng cho kỹ thuật Multicasting sử dụng giao thức đặc biệt để truyền thông điệp đến nhóm nút chọn lọc Lớp E dành riêng cho ứng dụng tương lai.[5] Hình II.1 Các lớp đại IP Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang KIL OBO OKS CO M LUẬN VĂN TỐT NGHIỆP Hình II.2 TCI/IP mô hình OSI Netid nhận dạng cho mạng riêng biệt Các kiểu lớp đòa IP cho thấy số lượng mạng số lượng nút lớp khác Bảng cho thấy số lượng mạng số lượng nút lớp đòa : Lớp đòa A B C Số lượng mạng 127 16.383 2.097.151 Số lượng nút 16.777.241 65.534 254 Mạng lớp A dùng cho mạng diện rộng Trường netid có bits nên có 127 mạng Mạng lớp B mạng có kích thước trung bình thích hợp cho tổ chức có quy mô lớp vừa Mạng lớp C dùng quan nhỏ, mạng có không 254 nút Con số 32 bits biểu thò chữ số thập phân tương ứng giá trò byte tạo thành đòa IP Những số thập phân cách dấu chấm (.) Một ví dụ tên máy đòa IP máy : Hostname : viethung IP Address : 192.168.0.55 II.1.1 KHÁI NIỆM SOCKET Socket đơn vò cấu trúc truyền thông chiều Chúng đọc hay ghi lên Tuy nhiên socket thành phần mối máy mạng máy tính thao tác đọc ghi thao tác trao đổi liệu ứng dụng nhiều máy khác Socket điểm kết nối cuối cho phép ứng dụng gắn vào mạng Khái niệm socket cung cấp thư viện chứa tất hàm yêu cầu cho chương trình mạng Khi ứng dụng yêu cầu dòch vụ mạng, gọi trình tự tập hợp thư viện để quản lý hoạt động mạng Hai loại socket có sẵn stream datagram.[5] Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN LUẬN VĂN TỐT NGHIỆP Trang Những socket stream dùng cho TCP (Transmission Control Protocol), socket datagram dùng UDP (User Datagram Protocol) Máy B KIL OBO OKS CO M Máy A Port Mối nối Port TCI/IP Interface Hình II.3 Các socket port mối nối TCP/IP Số hiệu cổng 11 13 15 17 20 21 23 25 37 42 49 53 80 102 103 104 111 139 160-223 Mô tả Reserved Management Entry Remote Job Entry Echo Discard Systat Daytime Netstat Quoted(quote of the day) FTP data FTP control Telnet SMTP Time Host name server Login host protocol Domain name server World wide web HTTP ISO-TSAP x.4000 X.4000 sending server Sun RPC NetBIOS session source Reserved Ghi : Trò số cổng ứng dụng : Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com LUẬN VĂN TỐT NGHIỆP - THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang Các ứng dụng chuẩn : – 999 Các ứng dụng không chuẩn : 1000 – 64000 KIL OBO OKS CO M II.1.2 GIAO THỨC IP Internet protocol (IP) dạng giao thức truyền tin thiết kế cho mạng chuyển mạng gói Vai trò IP tương đương với vai trò tầng mạng mô hình OSI Giao thức IP đảm nhiệm việc chuyển gói mạch liệu (datagram) từ đòa nguồn đến đòa đích Đòa IP có đòa cố đònh (4 byte) dùng để xác đònh trạm làm việc tham gia vào việc truyền, nhận liệu Trong trường hợp mạng truyền tin truyền gói liệu có kích thức nhỏ, giao thức IP đảm nhiệm chức chia nhỏ gói liệu có kích thước lớn trước truyền gộp chúng lại chúng sau nhận được.[5] Giao thức IP thiết kế với chức chuyển gói bit, gọi internet datagram từ đòa nguồn đến đòa đích Đây giao thức theo kiểu không liên kết, nghóa giai đoạn thiết lập liên kết trước truyền liệu, chế bảo đảm thông tin tới đích an toàn, chế điều khiển luồng liệu Trên thực tế việc thông báo lỗi đường truyền thực nhờ giao thức khác có tên ICMP( Internet Control Message Protocol) Đòa IP nói trên, chuỗi bit có độ dài byte, phân chia làm lớp bit dùng làm đònh danh lớp đòa II.2 GIAO THỨC TCP Giao thức TCP giao thức dùng cho tầng tầng IP Đối với mô hình OSI, ta thấy tầng TCP có vai trò tương ứng với tầng giao vận tầng phiên Khác với IP, TCP giao thức có liên kết (connection oriented), nghóa thiết phải có giai đoạn thiết lập liên kết giữ cặp thực thể TCP trước chúng có trao đổi liệu với Giao thức TCP cung cấp khả truyền liệu cách an toàn thực thể mạng Nó cung cấp chức nhằm kiểm tra tính xác liệu gửi đến gửi lại liệu có lỗi xảy ra.[5] Đơn vò liệu TCP gọi segment Trong segment có cặp tham số số hiệu cổng trạm nguồn số hiệu cổng trạm đích Mỗi tiến trình ứng dụng trạm truy cập dòch vụ TCP thông qua cổng Một cổng kết hợp với đòa IP tạo thành socket mạng Dòch vụ TCP cung cấp nhờ liên kết logic cặp socket, socket tham gia liên kết với nhiều socket xa khác Trước truyền liệu chúng thiết lập liên kết nhu cầu truyền liệu liên kết giải phòng Mỗi ứng dụng TCP gồm hai phần client server Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang 10 KIL OBO OKS CO M Lưu đồ sau minh họa bước cần thiết để ứng dụng client server giao tiếp với : Hình II.4 Tạo kết nối client server theo giao thức TCP II.2.1 CÁCH THỨC CÀI ĐẶT ỨNG DỤNG TCP SERVER Ứng dụng TCP server làm việc theo qui trình sau: Gọi hàm socket để tạo socket Gọi hàm bind để kết buộc socket với port, giao thức ứng dụng chuẩn có số đònh nghóa sẵn winsock cho port giao thức Gọi hàm listen để chờ đến có client nối vào port Khi có client nối vào hàm listen trả điều khiển về, ứng dụng server gọi hàm accept để xác nhận mối nối client Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN LUẬN VĂN TỐT NGHIỆP Trang 54 Lưu đồ giải thuật modul truyền nhận : Bắt đầu sai KIL OBO OKS CO M Buffer truyền có liệu Kết thúc Lấy khung tiếng nói từ buffer truyền Truyền theo giao thức TCP Hình V Lưu đồ giải thuật modul truyền Bắt đầu Có goi tin chưa nhận sai Kết thúc Dùng giao thức TCP Lấy gói tin Kích hoạt modul giải mã Hình V.7 Lưu đồ giải thuật modul nhận V.3 THIẾT KẾ GIAO DIỆN CHƯƠNG TRÌNH CPHONE Chương trình thực với điều kiện hai máy đàm thoại phải chạy chương trình ứng dụng Giao diện chương trình : Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KIL OBO OKS CO M LUẬN VĂN TỐT NGHIỆP Trang 55 Hình V.8 Giao diện chương trình CPhone Khi muốn bắt đầu đàm thoại, người sử dụng vào menu kết nối click vào nhập IP Điều gọi hàm tạo kết nối hai máy PC, hàm hiển thò cửa sổ yêu cầu người sử dụng nhập vào IP máy cần kết nối Sau nhập xong click connect, thông điệp yêu cầu kết nối gửi đến máy cần kết nối Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang 56 KIL OBO OKS CO M LUẬN VĂN TỐT NGHIỆP Hình V.9 Nhập đòa IP Nếu tín hiệu chưa cho phép trình đàm thoại Khi có tín hiệu phản hồi hàm khởi động sound card, card mạng socket gọi thực cuốc đàm thoại Hình V.10 Cuộc đàm thoại thực Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang 57 KIL OBO OKS CO M IV.4 KẾT QUẢ THỰC NGHIỆM&NHẬN XÉT ĐÁNH GIÁ CHƯƠNG TRÌNH IV.4.1 KẾT QUẢ THỰC NGHIỆM Môi trường thử nghiệm đồ án mạng LAN, sử dụng công nghệ Ethernet 10 Mbps Hiện truyền liệu máy tính mạng LAN ít, phần lớn tài nguyên dải thông mạng chưa sử dụng Phần giải thông lại lớn để truyền tín hiệu tiếng nói, lý nên độ trễ point – to – point mạng nhỏ tương đối đồng (hầu hết < 10ms), giá trò nhỏ so với mức chấp nhận 200ms Vì chất lượng đàm thoại trường hợp phụ thuộc vào chất lượng sound card IV.4.2 ĐÁNH GIÁ KẾT QUẢ Qua thử nghiệm, em thấy chất lượng tiếng nói đầu khác biệt so với chất lượng tiếng nói đầu vào, chất lượng âm sau truyền chấp nhận Như du đánh giá qua cảm nhận tai mà nên chưa thể khảng đònh chất lượng tiếng nói sau truyền có đạt tiêu chuẩn cho phép hay không Nếu sử dụng máy đo thông số liên quan đến chất lượng tiếng nói, phương pháp đảm bảo đánh giá xác chất lượng tiếng nói điều kiện chấp nhận Nhưng luận văn dừng lại mức độ đồ án tốt nghiệp điều kiện không cho phép nên chưa có thiết bò đo thông số tiếng nói Vì vậy, chưa thể đánh giá chất lượng âm cách xác So với số dòch vụ truyền âm thoại : VoIP (dòch vụ 171) , Internet Telephony chất lượng âm tốt Vì mô hình Cphone ứng dụng mạng cục nên tốc độ đường truyền cao, mặt khác khoảng cách ngắn Tuy nhiên độ trễ lớn song với mạng cục vấn đề chấp nhận Còn dòch vụ 171 hay Internet Telephony chất lượng âm giai đoạn đầu nói chung không đạt mong muốn người sử dụng chất lượng âm cải thiện đáng kể đặc biệt ứng dụng ngày đưa vào phục vụ sống Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang 58 KẾT LUẬN KIL OBO OKS CO M Đồ án tốt nghiệp hoàn thành nhiệm vụ đề phạm vi cho phép Do điều kiện thời gian trình độ hạn chế nên đồ án dừng lại mức nghiên cứu số phương pháp mã hoá tiếng nói số giao thức truyền tín hiệu mạng Internet TCP/IP, UDP Trên sở xây dựng phần mềm thử nghiệm truyền tiếng nói thoại mạng LAN Đồ án em sử dụng hàm có sẵn môi trường SDK từ xây dựng ứng dụng CPhone liên kết hai máy lại thực trình trao đổi âm Phần thử nghiệm dừng lại việc xây dựng ứng dụng truyền tiếng nói thực thể PC theo giao thức TCP/IP tiếng nói mã hoá theo phương pháp PCM nên tỷ số nén tốc độ truyền chưa cao Mặt khác, đánh giá chất lượng tiếng nói theo phương pháp chủ quan nên chưa khảng đònh điều độ trễ chất lượng tiếng nói sau truyền Thế đạt đồ án chủ yếu nhằm giúp em nắm bắt vững mặt lý thuyết nắm quyền kiểm soát, quyền điều khiển ứng dụng thực tế, kết qua trọng hữu ích cho hoạt động nghiên cứu sau cho dù nội dung luận văn phần thử nghiệm chưa đầy đủ hoàn chỉnh mong muốn Hiện nay, mô hình truyền tiếng nói mạng(VoIP) nghiên cứu phát triển mạng giới nói chung nước ta nói riêng, vấn đề mới, đặc biệt ứng dụng cho mạng Internet Qua thử nghiệm cho thấy hướng nghiên cứu tiếp tục nâng cấp để đưa vào sử dụng, trước tiên với mô hình nhỏ dùng cho mạng cục phòng ban Từ phát triển đưa vào sử dụng diện rộng nhăm tăng chất lượng đàm thoại, giảm giá thành gọi để thương mại hoá sản phẩm Về lâu dài nghiên cứu, xây dựng giải mã cho ngôn ngữ tiếng việt; nghiên cứu ghép thêm modul nhằm tạo đàm thoại mật để đảm bảo an toàn gọi Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang 59 PHẦN PHỤ LỤC KIL OBO OKS CO M Các từ viết tắt, ký hiệu : AbS : Analysis by Synthesis ADPCM : Adaptive Differential Pulse Code Modulation ATC : Adaptive Transform Coding PABX : Private Automatic Branch eXchange PCM : Pulse Code Modulation GMS : Global System for Mobile telecommucations ETSI : European Telecommunication Standards Institude GSM : Global System for Mobile telecommunication protocol MCI : Media Control Interface TCP : Transmission Control Protocol UDP : User Datagram Protocol IP : Internet protocol RIFF : Resource Interchange File Format IMA : Interactive Multimedia Association ICMP : Internet Control Message Protocol LPC : Linear Prediction Coding OSI : Open System Interconnection Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Chương trình nguồn : Đoạn chương trình thực hiên chức đợi (chạy nền) KIL OBO OKS CO M UINT Server(LPVOID param) { const PORT=1967; const NO_FLAGS_SET=0; const MAXBUFLEN=500; WSADATA Data; SOCKADDR_IN SvrAddr,CIntAddr; SOCKET SvrSock,CIntSock; int AddrLen=sizeof(SOCKADDR_IN); int status,nbyte,nbsend; char bufferrecv[MAXBUFLEN],buffersend[80]; //Khởi tạo Windows Socket DLL status=WSAStartup(MAKEWORD(1,1),&Data); if(status!=0) { MessageBox(NULL,"ERROR: WSAStartup unsuccessful.", "WSAStartup error!",MB_ICONEXCLAMATION); return(-1); } memset(&SvrAddr,0,sizeof(SvrAddr)); SvrAddr.sin_port=htons(PORT); SvrAddr.sin_family=AF_INET; SvrAddr.sin_addr.s_addr=htonl(INADDR_ANY); SvrSock=socket(AF_INET,SOCK_STREAM,0); if(SvrSock==INVALID_SOCKET) { MessageBox(NULL,"ERROR: Socket unsuccessful.","Socket error !", MB_ICONEXCLAMATION); WSACleanup(); return(-1); } //Kết buộc socket với PORT bind(SvrSock,(LPSOCKADDR)&SvrAddr,sizeof(SvrAddr)); //Chờ client nối vào listen(SvrSock,1); //Xác nhận mối nối có client nối vào CIntSock=accept(SvrSock,(LPSOCKADDR)&CIntAddr,&AddrLen); if(CIntSock==INVALID_SOCKET) { MessageBox(NULL,"ERROR: Connect unsuccessful.","Connect error !", MB_ICONEXCLAMATION); closesocket(CIntSock); WSACleanup(); return(-1); } Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục Trang 60 http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KIL OBO OKS CO M else { nbyte=recv(CIntSock,bufferrecv,MAXBUFLEN,NO_FLAGS_SET); if((nbyte==0)||(nbyte==SOCKET_ERROR)) { MessageBox(NULL,"Please the end conversation !","The conversation !",MB_ICONEXCLAMATION); closesocket(CIntSock); WSACleanup(); return(-1); } else MessageBox(NULL,bufferrecv,"The coversation !",MB_ICONINFORMATION); strcpy(buffersend,"Receivered the signal Please begin the conversation."); nbsend=send(CIntSock,buffersend,strlen(buffersend)+1,NO_FLAGS_SET); if(nbsend!=(int)strlen(buffersend)+1) { closesocket(CIntSock); WSACleanup(); return(0); } return(0); } } Đoạn mã thực kết nối hai máy : // Tạm dừng trạng thái chờ SuspendThread(Server); // Chuyển sang trạng thái gọi m_DestAddrStr=dialog.m_DestAddrStr; if(m_DestAddrStr=="") { MessageBox("ERROR: Hostname is unknown !","Error hostname !", MB_ICONEXCLAMATION); return(-1); } const PORT=1967; const NO_FLAGS_SET=0; const MAXBUFLEN=256; WSADATA Data; SOCKADDR_IN SockAddr; unsigned long DestAddr; int status,nbyte,nbrecv; char SendBuf[50],RecvBuf[MAXBUFLEN]; // Khởi tạo Windows Socket DLL status=WSAStartup(MAKEWORD(1,1),&Data); if(status!=0) { Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục Trang 61 http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KIL OBO OKS CO M MessageBox("ERROR :WSAStartup unsuccessf", "Error WSAStarup !",MB_ICONEXCLAMATION); return(-1); } // Nhận đòa internet, chuyển sang dạng byte DestAddr=inet_addr(m_DestAddrStr); //Khởi tạo cấu trúc SOCKADDR_IN SockAddr.sin_addr=*(struct in_addr*)&DestAddr; SockAddr.sin_port=htons(PORT); SockAddr.sin_family=AF_INET; // Tạo socket hSock=socket(AF_INET,SOCK_STREAM,0); if(hSock==INVALID_SOCKET) { MessageBox("ERROR: Socket unsuccessful.","Error Socket", MB_ICONEXCLAMATION); WSACleanup(); return(-1); } // Nối vào máy chạy ứng dụng server status=connect(hSock,(LPSOCKADDR)&SockAddr,sizeof(SockAddr)); if(status==SOCKET_ERROR) { MessageBox("ERROR: Connect unsuccessful !","Error connect !", MB_ICONEXCLAMATION); closesocket(hSock); WSACleanup(); return(-1); } else { strcpy(SendBuf,"There is the signal send to your computer !"); nbyte=send(hSock,SendBuf,strlen(SendBuf)+1,NO_FLAGS_SET); nbrecv=recv(hSock,RecvBuf,MAXBUFLEN,NO_FLAGS_SET); if((nbrecv==0)||(nbrecv==SOCKET_ERROR)) { MessageBox("Please end the conversation !", "The conversation",MB_ICONEXCLAMATION); closesocket(hSock); WSACleanup(); return(-1); } else MessageBox(RecvBuf,"The conversation",MB_ICONINFORMATION); } // Kết thúc trạng thái gọi // Khôi phục lại trạng thái chờ ResumeThread(Server); return(1); } Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục Trang 62 http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Đoạn chương trình thực chức ghi âm từ micro void CWAveIn::recordWaveData() { KIL OBO OKS CO M HWAVEIN hWaveIn; HWND hwndApp=NULL; HGLOBAL hWaveHdr; LPWAVEHDR lpWaveHdr; HMMIO hmmio=NULL; UINT wResult; HANDLE hFormat=NULL; WAVEFORMAT pFormat; DWORD dwDataSize=1000; // Mở thiết bò wave để phát if (!waveInOpen((LPHWAVEIN)&hWaveIn, WAVE_MAPPER, (LPWAVEFORMATEX)&pFormat, (LONG)waveInProc, DWORD(this), CALLBACK_FUNCTION)) { MessageBox( "Failed to open waveform input device.", NULL,MB_OK | MB_ICONEXCLAMATION); LocalUnlock(hFormat); LocalFree(hFormat); mmioClose(hmmio, 0); return; } // Allocate and lock memory for the waveform data hData = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE, dwDataSize ); if (!hData) { MessageBox( "Out of memory.", NULL, MB_OK | MB_ICONEXCLAMATION); mmioClose(hmmio, 0); return; } if ((lpData =(HPSTR)GlobalLock(hData)) == NULL) { MessageBox( "Failed to lock memory for data chunk.", NULL, MB_OK | MB_ICONEXCLAMATION); GlobalFree(hData); mmioClose(hmmio, 0); return; } // Allocate and lock memory for the header hWaveHdr = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE, (DWORD) sizeof(WAVEHDR)); if (hWaveHdr == NULL) { Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục Trang 63 http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KIL OBO OKS CO M GlobalUnlock(hData); GlobalFree(hData); MessageBox("Not enough memory for header.", NULL, MB_OK | MB_ICONEXCLAMATION); return; } lpWaveHdr = (LPWAVEHDR) GlobalLock(hWaveHdr); if (lpWaveHdr == NULL) { GlobalUnlock(hData); GlobalFree(hData); MessageBox( "Failed to lock memory for header.", NULL, MB_OK | MB_ICONEXCLAMATION); return; } // After allocation, set up and prepare header lpWaveHdr->lpData = lpData; lpWaveHdr->dwBufferLength = dwDataSize; lpWaveHdr->dwFlags = 0L; lpWaveHdr->dwLoops = 0L; waveInPrepareHeader(hWaveIn, lpWaveHdr, sizeof(WAVEHDR)); // Gởi khối liệu đến thiết bò phát wResult = waveInAddBuffer(hWaveIn, lpWaveHdr, sizeof(WAVEHDR)); if (wResult = 0) { waveInUnprepareHeader(hWaveIn, lpWaveHdr, sizeof(WAVEHDR)); GlobalUnlock( hData); GlobalFree(hData); MessageBox( "Failed to write block to device", NULL, MB_OK | MB_ICONEXCLAMATION); return; } wResult = waveInStart(hWaveIn); if (wResult != 0) return; } Đoạn chương trình play liệu âm void CWAveIn::playbackWaveData() { HWAVEOUT hWaveOut; HWND hwndApp =NULL; HGLOBAL hWaveHdr; LPWAVEHDR lpWaveHdr; HMMIO hmmio=NULL; UINT wResult; HANDLE hFormat=NULL; Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục Trang 64 http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KIL OBO OKS CO M WAVEFORMAT pFormat; DWORD dwDataSize=1000; // Mở thiết bò wave để phát if (waveOutOpen((LPHWAVEOUT)&hWaveOut, WAVE_MAPPER, (LPWAVEFORMATEX)&pFormat, (LONG)hwndApp, 0L, CALLBACK_WINDOW)) { MessageBox( "Failed to open waveform output device.", NULL,MB_OK | MB_ICONEXCLAMATION); LocalUnlock(hFormat); LocalFree(hFormat); mmioClose(hmmio, 0); return; } // Allocate and lock memory for the waveform data hData = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE, dwDataSize ); if (!hData) { MessageBox( "Out of memory.", NULL, MB_OK | MB_ICONEXCLAMATION); mmioClose(hmmio, 0); return; } if ((lpData =(HPSTR)GlobalLock(hData)) == NULL) { MessageBox( "Failed to lock memory for data chunk.", NULL, MB_OK | MB_ICONEXCLAMATION); GlobalFree(hData); mmioClose(hmmio, 0); return; } // Allocate and lock memory for the header hWaveHdr = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE, (DWORD) sizeof(WAVEHDR)); if (hWaveHdr == NULL) { GlobalUnlock(hData); GlobalFree(hData); MessageBox("Not enough memory for header.", NULL, MB_OK | MB_ICONEXCLAMATION); return; } lpWaveHdr = (LPWAVEHDR) GlobalLock(hWaveHdr); if (lpWaveHdr == NULL) { GlobalUnlock(hData); GlobalFree(hData); MessageBox( "Failed to lock memory for header.", Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục Trang 65 http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KIL OBO OKS CO M NULL, MB_OK | MB_ICONEXCLAMATION); return; } // After allocation, set up and prepare header lpWaveHdr->lpData = lpData; lpWaveHdr->dwBufferLength = dwDataSize; lpWaveHdr->dwFlags = 0L; lpWaveHdr->dwLoops = 0L; waveOutPrepareHeader(hWaveOut, lpWaveHdr, sizeof(WAVEHDR)); // Gởi khối liệu đến thiết bò phát wResult = waveOutWrite(hWaveOut, lpWaveHdr, sizeof(WAVEHDR)); if (wResult != 0) { waveOutUnprepareHeader(hWaveOut, lpWaveHdr, sizeof(WAVEHDR)); GlobalUnlock( hData); GlobalFree(hData); MessageBox( "Failed to write block to device", NULL, MB_OK | MB_ICONEXCLAMATION); return; } } Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục Trang 66 http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang 67 KIL OBO OKS CO M LUẬN VĂN TỐT NGHIỆP TÀI LIỆU THAM KHẢO [1] ANNEXE VOIP-SLIDE Raj Jain http://www.cis.ohio-state.edu/~jain/ [2] AUDIO COMPRESSION THEOGRY http://www.owlnet.rice.edu/~elec301/projects99/adda/index.html [3] BUILDING INTERNET APPLICATION WITH VISUAL C++ Kate Gregogy - Paul Robichaux - Brady Merkel - Markus Pope [4] DIGITAL SIGNAL PROCESSING John G.Proakis - Dimitris G.Manolakis - Prentice Hall [5] INTERNET WORKING VỚI TCP/IP Nhà xuất giáo dục, 2001 [6] Thư viện MSDN Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KIL OBO OKS CO M LUẬN VĂN TỐT NGHIỆP Đề tài : Xây dựng ứng dụng truyền thông âm mạng cục Trang 68 [...]... Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang 14 KIL OBO OKS CO M LUẬN VĂN TỐT NGHIỆP CHƯƠNG III PHƯƠNG PHÁP MÃ HOÁ VÀ NÉN ÂM THANH III.1 CÁC PHƯƠNG PHÁP MÃ HOÁ III.1.1 GIỚI THIỆU CHUNG Trong hệ thống xử lý âm thanh, âm thanh được mã hoá PCM Các mã hoá này cho phép khôi phục một cách tương đối trung thực tín hiệu âm thanh trong... đặt ứng dụng client và server Ứng dụng client có nhiệm vụ gửi thông báo đến tất cả các instance của ứng dụng server đang chạy trên hệ thống mạng.[5] II.3.1 CÁCH CÀI ĐẶT ỨNG DỤNG SERVER UDP Ứng dụng server UDP được cài đặt đơn giản hơn ứng dụng TCP Chúng ta cần các bước chính sau đây : - Gọi hàm socket để tạo một socket - Gọi hàm bind để kết buộc socket với một port, đối với mỗi giao thức ứng dụng. .. Tuy nhiên trong một ứng dụng đặc biệt như truyền dữ liệu âm thanh trên mạng, âm thanh được truyền với tốc độ thấp hơn nhiều Từ đó xuất hiện một số kỹ thuật mã hoá và nén tín hiệu âm thanh như ADPCM, LPC, GSM… Các loại phần mềm và phần cứng thực hiện mã hoá và nén âm thanh sang các loại dữ liệu số thường được gọi là codec(Coder-Decoder) Có thể phân loại các phương pháp mã hoá âm thanh thành 3 loại :... các khối dữ liệu Playing Waveform-Audio Files Chúng ta có thể dùng các hàm sau đây để xuất dữ liệu dạng âm thanh ra loa: Hàm MessageBeep SndPlaySound Chức năng Xuất âm thanh dưới dạng thông báo của hệ thống Xuất âm thanh dưới dạng đăng ký trước trong hệ thống Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ http://kilobooks.com LUẬN VĂN TỐT NGHIỆP PlaySound THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN... dùng hàm waveInAddBuffer để gửi các khối buffer tới device driver Khi dữ liệu được điền đầy vào buffer, ứng dụng sẽ được thông báo bằng window Thông báo, callback Thông báo, thread Thông báo, hay event, tùy theo cờ thông báo được chỉ đònh trong hàm open device Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang 31... thiết lập giá trò cho bit một tương tự như các bước trước Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KIL OBO OKS CO M LUẬN VĂN TỐT NGHIỆP Trang 22 CHƯƠNG IV TÌM HIỂU HỖ TR CỦA WINDOWS SDK TRONG XỬ LÝ VÀ TRUYỀN NHẬN ÂM THANH IV.1 MÔI TRƯỜNG LẬP TRÌNH SDK ĐỐI VỚI TRUYỀN ÂM THANH Môi trường Windows SDK là môi trường lập trình đa phương... thông tin với client, ví dụ send, recv Sau khi đã hoàn tất quá trình trao đổi dữ liệu, ứng dụng server gọi hàm closesocket để đóng socket đã tạo Hình II.5 Sơ đồ giao tiếp giữa server với client Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang 12 KIL OBO OKS CO M II.2.2 CÁCH THỨC CÀI ĐẶT ỨNG DỤNG CLIENT TCP Ứng. .. được tốc độ truyền dữ liệu thấp, có thể thực hiện tại tốc độ bit > 2kbps, nhưng chất lượng âm thanh không cao Mã hoá hỗn hợp (hybrid codec) : Sử dụng cả hai phương pháp trên để tạo ra tín hiệu âm thanh có chất lượng tốt ở tốc độ dữ liệu trung bình Chất lượng tiếng nói Rất tốt Mã hoá hỗn hợp Mã hoá dạng sóng Mã hoá dự đoán tuyến tính LPC Tốt Trung bình Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên... trả handle về cho ứng dụng Hệ Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ http://kilobooks.com LUẬN VĂN TỐT NGHIỆP THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trang 26 thống multimedia sẽ hỗ trợ nhiều dạng output dữ liệu khác nhau do đó khi mở thiết bò nếu cần chúng ta phải chỉ đònh rõ thông số dữ liệu Ví dụ chúng ta dùng cờ WAVE_MAPPER để xác đònh thiết bò output sẽ xuất âm thanh dạng waveform... nhận dữ liệu.[3] Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN LUẬN VĂN TỐT NGHIỆP Trang 35 Socket truyền KIL OBO OKS CO M Socket truyền Socket nhận Yêu cầu truyền Socket nhận Socket truyền Socket nhận Yêu cầu nhận dữ liệu Hình IV.2 Mô hình dùng 2 socket Vì mỗi socket chỉ nhận một tín hiệu nhất đònh Socket truyền sẽ chỉ chú ý tới tín ... kỳ máy mạng chế độ chờ hay chế độ chạy (background) gọi máy P-SERVER; máy chế độ gọi (active) gọi P-CLIENT Như máy mạng P-SERVER P-CLIENT Trên môi trường mạng, muốn nói chuyện người máy đó, tiến... âm mạng cục http:/ /kilobooks. com LUẬN VĂN TỐT NGHIỆP Maximum value 255(0xFF) 32,767 (0x7FFF) Trang 28 Minimum value -3 2,768 (0x8000) KIL OBO OKS CO M Data format 8-bit PCM 16-bit PCM THƯ VIỆN... PC – PC gồm : - ¢m anolog từ microphone chuyển thành digital soundcard(PCM,8kHz,8bits/mẫu) - Các mẫu chép vào vùng đệm thành khối có độ lớn đònh - Dùng thuật nén PCM để nén khối - Thêm vào khối

Ngày đăng: 02/12/2015, 12:27