Tải bản đầy đủ (.doc) (111 trang)

phần mềm thông báo kết quá của học sinh qua điện thoại di động.doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (959.02 KB, 111 trang )

Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

LỜI NÓI ĐẦU
Trong mỗi gia đình, các bậc cha mẹ có con cắp sách tới trường lúc nào
cũng quan tâm đến việc học của con mình. Chẳng hạn bữa nay con mình có lên
trả bài hay không ? Các bài kiểm tra trong tháng được bao nhiêu điểm ? Kết
quả thi ở cuối mỗi học kỳ ra sao ? Và kể cả việc muốn biết con mình có nghỉ
học bữa nào khơng hoặc có vi phạm nội quy gì ở trường hay khơng và lý do tại
sao ? Thơng thường, gia đình chỉ biết những chuyện này sau khi nhà trường
phát sổ liên lạc về nhà.
Ngày nay, với sự phát triển liên tục của ngành máy tính, ta có thể tự động
hóa cơng việc này bằng cách kết nối máy tính với điện thoại như là một hệ
thống trả lời tự động. Khi một phụ huynh gọi điện thoại tới số máy này, hệ
thống sẽ thông báo các kết quả học tập của học sinh. Điều này thật là thuận lợi,
nhanh chóng và dễ dàng , có thể thực hiện ở mọi lúc mọi nơi.
Tuy đề tài này đã được hoàn thành nhưng chắc chắn khơng tránh khỏi
thiếu sót. Em rất mong được sự quan tâm, giúp đỡ và góp ý của các thầy, cơ và
các bạn.
Cuối cùng, em xin cảm ơn các thầy cô ở bộ môn Công nghệ thông tin đã
dành cho em đề tài này và đặc biệt là thầy Nguyễn Đức Thuần, người đã trực
tiếp gợi ý và hướng dẫn, giúp em hoàn thành đề tài này.
Sinh viên thực hiện
Bùi Danh Đạt

SVTH : Bùi Danh Đạt

Trang 1



Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

PHẦN 1

GIỚI THIỆU
ĐỀ TÀI

SVTH : Bùi Danh Đạt

Trang 2


Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

I. Đặt vấn đề :
Hiện nay, thông thường mỗi học sinh cắp sách tới trường sẽ được phát cho
một cuốn sổ liên lạc. Nhà trường sẽ sử dụng sổ này để thông báo cho phụ huynh
của học sinh biết kết quả học tập của học sinh ở sau mỗi tháng hoặc sau mỗi
học kỳ. Trong sổ liên lạc, nhà trường thường chỉ ghi kết quả cuối cùng của mỗi
tháng hoặc mỗi học kỳ. Do vậy phụ huynh không thể biết được chi tiết các cột
điểm của các mơn học trong mỗi tháng. Ngồi ra, những lần nghỉ học cũng như
những lần vi phạm nội quy của học sinh sẽ không được ghi vào trong ấy. Vì thế
các bậc phụ huynh khó có thể theo dõi chặt chẽ những diễn biến học tập của
con mình ở trường như thế nào.
Công việc giáo dục học sinh cần phải có sự phối hợp giữa gia đình và nhà
trường. Nhằm tạo sự thuận lợi cho các bậc phụ huynh có thể nắm bắt được

những thơng tin về học sinh một cách nhanh chóng, đầy đủ, ở đề tài tốt nghiệp
này, em đã tìm hiểu và viết một chương trình tự động thông báo kết quả học tập
của học sinh qua điện thoại. Em nhận thấy có 3 vấn đề chính sau đây được đặt
ra cần giải quyết là :
• Nhận được tín hiệu gọi tới từ điện thoại , tạo một kết nối giữa
máy tính và cuộc gọi đó và nhận biết phím nào đã được bấm từ
máy điện thoại của người gọi để thực hiện yêu cầu của người đó
• Tìm kết quả trong cơ sở dữ liệu
• Thơng báo bằng giọng nói cho người gọi nghe
Vấn đề đầu tiên là phải tạo được một giao tiếp giữa điện thoại và máy tính
thơng qua một modem. Và để truyền được tín hiệu tiếng nói từ máy tính đến
điện thoại, modem này phải có hỗ trợ chức năng “voice“. Máy tính lúc này sẽ
đồng thời đóng vai trị của máy điện thoại và nhân viên trường học. Người gọi
có thể sử dụng bất kỳ điện thoại nào để gọi tới. Lúc này máy tính sẽ tự động
“nhấc máy” và đối thoại với người gọi.
Vấn đề thứ hai được giải quyết bằng cách sử dụng các câu lệnh truy vấn
(SQL) mà bất kỳ thao tác nào với cơ sở dữ liệu cũng cần phải có.
Vấn đề cuối cùng là áp dụng cơng nghệ “text-to-speech” để chuyển từ chữ
trong máy tính sang tiếng nói, sau đó sẽ truyền đi qua điện thoại tới người gọi.
Tất cả những vấn đề này sẽ được trình bày chi tiết trong các phần sau.
SVTH : Bùi Danh Đạt

Trang 3


Thông báo kết quả học tập của học sinh qua điện thoại

II.

GVHD : Nguyễn Đức Thuần


Mơi trường lập trình :
Chương trình “Thơng báo kết quả học tập qua điện thoại” được viết bằng

ngơn ngữ lập trình Visual Basic 6.0 trên hệ điều hành Microsoft Windows 98.
Hệ quản trị cơ sở dữ liệu được dùng để cài đặt cơ sở dữ liệu là Microsoft
Access 97

III. Giới thiệu về hoạt động của chương trình :
Chương trình được thiết kế để thơng báo mọi vấn đề liên quan đến đến
học tập và đạo đức thường gặp nhất ở học sinh. Khi một người gọi điện tới, hệ
thống sẽ yêu cầu nhập vào mã số của học sinh. Sau đó, hệ thống sẽ đưa ra menu
để chọn lựa vấn đề đang quan tâm. Người gọi muốn nghe thơng tin chỉ cần
nhấn các phím tương ứng với các mục sau đây :

Phím
#
1
2
3
4
5
6
7
8

9
*

Ý nghĩa

Thay đổi mã số học sinh
Nghe thông tin về các lần nghỉ học trong tháng (ngày nghỉ học, số
ngày nghỉ, có phép/khơng phép, lý do)
Nghe thông tin về các lần vi phạm nội quy trong tháng (ngày vi
phạm, lý do)
Nghe điểm kiểm tra của các môn học trong tháng
Nghe điểm thi của các môn học ở cuối học kỳ
Nghe kết quả cuối tháng (điểm trung bình, hạng, học lực, hạnh
kiểm)
Nghe kết quả cuối học kỳ (điểm trung bình, hạng, học lực, hạnh
kiểm)
Nghe kết quả cuối năm học (điểm trung bình, hạng, học lực, hạnh
kiểm)
Nghe thông tin chi tiết về học sinh mang mã số hiện tại (họ, tên,
ngày sinh, giới tính, nơi sinh, tên lớp đang học ở năm học hiện tại
được chọn)
Chọn năm học khác (năm học mặc định là năm học hiện tại)
Kết thúc cuộc gọi

SVTH : Bùi Danh Đạt

Trang 4


Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

Nếu người gọi nhấn một trong các phím 1, 2, 3, 5 thì sẽ được yêu cầu
nhập vào tháng muốn biết. Nếu nhấn phím 4 hay 6 thì sẽ được yêu cầu nhập vào

học kỳ muốn biết.
Bất cứ lúc nào, người gọi có thể nhấn phím * để trở về menu. Muốn kết
thúc cuộc gọi, ngồi cách nhấn phím * tại menu chọn lựa, người gọi có thể gác
máy như bình thường, lúc này hệ thống sẽ tự phát hiện ra , ngắt kết nối với cuộc
gọi hiện tại và tiếp tục chờ cuộc gọi khác đến. Nếu hệ thống phát hiện sau một
khoảng thời gian định trước (thời gian rỗi) mà khơng có một tác động nào từ
phía người gọi thì hệ thống cũng sẽ tự động ngắt kết nối.

SVTH : Bùi Danh Đạt

Trang 5


Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

PHẦN 2

CƠ SỞ
LÝ THUYẾT

SVTH : Bùi Danh Đạt

Trang 6


Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần


Chương 1
GIAO TIẾP GIỮA ĐIỆN THOẠI
VÀ MÁY TÍNH
I. Sự cần thiết của modem :
Như chúng ta đã biết kỹ thuật điện thoại ra đời và phát triển rất sớm trước
kỹ thuật máy tính. Ngày đó, đường dây điện thoại được thiết kế chỉ để truyền
tín hiệu của tiếng nói có tần số của âm thanh. Dạng tín hiệu này thuộc loại tín
hiệu tương tự (analog) và thường gọi là sóng âm tần hình sin. Trong khi đó,
máy tính chỉ có thể xử lý các tín hiệu số (digital) có tần số cao. Nếu tín hiệu số
này được truyền trực tiếp trên đường dây điện thoại thì chúng sẽ bị suy giảm và
biến dạng. Vì thế, một thiết bị chuyển đổi qua lại giữa hai tín hiệu này đã ra đời,
gọi là modem. Công việc chuyển tín hiệu số của máy tính thành tín hiệu tương
tự của đường dây điện thoại được thực hiện bằng một số phương pháp mà
người ta gọi là điều chế (Modulation). Ngược lại, cơng việc chuyển tín hiệu
tương tự của đường dây điện thoại thành tín hiệu số của máy tính cũng được
thực hiện bằng một số phương pháp mà người ta gọi là giải điều chế
(Demodulation). Modem chính là viết tắt của 2 chữ Modulation và
Demodulation.
Ứng dụng của modem mà chúng ta thường thấy nhất là kết hợp với máy
tính để truy cập internet. Trong trường hợp này, mỗi đầu của đường dây điện
thoại sẽ nối vào một modem gắn vào máy tính. Nhờ đó chúng ta có thể truy
xuất được dữ liệu của máy kia (máy chủ). Còn ở đây, đối với công việc thông
báo qua điện thoại từ máy tính, ta chỉ cần nối một đầu dây điện thoại vào
modem gắn với máy tính tại trường học. Người gọi có thể sử dụng bất kỳ điện
thoại nào để gọi tới. Lúc này tín hiệu từ đường dây điện thoại sẽ được modem
chuyển đổi thành tín hiệu số và đưa vào máy tính để xử lý. Sau đó máy tính sẽ
phát trở lại các tín hiệu số (ví dụ như tiếng nói ở dạng số) cho modem để

SVTH : Bùi Danh Đạt


Trang 7


Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

modem chuyển đổi thành các tín hiệu tương tự (tiếng nói ở dạng tương tự) và
truyền ngược trở lại người gọi. Nhờ đó , người gọi có thể nghe được.

II. Giao tiếp lập trình ứng dụng cho hệ thống điện thoại - TAPI
(Telephony Application Programming Interface) :
I.

Một số khái niệm trong mơ hình TAPI :

II.

TAPI là gì ?
TAPI được phát triển bởi sự kết hợp của hai hãng Intel và Microsoft .

TAPI được thiết kế để truy xuất các dịch vụ điện thoại trên tất cả các hệ điều
hành Windows. Nói cách khác, TAPI là tập hợp các hàm đơn lẻ được Windows
cung cấp để hỗ trợ cho việc lập trình giao tiếp giữa điện thoại và máy tính thơng
qua modem hoặc các thiết bị truyền thơng . Với TAPI , người lập trình khơng
phải lo lắng về các tập lệnh của modem để khởi tạo nó hoặc phải chọn cổng
hoạt động cho modem.
Mục đích của TAPI là cho phép các nhà lập trình viết những ứng dụng mà
không cần quan tâm chi tiết đến thiết bị phần cứng. Ví dụ với modem, người lập

trình không cần biết modem loại nào, của hãng nào, tập lệnh của của modem là
gì, sử dụng cổng nối tiếp hay song song hay cổng USB, chỉ cần thiết bị phần
cứng đó có một TAPI driver gọi là TSP(Telephone Service Provider) do nhà
sản xuất cung cấp, mà thường khi cài thiết bị phần cứng này vào máy thì tất cả
các driver của nó đều được cài vào. Do đó chỉ cần thiết bị này hoạt động tốt thì
ứng dụng TAPI sẽ khơng gặp vấn đề gì.
TAPI hỗ trợ cả việc truyền số liệu lẫn tiếng nói ở nhiều loại thiết bị đầu
cuối khác nhau, hỗ trợ các kiểu kết nối phức tạp và các kỹ thuật quản lý cuộc
gọi như: tạo cuộc gọi, chờ cuộc gọi , hộp thư thoại, vv... Các ứng dụng được
viết bởi TAPI có thể truy cập trực tiếp vào các dịch vụ trên đường dây điện
thoại. Các ứng dụng này có thể phát ra và nhận vào mọi tín hiệu của điện thoại.
Dù đường dây điện thoại truyền tín hiệu dạng tương tự hay dạng số thì ta
cũng cần một thiết bị giao tiếp giữa máy tính và đường dây điện thoại . Dĩ
nhiên, thiết bị giao tiếp đó phải có hỗ trợ TAPI TSP. Thiết bị này có thể là một
trạm ISDN , một bảng mạch hệ thống điện thoại hoặc đơn giản là một modem

SVTH : Bùi Danh Đạt

Trang 8


Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

III. Chương trình ứng dụng TAPI :
Ứng dụng TAPI là ứng dụng mà có sử dụng giao tiếp lập trình hệ thống
điện thoại nhằm thực hiện một cơng việc gì đó. Ví dụ : phần mềm giả lập điện
thoại trong mạng điện thoại chuyển mạch công cộng (PSTN), phần mềm
gửi/nhận fax, hộp thư thoại, hệ thống trả lời tự động, điện thoại qua internet

(VoIP) vv ...

IV. TAPI DLL (Dynamic link library - Thư viện liên kết động) :
Các thư viện này cùng với TAPI Server (Tapisvr.exe) là sự trừu tượng hóa
trong việc phân cách giữa người dùng và các nhà cung cấp dịch vụ điện thoại.
Một thư viện TAPI liên kết với TAPI Server để cung cấp một giao tiếp giữa 2
lớp (xem mơ hình lập trình cho hệ thống điện thoại ở phần sau).
Có 3 thư viện liên quan tới TAPI : Tapi.dll, Tapi32.dll, Tapi3.dll . Mỗi thư
viện này đều có vài trị như nhau :

Ứng dụng TAPI
16-bit

Ứng dụng TAPI
32-bit

Tapi.dll

Tapi32.dll

Ứng dụng TAPI3
32-bit

Tapi3.dll

Tapi32.dll

MSP

TAPISVR.EXE

Registry
TSP

Telephony Control Panel,
Dialing Properties, vv ...

SVTH : Bùi Danh Đạt

Trang 9


Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

Mỗi thư viện này tương ứng với một thời điểm phiên bản của TAPI. Các
ứng dụng 16-bit liên kết với Tapi.dll . Trong Windows 98/NT/2000, Tapi.dll sẽ
hoạt động bằng cách ánh xạ các địa chỉ 16-bit tới các địa chỉ 32-bit , đồng thời
chuyển các yêu cầu tới Tapi32.dll. Với các ứng dụng 32-bit thì chúng sẽ liên kết
với Tapi32.dll (TAPI phiên bản 1.4 - 2.2). Với TAPI 3.0 và 3.1 thì ứng dụng sẽ
liên kết với Tapi3.dll

V. MSP (Media Service Provider ) :
Trước hết MSP chỉ đến với TAPI 3, nó cho phép việc điều khiển một ứng
dụng qua phương tiện với cơ chế vận chuyển đặc biệt. Một MSP luôn luôn tồn
tại song song với một TSP (Tapi Service Provider). Một MSP cho phép việc
điều khiển phương tiện thông qua việc sử dụng thiết bị cuối và các giao tiếp
luồng được định nghĩa bởi TAPI

VI. MSPI (Media Service Provider Interface) :

MSPI là tập hợp các giao tiếp và các phương thức được thực hiện bởi
MSP nhằm cho phép việc điều khiển một ứng dụng TAPI 3 trên phương tiện
trong suốt phiên liên lạc truyền thông.

VII.

TAPI Server :

TAPI Server được xem như kho trung tâm lưu trữ các thông tin về hệ
thống điện thoại trên máy người dùng. Tiến trình của dịch vụ này giám sát các
tài nguyên cục bộ và ở xa của hệ thống điện thoại, giám sát các ứng dụng TAPI,
và thực hiện một giao tiếp phù hợp với các TSP. (xem mơ hình lập trình hệ
thống điện thoại ở phần sau để thấy mối liên hệ giữa TAPI Server và các thành
phần khác) .
Trong Windows 95, 98, NT, TAPI Server (Tapisrv.exe) sẽ chạy như một
tiến trình riêng biệt. Trong Windows 2000, nó chạy trong ngữ cảnh của
Svchost.exe . Khi ứng dụng nạp TAPI DLL và thực hiện công việc khởi tạo
xong, DLL sẽ xây dựng một kết nối tới TAPI Server. Sau đó TAPI Server sẽ
nạp các TSP.

SVTH : Bùi Danh Đạt

Trang 10


Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

VIII. TSP (Telephony Service Provider ) :

TSP thực chất là một thư viện liên kết động hỗ trợ việc điều khiển các
thiết bị truyền thông thông qua một tập các hàm dịch vụ. Ứng dụng TAPI sử
dụng các lệnh được chuẩn hóa , và TSP điều khiển các lệnh đặc trưng mà cần
phải được trao đổi với thiết bị.

IX. TSPI (Telephony Service Provider Interface) :
TSP phải tạo ra một giao tiếp TSP phù hợp để thực hiện chức năng như
một nhà cung cấp dịch vụ trong môi trường hệ thống điện thoại. TSPI định
nghĩa ra các hàm ngoại mà được hỗ trợ bởi TSP.

X. Service Providers :
Đây được xem như bộ phận cung cấp các dịch vụ cần thiết để thực hiện
việc điều khiển thiết bị điện thoại một cách chi tiết. TSP cung cấp các điều
khiển cuộc gọi và MSP nếu có sẽ cung cấp điều khiển luồng qua phương tiện.
Tất cả các TSP thực thi bên trong tiến trình TAPISRV. Các bộ phận cung
cấp dịch vụ có thể tạo ra các thread ngay trong ngữ cảnh của TAPISRV khi cần
và được chắc chắn rằng khơng có tài ngun nào mà chúng tạo ra bị hủy do
thoát khỏi một ứng dụng cá nhân nào đó. Khi cần TAPI Server có thể dịch các
câu lệnh của ứng dụng sang tập các lệnh phù hợp như là TSPI.
Các MSP thực thi ngay trong tiến trình của ứng dụng, cho phép phản hồi
nhanh một số yêu cầu trong việc điều khiển phương tiện. TAPI DLL cung cấp
một kết nối chặt chẽ tới MSPI.

SVTH : Bùi Danh Đạt

Trang 11


Thông báo kết quả học tập của học sinh qua điện thoại


GVHD : Nguyễn Đức Thuần

XI. Mơ hình lập trình cho hệ thống điện thoại :

Ứng dụng
TAPI

TAPI DLL
(Dynamic Link Library)

MSPI

MSP
(Media Service Provider)

TAPISVR
(TAPI Server)

Service Providers

TSPI
TSP
(TAPI Service Provider)

Device

-

Ứng dụng TAPI sẽ nạp thư viện TAPI (TAPI DLL) vào và sử dụng
TAPI cho các nhu cầu truyền thông


-

TAPI sẽ tạo ra một kết nối với TAPI Server. Ngoài ra, với TAPI phiên
bản 3 sẽ tạo thêm một đối tượng MSP và kết nối với nó bằng cách sử
dụng tập các câu lệnh được định nghĩa trước, hình thành nên MSPI

-

Khi ứng dụng thực hiện một thao tác TAPI, thư viện TAPI sẽ làm một
số kiểm tra cần thiết , sau đó sẽ chuyển thông tin cho TAPISVR

-

TAPISVR liên lạc với các tài nguyên khả dụng trên máy tính và giao
tiếp với các TSP bằng cách sử dụng TSPI

SVTH : Bùi Danh Đạt

Trang 12


Thông báo kết quả học tập của học sinh qua điện thoại

-

GVHD : Nguyễn Đức Thuần

Những kết nối giữa TSP và MSP được diễn ra bằng cách sử dụng một
kết nối ảo thông qua TAPI DLL và TAPISVR


-

TSP và MSP sẽ làm nhiệm vụ cung cấp những thông tin về các trạng
thái, chức năng của thiết bị khi có yêu cầu.

Kết quả của việc lập trình theo mơ hình này là ứng dụng vẫn có thể hoạt
động khi thay thế thiết bị mới mà không cần thực hiện những thay đổi mã
nguồn.

XII. Mơ hình ứng dụng TAPI :
Khởi tạo TAPI
Khởi tạo TAPI

Điều khiển
Điều khiển
phiên làm việc
phiên làm việc

Điều khiển
Điều khiển
thiết bị
thiết bị

Điều khiển
Điều khiển
phương tiện
phương tiện

Kết thúc TAPI

Kết thúc TAPI

1. Khởi tạo TAPI (TAPI Initialization) :
-

Khởi tạo môi trường truyền thơng trên máy tính

-

Việc khởi tạo là đồng bộ và khơng quay trở về cho tới khi thao tác
hồn tất hoặc bị lỗi

-

Nếu TAPISRV khơng đang chạy thì TAPI sẽ gọi nó

-

TAPI thiết lập một kết nối cho tiến trình TAPISRV

-

TAPISRV nạp vào các bộ phận cung cấp dịch vụ được chỉ định trong
registry và buộc chúng khởi tạo những thiết bị mà chúng hỗ trợ.

SVTH : Bùi Danh Đạt

Trang 13



Thông báo kết quả học tập của học sinh qua điện thoại

-

GVHD : Nguyễn Đức Thuần

Lấy số phiên bản thích hợp cho ứng dụng TAPI, TAPI và bộ cung cấp
dịch vụ điện thoại . Công việc này bắt buộc phải làm ở TAPI 2.

-

Kiểm tra và thu nhận thông tin liên quan đến các thiết bị khả dụng cho
ứng dụng TAPI

-

Đăng ký thông điệp để nhận được các sự kiện liên quan tới những thay
đổi trạng thái của đường truyền.
2. Điều khiển phiên làm việc (Session Control) :

-

Một phiên làm việc nói chung hay một cuộc gọi nói riêng là một kết
nối giữa hai hay nhiều địa chỉ. Kết nối này là động và các đối tượng liên quan
phải được tạo , quản lý và hủy khi khơng cịn dùng. Trong trường hợp đơn giản
nhất thì đây là quá trình từ lúc tạo cho đến lúc ngắt kết nối một cuộc gọi.

-

Gồm 2 cơng việc chính :

• Điều khiển hoạt động của phiên làm việc : khởi tạo, duy
trì và kết thúc phiên làm việc
• Lấy thơng tin của phiên làm việc : lấy những thông tin chi
tiết trong phiên làm việc.
3. Điều khiển thiết bị (Device Control) :

-

Thiết lập và lấy thơng tin của các thiết bị
• Network : là lớp giao vận cho việc truyền thơng.
• Line : là một kết nối tới một network. Đó là một thiết bị
vật lý như bảng mạch fax, modem, hay cạc ISDN. Thiết bị có
thể khơng cần kết nối thẳng vào máy tính mà có ứng dụng
TAPI đang chạy
• Channel : là sự chia nhỏ của một line
• Address : một address đại diện cho một sự định vị trên
network. Mỗi line hay channel đều có một hay nhiều địa chỉ
liên kết với nhau


Terminal : một nguồn hồn trả lại cho một địa chỉ đặc

trưng và một kiểu phương tiện.
4. Điều khiển phương tiện (Media Control) :

SVTH : Bùi Danh Đạt

Trang 14



Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

Phương tiện của phiên làm việc truyền thông được thiết kế cho dữ liệu

-

truyền qua. Nó cho phép một ứng dụng nhận biết những thay đổi của các kiểu
phương tiện và điều chỉnh các luồng trên phương tiện như âm lượng của tiếng
nói được truyền. Đó cũng có thể là việc gửi và nhận các tín hiệu DTMF từ điện
thoại.
5. Kết thúc TAPI (TAPI Shutdown) :
-

Kết thúc các phiên làm việc

-

Giải phóng các tài nguyên hệ thống đang chiếm giữ

XIII. Các phiên bản TAPI :
Bất kỳ một vấn đề nào liên quan đến TAPI cũng gồm có 3 thành phần :
chương trình ứng dụng, TSP, và chính bản thân của TAPI. Mỗi một trong ba
thành phần này đều có thể hỗ trợ đến một phiên bản TAPI tối đa nào đó . Đây là
cơng việc của ứng dụng phải kiểm tra và chọn lựa phiên bản cao nhất của TAPI
mà cả ba thành phần này đều hỗ trợ. Các con số phiên bản này được duy trì sự
tương thích khi Microsoft mở rộng các khả năng của TAPI. Các phiên bản của
hệ điều hành Windows khác nhau sẽ hỗ trợ các phiên bản Windows khác nhau :
Hệ điều hành

Windows
Windows 95
Windows 98
Windows ME
Windows NT 4
Windows 2000
Windows XP

Phiên bản TAPI Phiên bản TAPI tối đa
ban đầu
1.4
2.0
2.2
2.2 *SP5
3.0
3.3

có thể nâng cấp
2.2
2.2
2.2
2.2
3.3
3.3

Có một sự thuận lợi là các ứng dụng TAPI 1.4 vẫn có thể hoạt động mà
khơng gặp vấn đề gì khi chạy trên các hệ điều hành Windows khác. Còn một
ứng dụng TAPI 2.0 sẽ tự động loại bỏ một số chức năng của nó khi chạy cùng
với một TSP 1.4. Dưới đây là các chức năng được hỗ trợ thêm đối với mỗi
phiên bản TAPI :

Phiên bản
TAPI
1.4

SVTH : Bùi Danh Đạt

Các chức năng chính được hỗ trợ thêm
Các chức năng cơ bản cho Windows 32 bit

Trang 15


Thông báo kết quả học tập của học sinh qua điện thoại

2.0
2.1
2.2
3.0
3.1

GVHD : Nguyễn Đức Thuần

Đầy đủ các chức năng cho Windows 32 bit; Hỗ trợ
Unicode
Hỗ trợ Client/Server
Quản lý cuộc gọi chuyên dụng
Giao tiếp kiểu COM (Component Object Model); Hỗ
trợ Media Stream Providers ; TSP 2.1 vẫn được dùng
Một số điều khiển thiết bị điện thoại và một số giao
tiếp trạm chuyên dụng


Có 2 thay đổi lớn trong các phiên bản này. Thứ nhất là ở phiên bản TAPI
2.1 khi chức năng hỗ trợ Client/Server được thêm vào. Điều này tạo khả năng
cho thiết bị hệ thống điện thoại có thể được cài đặt trên một máy Server mà các
máy Client trong mạng có thể truy cập được. Thay đổi lớn thứ hai đến với TAPI
3.0 khi nó được tổ chức như một bộ các đối tượng kiểu COM , sẽ tốt hơn kiểu
kiến trúc ngôn ngữ C++ cho Windows. Nó tạo điều kiện dễ dàng cho việc viết
các ứng dụng bằng bất cứ ngôn ngữ nào : C++ , Visual Basic hay Java. Ngoài ra
, chức năng khác biệt chính là khả năng hỗ trợ MSP (Media Service Providers)
nhằm cung cấp cách thức truy cập các luồng phương tiện trong một cuộc gọi và
có thể hỗ trợ hệ thống điện thoại theo giao thức internet (IP)

SVTH : Bùi Danh Đạt

Trang 16


Thông báo kết quả học tập của học sinh qua điện thoại

III.
-

GVHD : Nguyễn Đức Thuần

DTMF trong hệ thống điện thoại :
DTMF là viết tắt của cụm từ “Dual Tone Multi Frequency” (Cặp tín hiệu

đa tần). Mỗi khi ta nhấn phím để gọi điện thoại, các âm thanh phát ra mà ta
nghe được chính là các tín hiệu DTMF được gửi đến tổng đài.
-


Theo chuẩn thì có tổng cộng 16 cặp tín hiệu DTMF tương ứng với 16

phím bấm trên điện thoại. Tuy nhiên, với các máy điện thoại thông thường hiện
nay, chỉ có 12 phím trên điện thoại có thể gửi tín hiệu này, đó là : 0, 1, 2, 3, 4, 5,
6, 7, 8, 9, *, # . Bốn cặp tín hiệu cịn lại thì thường khơng dùng đến, đó là các
phím : A, B, C, D .
-

16 cặp tín hiệu này được tổ chức dưới dạng ma trận 4x4. Khi ta nhấn 1

phím bình thường trên điện thoại, sẽ có 2 tín hiệu được phát đi : 1 tín hiệu thuộc
nhóm tần số cao và 1 tín hiệu thuộc nhóm tần số thấp. Sự kết hợp của 2 tín hiệu
này sẽ tạo ra một tín hiệu DTMF.
Ví dụ : Khi ta nhấn phím số 1 trên điện thoại thì sẽ tạo ra cặp tín hiệu
(1209Hz , 697Hz), nhấn phím # thì sẽ tạo ra cặp tín hiệu (1477Hz ,
941Hz )

697 Hz
770 Hz
852 Hz
941 Hz
-

1209 Hz 1336 Hz 1477 Hz 1633 Hz
[1]
[2]
[3]
A
[4]

[5]
[6]
B
[7]
[8]
[9]
C
[*]
[0]
[#]
D

Các tín hiệu DTMF này thường được sử dụng trong dịch vụ hộp thư thoại

hoặc trong hệ thống máy điện thoại trả lời tự động. Khi một người gọi điện tới,
máy sẽ nhận các yêu cầu của người đó thơng qua các tín hiệu này.

SVTH : Bùi Danh Đạt

Trang 17


Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

Chương 2
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
I. Cơ sở dữ liệu trong thế giới hiện đại :
Mơ hình cơ sở dữ liệu quan hệ do tiến sĩ E.F.Codd sáng chế đầu tiên vào

năm 1970 để lưu trữ thơng tin. Mơ hình này là nền tảng của tất cả các hệ quản
trị cơ sở dữ liệu thương mại như Access, SQL Server, Oracle, vv...
Trong cơ sở dữ liệu quan hệ, các mục dữ liệu được lưu trữ trong các
bảng (table), được cấu tạo bởi các dòng gọi là các mẫu tin (record) và các cột
gọi là các trường (field). Cơ sở dữ liệu quan hệ cho phép nối các bảng với nhau
với mục đích truy cập các mẫu tin liên quan với nhau chứa trong các bảng khác
nhau.
Ví dụ, ta có một cơ sở dữ liệu để lưu trữ thông tin học sinh. Trong cơ sở
dữ liệu này, mỗi mẩu tin tương ứng với một học sinh. Mỗi mẩu tin có 6 trường :
mã số , họ , tên , ngày sinh, giới tính, mã nơi sinh. Đối với mọi học sinh, ta
muốn biết cùng loại thông tin nhưng những chi tiết cụ thể về từng học sinh dĩ
nhiên là khác nhau. Từng học sinh phải được xác định một cách riêng rẽ, do đó
mỗi mẫu tin sẽ có một mã nhận dạng duy nhất được gọi là khóa (key). Khóa có
thể được dùng để tham chiếu chéo (cross reference) thông tin lưu trong các
bảng khác nhau trong cùng cơ sở dữ liệu. Các mẩu tin trong cơ sở dữ liệu có
dạng như sau:

Mã số

Họ

Tên

Ngày sinh

Giới tính

Mã nơi sinh

0058613


Bùi Danh

Đạt

26/01/1980

Nam

31

0058614

Nguyễn Thị

Trinh

8/10/1985

Nữ

31

II. Sơ lược về ODBC (Open DataBase Connectivity) :

SVTH : Bùi Danh Đạt

Trang 18



Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

Chuẩn ODBC ra đời năm 1982 và được hỗ trợ bởi Microsoft. ODBC là
một định nghĩa chuẩn của ứng dụng lập trình giao tiếp (API) được sử dụng để
truy cập dữ liệu quan hệ hoặc truy xuất tuần tự theo chỉ mục (indexed sequential
access method (SAM)) . Mọi hệ quản trị cơ sở dữ liệu đều hỗ trợ giao tiếp
ODBC bằng cách cung cấp cho nó một driver tương ứng. Các ứng dụng được
viết bằng C, C++, Visual Basic đều có thể truy xuất được mọi cơ sở dữ liệu
được cài đặt trong các hệ quản trị cơ sở dữ liệu .
ODBC nhắm tới một thiên đường cho việc truy cập dữ liệu . Đó là một
công nghệ cho phép ứng dụng client nối với cơ sở dữ liệu từ xa. Lưu trú trên
máy Client, ODBC tìm cách làm cho nguồn dữ liệu quan hệ trở thành tổng quát
đối với ứng dụng Client. Điều này có nghĩa là ứng dụng Client khơng cần quan
tâm kiểu cơ sở dữ liệu nó đang nối là gì.
ODBC khơng phù hợp với cơ sở dữ liệu không phải là cơ sở dữ liệu
quan hệ như dữ liệu dạng ISAM bởi vì nó khơng có các giao tiếp cho phép tìm
kiếm truy cập ngẫu nhiên các mẫu tin, việc thiết lập các phạm vi hoặc duyệt qua
các chỉ mục . ODBC đơn giản là không được thiết kế để truy cập dữ liệu ISAM.

III. Các cách truy xuất cơ sở dữ liệu :
XIV. DAO (Data Access Objects):
Như tên gọi của nó, các đối tượng truy cập dữ liệu, DAO được sử dụng để
thao tác với cơ sở dữ liệu thông qua lập trình. . Với DAO ta có thể thi hành các
câu truy vấn, cập nhật dữ liệu trong các bảng và cấu trúc cho cơ sở dữ liệu.
DAO cũng được các nhà lập trình sử dụng để truy cập các cơ sở dữ liệu trên
máy cá nhân hay Client/Server và DAO hoạt động khá hiệu quả với cơ sở dữ
liệu Access


XV. RDO (Remote Data Object) :
RDO tương tự như DAO nhưng mục đích chính là để truy cập dữ liệu từ
xa thông qua ODBC.

XVI. ADO (ActiveX Data Objects) :

SVTH : Bùi Danh Đạt

Trang 19


Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

ADO là nền tảng của kỹ thuật truy cập cơ sở dữ liệu Internet. Tuy nhiên,
ta có thể sử dụng ADO khơng chỉ để truy cập dữ liệu thơng qua trang Web mà
cịn có thể dùng nó để lấy dữ liệu từ ứng dụng. ADO là giao diện dựa trên đối
tượng cho công nghệ dữ liệu mới nổi gọi là OLE DB.
OLE DB được thiết kế để thay thế ODBC như một phương thức truy cập
dữ liệu. ODBC hiện thời là tiêu chuẩn phía Client để truy cập các cơ sở dữ liệu
quan hệ . OLE DB đi sâu hơn một bước bằng cách làm cho tất cả các nguồn dữ
liệu trở thành tổng quát đối với ứng dụng Client.

IV. Sơ lược về SQL (Structured Query Language) :
SQL là viết tắt của cụm từ “Structured Query Language” , tạm dịch là
ngơn ngữ truy vấn có cấu trúc. SQL thuộc loại ngôn ngữ thế hệ thứ tư. Việc sử
dụng nó có thể giải quyết nhanh chóng vấn đề cung cấp thông tin mà với ngôn
ngữ thế hệ thứ ba phải tốn khá nhiều thời gian mã hóa. Cùng với sự phát triển
mạnh mẽ của các hệ quản trị cơ sở dữ liệu, SQL ngày càng được mở rộng.

♦ Ngôn ngữ : SQL không phải là ngôn ngữ thảo chương theo nghĩa
cổ điển mà là một tập hợp các động từ cho phép thao tác các bảng
(table). Các động từ này có thể có ở trong các ngôn ngữ khác ( C,
COBOL, FORTRAN, ... )
♦ Truy vấn : Đây không phải là chức năng duy nhất. SQL còn cho
phép xác định cấu trúc dữ liệu , đặc trưng hóa ràng buộc tồn vẹn để
đảm bảo sự tương thích giữa chúng, thiết lập các luật truy cập để
đảm bảo bí mật thơng tin. Những chức năng này đều thực hiện một
cách đơn giản thông qua khả năng hỏi và truy xuất . Hiện tại mọi cố
gắng để làm phong phú SQL đều nhằm vào hướng này.
♦ Có cấu trúc : SQL khơng phải là một mơ hình hợp thức khi đối
chiếu với lý thuyết ngơn ngữ hình thức. Trong nó cịn các tồn tại , ví
dụ khi dùng kỹ thuật lồng nhau , tổ hợp các chức năng, vv..
Ngày nay SQL đã được chuẩn hóa và trở thành chuẩn mực của việc truy
xuất các cơ sở dữ liệu quan hệ. Những giao diện khác thực hiện qua thực đơn ,
cửa sổ, lưới, vv.... thường được cung cấp bởi SQL. SQL trở thành các điểm vào
bắt buộc đối với các hệ quản trị cơ sở dữ liệu quan hệ .
SVTH : Bùi Danh Đạt

Trang 20


Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

Ngoài SQL, trên thế giới cịn có các ngơn ngữ khác như QUEL, QBE
cũng cho phép thao tác cơ sở dữ liệu quan hệ. QUEL là ngôn ngữ do đại học
Berkeley đề nghị cho hệ quản trị cơ sở dữ liệu quan hệ INGRES của họ. Hiện
tại QUEL ngày càng ít được dùng. QBE (Query By Example) là ngôn ngữ “mắt

lưới” xuất phát từ logic, thơng thường nó được xây dựng trên SQL. QBE ngày
nay vẫn còn được sử dụng bởi Access
Một cách tổng quát, SQL dùng mọi tiêu chuẩn tìm kiếm được xây dựng
từ logic mệnh đề bậc nhất, nó gồm 4 từ khóa cơ bản : SELECT (Tìm), INSERT
(Chèn), DELETE (Xóa), UPDATE (Sửa)
Các đối tượng truy cập dữ liệu DAO, RDO, ADO đều hỗ trợ rất mạnh
việc thực thi các câu lệnh SQL nhằm tạo sự uyển chuyển, linh động và tối ưu
trong các thao tác dữ liệu.

SVTH : Bùi Danh Đạt

Trang 21


Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

Chương 3
SƠ LƯỢC VỀ TIẾNG NÓI
VÀ CÁC PHƯƠNG PHÁP
TỔNG HỢP TIẾNG NÓI
I. Sơ lược về tiếng nói :
XVII. Đặc tính chung của tiếng nói :
Tiếng nói là cơng cụ diễn đạt thơng tin rất uyển chuyển và đặc biệt. Khi
chúng ta phát ra một tiếng thì có rất nhiều bộ phận như lưỡi, thanh mơn, môi,
họng, thanh quản…kết hợp với nhau để tạo thành âm thanh. Âm thanh này lan
truyền trong khơng khí để đến tai người nhận; chính vì sự kết hợp của rất nhiều
bộ phận để tạo ra âm thanh này nên âm thanh được phát ra ở mỗi lần hầu như là
khác nhau. Vì vậy việc phân chia tiếng nói thành những loại có đặc tính riêng là

rất khó. Ở đây người ta tạm chia thành ba loại:


Voiced sound :

Khi chúng ta nói chữ "a" hay chữ "o" thanh mơn của ta rung và giãn ra, áp
suất khơng khí ban đầu lớn và từ từ giảm xuống, lúc này âm phát ra có dạng
sóng wave đặc trưng như hình vẽ.

SVTH : Bùi Danh Đạt

Trang 22


Thông báo kết quả học tập của học sinh qua điện thoại



GVHD : Nguyễn Đức Thuần

Unvoiced sound :

Là âm khi ta phát ra một tiếng mà thanh môn không rung. Có hai loại cơ bản:
phụ âm sát (fricative) và âm bật hơi (aspirate). Đối với phụ âm sát (khi phát âm
vần "s"), điểm co thắt được tạo ra tại vài điểm trên bộ máy phát âm, và khơng
khí được đẩy qua nó. Vì điểm co thắt có khuynh hướng xảy ra gần miệng, tiếng
dội của bộ máy phát âm có ảnh hưởng nhỏ trong việc tạo nên phụ âm sát. Đối
với âm bật hơi (khi phát âm vần "h") sự dao động khơng khí xảy ra tại thanh
mơn bởi vì dây thanh âm được giữ lại một phần. Trong trường hợp này, tiếng
dội của bộ máy phát âm điều chỉnh phổ của tiếng ồn. Điều này được thấy rõ

nhất khi chúng ta nghe những âm thanh nhỏ, xì xào.


Plosive sound :

Trong trường hợp này, bộ máy phát âm được đóng kín, áp suất khơng khí bị
nén và được giải thốt thình lình. Sự giải thốt nhanh chóng áp suất này tạo nên
một sự kích thích ngắn cho bộ máy phát âm. Sự kích thích ngắn này có thể xảy
ra với sự có rung / khơng rung của dây thanh mơn để tạo nên âm thanh
voice/unvoice plosive

XVIII. Công nghệ Text–to–speech dùng để tổng hợp tiếng nói :

SVTH : Bùi Danh Đạt

Trang 23


Thông báo kết quả học tập của học sinh qua điện thoại

GVHD : Nguyễn Đức Thuần

Text-to-speech là một kỹ thuật dùng để chuyển dạng văn bản (text) sang
tiếng nói (speech) . Text–to–speech được phân loại dựa vào phương pháp
chuyển văn bản sang tiếng nói :
 Concatenated word :
Với phương pháp này, những từ và ngữ phải được thu âm trước. Khi nhận
được một chuỗi cần đọc, máy sẽ tách ra thành từng từ một. Sau đó, máy sẽ tìm
các từ đã được thu âm tương ứng và ghép lại với nhau , tạo ra một chuỗi tiếng
nói liên tục

 Tổng hợp :
Phương pháp này phức tạp hơn nhiều vì sẽ tổng hợp tạo âm giống như
những gì được tạo bởi giọng nói của con người phát ra. Phương pháp này cần
cung cấp nhiều bộ lọc mô phỏng chiều dài, cổ họng, khoang miệng, hình dạng
mơi và vị trí lưỡi. Tuy nhiên tiếng nói được tạo bởi kỹ thuật tổng hợp này
thường ít giống giọng con người , nhưng có thể đạt được những chất lượng
khác nhau của giọng bằng cách thay đổi một vài thông số.
 Hai âm tố (Diphone Concatenation) :
Phương pháp này nối những đoạn ngắn âm thanh được số hóa lại với nhau
và tạo ra âm thanh liên tục. Mỗi diphone bao gồm hai âm vị (phonemes), một
âm vị bắt đầu âm ,âm vị còn lại kết thúc âm. Ví dụ từ "hello" bao gồm những
âm vị sau: " h eh l oe" .Những diphone tương ứng là "silence - h h -eh eh -l l-oe
oe-silence” .
Diphone được tạo bằng cách thu giọng người và xác định một cách cẩn
thận tỉ mỉ vị trí bắt đầu và kết thúc của những âm vị. Mặc dù kỹ thuật này có thể
tạo âm giống thật, phải tốn cơng sức để làm việc này và giọng không cố định
bởi những âm vị chỉ đặc trưng bởi ngôn ngữ của người phát âm.

XIX. Sự cần thiết của công nghệ Text–to–speech (TTS) :
Một ứng dụng sử dụng TTS khi nó cần chuyển dạng văn bản mang tính
chất động sang dạng tiếng nói. Đó là những văn bản có thể thay đổi thường
xuyên, không cố định. Nếu chúng ta sử dụng phương pháp ghi âm cho tồn văn
bản thì trước hết là khơng gian lưu trữ sẽ cần rất lớn nếu như văn bản đó dài

SVTH : Bùi Danh Đạt

Trang 24


Thông báo kết quả học tập của học sinh qua điện thoại


GVHD : Nguyễn Đức Thuần

hoặc có nhiều văn bản khác nhau. Và sau đó nếu ta thay đổi văn bản khác thì sẽ
phải tiến hành ghi âm lại.
Nói tóm lại TTS có một số lợi ích và ứng dụng như sau :
-

Đọc văn bản động : TTS hữu dụng cho những văn bản thay đổi thường

xuyên. Ví dụ : sau khi nhận được e-mail, ta có thể yêu cầu máy tự đọc cho mình
nghe.
-

Kiểm tra văn bản : Với một văn bản chi chít chữ, ta có thể u cầu máy

đọc để phát hiện những từ gõ sai
-

Tiết kiệm khơng gian lưu trữ

-

Thơng báo bằng giọng nói thay cho chuỗi thơng báo trên màn hình

-

Ứng dụng truyền thơng : TTS được ứng dụng trong hộp thư thoại, hệ

thống trả lời tự động


II. Các phương pháp tổng hợp tiếng nói trong hệ thống tiếng Việt :
XX. Sự cần thiết của việc tổng hợp tiếng nói :
Khi cần thơng báo cho người sử dụng bằng tiếng nói thì những chuỗi tiếng
nói này phải được thu âm trước. Cách đơn giản nhất là mỗi câu nói ta thu âm
lại thành một file. Khi cần đọc câu nào thì ta mở file âm thanh tương ứng với
câu đó. Cách làm này có ưu điểm là trung thực và đạt độ tự nhiên cao nhưng có
hai nhược điểm rất lớn là khơng linh hoạt và tốn nhiều dung lượng nhớ để lưu
trữ các file âm thanh. Nhằm tăng tính linh hoạt cho hệ thống tự động và giảm
dung lượng lưu trữ , ta phải dùng kỹ thuật tổng hợp tiếng nói.

XXI. Các tiêu chuẩn cần thỏa mãn khi tổng hợp tiếng nói :
Tiếng nói tổng hợp dù sao cũng khơng phải là tiếng nói thực cho nên
khơng thể giống hồn tồn tiếng nói tự nhiên. Tuy nhiên khi sử dụng kỹ thuật
này, cần thỏa 2 tiêu chuẩn tối thiểu:
-

Đạt độ trung thực tương đối để mọi người có thể hiểu được mà khơng cần

học hỏi hoặc tập trung nghe cao độ. Nếu không đạt được điều này thì tiếng nói
tổng hợp sẽ khơng thể sử dụng được trong thực tế vì sẽ làm người nghe khó chịu.

SVTH : Bùi Danh Đạt

Trang 25


×