Tải bản đầy đủ (.pdf) (53 trang)

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động - Iphone

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 (6.34 MB, 53 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ



NGUYỄN VĂN HIỂN



XÂY DỰNG ỨNG DỤNG BIẾN ĐỔI GIỌNG NÓI TRÊN
NỀN TẢ NG DI ĐỘNG – IPHONE


Ngành: Công nghệ thông tin
Chuyên ngành: Công nghệ phần mềm
Mã số: 60 48 10




TÓM TẮT LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN




Hà Nội – 2012
3

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
MỤC LỤC
LỜI CAM ĐOAN 1!


LỜI CẢM ƠN 2!
MỤC LỤC 3!
DANH MỤC HÌNH VẼ 5!
DANH MỤC BẢNG BIỂU 5!
Chương 1 – GIỚI THIỆU 6!
1.1.!!Lý do chọn đề tài 6!
1.2.!Xác định bài toán 7!
1.3.!Ý nghĩa thực tiễn 7!
1.4.!Phạm vi đề tài 8!
1.5.!Nội dung và cấu trúc luận văn 8!
Chương 2 – CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ 10!
2.1. Tổng quan về bài toán biến đổi giọng nói 10!
2.1.1. Giới thiệu tiếng nói 11!
2.1.2. Biểu diễn tín hiệu tiếng nói 12!
2.1.2.1. Xác định tần số lấy mẫu 14!
2.1.2.2. Lượng tử hoá 15!
2.1.2.3. Nén tín hiệu tiếng nói 15!
2.1.2.4. Mã hoá tín hiệu tiếng nói 16!
2.1.3. Biến đổi giọng nói 18!
2.2. Tổng quan về nền tảng công nghệ 18!
2.2.1. Nền tảng iOS 19!
2.2.1.1. Tổng quan về nền tảng iOS 19!
2.2.1.2. Kiến trúc hệ thống iOS 19!
2.2.2. Ứng dụng Skype 24!
2.2.2.1. Tổng quan ứng dụng Skype 24!
2.2.2.2. Skype Plugin 24!
4

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
Chương 3 – XÂY DỰNG HỆ THỐNG BIẾN ĐỔI GIỌNG NÓI 26!

3.1. Mô tả bài toán 26!
3.2. Biến đổi giọng nói 27!
3.2.1. Biến đổi sang giọng khác 27!
3.2.2. Biến đổi giọng nói sang môi trường khác 31!
Chương 4 – CÀI ĐẶT VÀ THỰC NGHIỆM 36!
4.1. iPhone 36!
4.1.1. Môi trường 36!
4.1.2. Cài đặt 36!
4.1.2.1. Mô tả giọng nói, lưu trữ trong chương trình 36!
4.1.2.2. Cấu trúc chương trình trên iPhone 38!
4.1.3. Kết quả 40!
4.1.3.1. Âm thanh sau khi biến đổi 40!
4.1.3.2. Đánh giá hiệu năng 41!
4.1.3.3. Đánh giá của người dùng 43!
4.1.3.4. Hình ảnh chương trình 46!
4.2. Skype trên Windows 48!
4.2.1. Môi trường 48!
4.2.2. Cài đặt 48!
4.2.3. Kết quả 49!
4.3. Đánh giá ứng dụng 51!
4.3.1. Ưu điểm 51!
4.3.2. Nhược điểm 51!
KẾT LUẬN 52!
TÀI LIỆU THAM KHẢO 54!
5

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
DANH MỤC HÌNH VẼ!
Hình 2.1: Biểu diễn tín hiệu tiếng nói 13!
Hình 2.2: Các layer trong iOS (1) 20!

Hình 2.3: Các layer trong iOS (2) 21!
Hình 2.4: Thư viện phát triển iOS 23!
Hình 3.1: Tần số thay đổi (giảm) 50% sau mỗi bước 28!
Hình 3.2: Tổng hợp âm thanh từ hai nguồn khác nhau 31!
Hình 4.1: Thư viện OpenAL trên iPhone 38!
Hình 4.2: Cấu trúc chương trình trên iPhone 39!
Hình 4.3: Sóng âm của giọng nói ban đầu, nữ giới, độ tuổi 20-25 40!
Hình 4.4: Sóng âm sau khi biến đổi sang giọng nam giới 40!
Hình 4.5: Sóng âm sau khi biến đổi sang giọng trẻ em 41!
Hình 4.6: Sóng âm sau khi biến đổi sang môi trường hang động 41!
Hình 4.7: Giao diện tuỳ chọn của chương trình 46!
Hình 4.8: Giao diện chọn giọng nói và nghe lại giọng nói đã biến đổi 47!
Hình 4.9: Giao diện lựa chọn thêm các hiệu ứng bổ sung 47!
Hình 4.10: Class diagram của plugin cho Skype 49!
Hình 4.11: Giao diện thêm hiệu ứng 50!
Hình 4.12: Giao diện chỉnh hiệu ứng 50!

DANH MỤC BẢNG BIỂU
Bảng 3.1: Các tham số biến đổi giọng nói 29!
Bảng 4.1: Thời gian thực thi các hiệu ứng 42!
Bảng 4.2: MOS đánh giá độ chính xác của hiệu ứng 43!
Bảng 4.3: MOS của một số hiệu ứng 44!
Bảng 4.4: MOS đánh giá chất lượng hiệu ứng 44!
6

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
Chương 1 – GIỚI THIỆU
1.1. Lý do chọn đề tài
Ngày nay, sự phát triển của khoa học công nghệ nói chung và công nghệ thông tin
nói riêng góp một phần không nhỏ trong sự thay đổi và phát triển của cuộc sống con

người. Chiếc máy vi tính ngày càng có nhiều những chức năng mạnh mẽ giúp ích con
người thực thi các công việc trong rất nhiều lĩnh vực như khoa học, sản xuất công nghiệp
hay các lĩnh vực xã hội khác như kinh tế, chính trị, văn hóa
Không chỉ máy tính, sự phát triển chóng mặt của các thiết bị di động cầm tay cũng
tác động không nhỏ đến đời sống của con ngư ời. Những chiếc smartphone nhỏ gọn, thông
minh không chỉ giúp mọi người liên lạc với nhau dễ dàng hơn, mà nó còn cung cấ p rất
nhiều những tính năng hữu ích khác như các ứng dụng văn phòng, giải trí, khả năng kết
nối mạng để tìm hiểu thông tin. Với những tính năng mạnh mẽ ấy cộng với giá thành vừa
phải đ ã khiến các thiết bị này trở nên rất phổ biến và như vật bất ly thân của rất nhiều
người.
Theo báo cáo của Nielsen [9] – công ty nghiên cứu thị trường hàng đầ u thế giới – số
lượng smartphone trong quý 4 năm 2011 là 472 triệu, tương đương 46% tổng số điện
thoại trên toàn thế giới.
Cũng theo tổng hợp trên App Store [8], có khoảng 5 ứng dụng, đạt khoảng 3 triệu
lượt tải, phục vụ cho việc biến đổi giọng nói. Tuy nhiên, những ứng dụng này chỉ cung
cấp cho ngư ời dùng mộ t số lượng rất ít những hiệu ứng để biến đổi giọ ng nói và tương
đối khó dùng khi yêu cầu người sử dụng phải tinh chỉnh những tham số ít thân thiện.
Chính vì vậy, ý tưởng luận văn “Xây dựng hệ thống biến đổi giọng nói trên nền tảng
di động – iPhone” ra đời với những lý do:
- Đưa ra cách tiếp cận chung cho bài toán biến đổi giọng nói.
- Đưa ra nhiều tham số tương ứng với nhiều hiệu ứng khác nhau nhằm biến đổi
giọng nói sang nhiều môi trường khác nhau. Đây là bài toán được nhiều
người quan tâm, song chưa có báo cáo nào đưa ra những tham số cụ thể với
từng hiệu ứng nên nhữ ng ứng dụng hiện tại thường cài đặt rất ít hiệu ứng và
7

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
đòi hỏ i người sử dụng phải hiểu biết sâu sắc về âm thanh. Đề tài đưa ra cách
tiếp cận hợp lý để biến đổi giọng nói sang nhiều hiệu ứng khác nhau.
- Xây dựng một ứng dụng cho phép biến đổi giọng nói trên nền tảng di đ ộng,

tạo tiền đề cho bài toán xây dựng ứng dụng cho phép tạo những cuộc gọi giả,
giúp người gọi che giấu được giọng nói và môi trường hiện tại.
1.2. Xác định bài toán
Đề tài tôi nghiên cứu và thực hiện: “Xây dựng hệ thống biến đ ổ i giọng nói trên nền
tảng di động – iPhone” xuất phát từ mong muốn xây dựng một ứng dụng di động độc
đáo, được cụ thể hoá trên nền tảng công nghệ iPhone. Với ứng dụng này, người dùng có
thể:
- Ghi âm giọng nói
- Biến đổi giọng nói
• Sang một giọng nói khác như: nam giới, nữ giới, trẻ em,…
• Trong một môi trường khác: mưa rơi, đường phố,…
- Biến đổi giọng nói ngay trong cuộc đàm thoại qua Skype
1.3. Ý nghĩa thực tiễn
Hệ thống biến đổi giọng nói được xây dựng có nhiều ý nghĩa thực tiễn.
Trên nề n tảng di động, hệ thống có thể giúp tạo ra các cuộc gọi giả. Người gọi – khi
cần che giấu, hay đánh lạc hướng qua giọng nói – có thể sử dụng hệ thố ng mình nhằm
tránh được người nghe có thể nhận ra giọng nói của mình. Ngoài ra, người gọi cũng có
thể lựa chọn các hiệu ứng môi trường khác nhau nhằm đánh lừa người nghe về vị trí mình
đang gọi điện. Đây là ứng dụng rất phổ biế n, chỉ tính riêng trên nền tảng iPhone đã có 5
ứng dụng cùng khoảng gần 3 triệu lượt cài đặt [8].
Đây là ứng dụng cơ bản nhất của hệ thống biến đổi giọng nói trên nền tảng di động.
Người viết chọn việc xây dựng ứng dụng trên nền tảng di động rất phổ biế n – iPhone.
8

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
Như đã đề cập, những ứng dụng hiện có chỉ cung cấp một số ít những hiệu ứng
trong tự nhiên. Luận văn này đưa ra phương pháp tiếp cận phù hợp nhằm tạo được nhiều
hiệu ứng hơn.
1.4. Phạm vi đề tài
Vì bài toán “biến đổi giọng nói” khá phức tạp và có rất nhiều ứng dụng, trong thời

gian thực hiện ngắn, đề tài chỉ tập trung vào những vấn đề trong phạm vi sau:
- Tìm hiểu bài toán biến đổi giọng nói, tìm hiểu một số cách tiếp cận để giải
quyết bài toán, từ đó đưa ra cách tiếp cận hợp lý nhất.
- Đề xuất các biến đổi dựa trên cách tiếp cận đã tìm hiểu, đưa ra các tham số
phù hợp để biến đổi sang khoảng 20 giọng nói và 5 hiệu ứng môi trường.
- Cài đặt một ứng dụng trên iPhone theo cách tiếp cận đề ra.
- Cài đặt plugin Skype để biến đổi giọng nói theo cách tiếp cận đề ra.
1.5. Nội dung và cấu trúc luận văn
Với nội dung chính là trình bày những lý thuyết về bài toán xử lý giọng nói, xây
dựng ứng dụng trên nền tảng di động và cách giải quyết bài toán khi xây dựng một ứng
dụng cụ thể trên nền tảng iPhone, luận văn được trình bày theo cấu trúc sau:
Chương Một trình bày lý do chọn đề tài. Qua đó trình bày nhu cầu thực tiễn cần một
sản phẩm biến đổi giọng nói trên nền tảng di động – iPhone.
Chương Hai trình bày những hệ thống lý thuyế t và công nghệ liên quan, được sử
dụng trong việc Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động – iPhone.
Những cơ sở lý thuyết và công nghệ được trình bày gồm có:
- Bài toán biến đổi giọng nói
- Biểu diễn tín hiệu tiếng nói
- Những phương pháp biến đổi giọng nói
- Nền tảng di động iPhone
- Nền tảng Skype
9

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
Trên cơ sở lý thuyết và công nghệ được trình bày trong chương Hai, chương Ba
trình bày quá trình áp dụng những cơ sở lý thuyết và công nghệ nhằm xây ứng dụng biến
đổi giọng nói trên nền tảng di động – iPhone. Nội dung củ a chương tập trung vào:
- Những yêu cầu kỹ thuật, khó khăn khi xây dựng hệ thống
- Những giải pháp đề xuất và áp dụng
- Đánh giá ưu, nhược điểm của hệ thống

Chương Bốn mô tả quá trình cài đặt, sử dụng hệ thống và những kết quả thực
nghiệm, những đánh giá khi sử dụng hệ thống trong thực tế.
10

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
Chương 2 – CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ
2.1. Tổng quan về bài toán biến đổi giọng nói
Biến đổi giọng nói là một kỹ thuật thay đổi tiếng nói của người phát âm sang tiếng
nói của một đối tượng khác. Bài toán biến đổi giọng nói có một số ứng dụng như tuỳ
chỉnh giọng nói cho hệ thống “đọc văn bản” (text to speech), biến đổi thành giọng nói của
người nổi tiếng nhằm sử dụng trong lĩnh vực hoạt hoạ, tuỳ chỉnh chất giọng của ca sỹ…
[6]. Yêu cầu chính để giải quyết bài toán là xử lý một số lượng lớn những tín hiệu tiếng
nói đầu vào, chuyển đổi thành dãy tín hiệu tiếng nói tương ứng.
Có một số cách tiếp cận để giải quyết bài toán biến đổi giọng nói, trong đó nổi bật là
hai cách tiếp cận sau:
Thứ nhất, cách tiếp cận dựa trên “tập mẫu” (codebook based) giải quyết bài toán
thông qua việc xây dựng một tập lớn những tín hiệu mẫu giữa những giọng nói khác
nhau. Khi cầ n biến đổi tiếng nói của đối tượng A sang tiếng nói củ a đối tượng B, cách
tiếp cận này hoạt động theo các bước:
- Nhận dạng tiếng nói phát ra từ đối tượng A, so sánh với những tín hiệu mẫu
đã lưu trữ.
- Nếu tín hiệu của đối tượng A được nhậ n dạng “tốt” (gần giống chính xác với
mẫu đã lưu trữ), hệ thống sẽ biến đổ i bẳng cách đưa ra tín hiệu tương ứng của
đối tượng B.
- Trong trường hợp tín hiệu của đối tượng A không trùng với mẫu, hệ thống
phải được cài đặ t một thuật toán nhằm giúp sinh ra được tín hiệu này dựa trên
các mẫu đã có. Tương tự, tín hiệu của B cũng được xây dựng dựa trên những
tín hiệu mẫu tương ứng và thuật toán trên.
Cách tiếp cận này có ưu điểm là: thường cho độ chính xác rất cao khi tập mẫu rất lớn
và các tín hiệu rời rạc. Khi đó, các mẫu nhỏ thường rất dễ so sánh và việc biến đổi trở nên

dễ dàng. Ngược lại, việc sinh ra tín hiệu không được lưu trong mẫ u khiến thời gian xử lý
rất lâu. Vì tiếng nói trong tự nhiên rất đa dạng, với vài trăm ngàn từ có thể tạo thành hàng
trăm triệu câu nói với những ngữ điệu khác nhau nên cách tiếp cận này bộc lộ nhược điểm
11

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
là luôn phải đ ánh đổi giữa thời gian xử lý và kích thước lưu trữ. Chính vì vậy cách tiếp
cận này chỉ được sử dụng trong một số ít những bài toán biến đổi giọng nói nhất định.
Cách tiếp cận thứ hai, dựa trên việc biến đổi (transformation based) [6] thường cho
chất lượng kém hơn nhưng rất dễ thực hiện trong thời gian thực. Cách tiếp cận này dựa
trên các xử lý sau:
- Tìm kiếm đặc trưng của các giọng nói, từ đó đưa ra cách thức biến đổi từ
giọng nói này sang giọng nói khác.
- Tín hiệu tiếng nói A, dựa trên cách thức biến đổ i xác định, được biế n đổi sang
tín hiệu tiếng nói B.
Cách tiếp cận này thường cho phép biến đổi nhanh trong thời gian thực với kết quả
chấp nhận được. Đây cũng chính là cách tiếp cận trong luậ n văn này. Để làm được như
vậy, hệ thống cần phải thực hiện theo quy trình sau:
- Tìm kiếm đặc trưng của mỗi giọng nói
- Chuyển đổi giọng nói từ tín hiệu tương tự sang tín hiệu số
- Xử lý số, thay đổi những đặ c trư ng của giọng nói
- Chuyển đổi ngược tín hiệu số sang tín hiệu tương tự
2.1.1. Giới thiệu tiếng nói
Tiếng nói là một loại sóng âm. Khi ta nói, tiếng nói được truyền đi mang thông tin
dưới dạng các dao động cùng phương truyền đến tai người nhận. Mức độ truyền tin của
giọng nói được xem là nhanh nhất trong các khả năng tự nhiên của con người.
Khác với sách, báo, thư tín… chỉ truyền tin một chiều, tiếng nói giúp chúng ta truyền
tin cả hai chiều. Sách báo giúp chúng ta ghi lại thông tin để sau này đọc lại, nhưng tiếng
nói giúp chúng ta thể hiện bản thân hơn. Thông qua cách nói chuyện, khả năng ứng xử, ta
có thể đánh giá được trình độ và nhân cách của mỗi người.

Tiếng nói có nhiều đặc tính:
- Đặc tính của sóng âm gồm các đặc tính sinh lý, vật lý như:
• Độ cao: Là mức độ cao thấp của âm, phụ thuộc vào sự chấn động
nhanh hay chậm của không khí trong một khoảng thời gian nhất định,
12

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
được gọi là tần số dao động. Tần số dao động càng lớn thì âm thanh
càng cao.
• Độ mạnh: Thường đượ c gọi là cường độ, do biên độ dao động quyết
định. Trong ngôn ngữ, phụ âm thường mạnh hơn nguyên âm, đ ây
chính là một trong những đặc điểm góp phần nhận diện sự khác biệt
giữa phụ âm và nguyên âm trong tiếng nói.
• Độ dài: Là trường độ của âm, phụ thuộc vào sự chấn động lâu hay mau
của các phần tử không khí. Độ dài được sử dụng đ ể phân biệt các
nguyên âm dài và ngắn, như phân biệt “a” với “e”, …
• Âm sắc: Là sắc thái riêng của một âm do các cá thể khác nhau tạo ra.
Âm sắc là nguyên nhân gây ra sự khác biệt giữa giọng nói của người
này và người khác. Âm sắc có được là do hiện tượng cộng hưởng.
• Tiếng ồn và tiếng thanh: Tiếng ồn là do sự chuyển động không nhịp
nhàng (không có chu kỳ ổn định) củ a các phần tử khí gây ra. Tiếng
thanh là do sự chuyển động nhịp nhàng (có chu kỳ ổn định) của các
phần tử khí gây ra.
- Đặc tính xã hội như: ngữ điệu, sắc thái tình cảm, địa phương…
Nghiên cứu về tiếng nói trên máy tính, ta xem xét chủ yếu đến tần số, biên độ (hay
năng lượng). Giọng nói có miền tần số cơ bản nằm trong khoảng 80 – 800 Hz.
2.1.2. Biểu diễn tín hiệu tiếng nói
Tín hiệu tiếng nói là tín hiệu tương tự. Do đó, khi biểu diễn tín hiệu tiếng nói trong
môi trường tính toán của tín hiệu số, việc biểu diễn và lưu trữ sao cho không bị mất mát
thông tin là vấn đề hết sức quan trọng trong các sản phẩm có sử dụng tín hiệu tiếng nói.

Việc xem xét các vấn đề xử lý tín hiệu tiế ng nói trong các hệ thống này dựa trên ba
vấn đề chính:
- Biểu diễn tín hiệu tiếng nói dạng số
- Cài đặt các kỹ thuật xử lý
- Các lớp ứng dụng dựa trên kỹ thuật xử lý tín hiệu số
13

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
Phần này trình bày vấn đề biểu diễn tiếng nói dưới dạng số. Mô hình tổng quát các
phương pháp biểu diễn tín hiệu tiếng nói được trình bày trên hình.

Hình 2.1: Biểu diễn tín hiệu tiếng nói

Biểu diễn tín hiệu tiếng nói theo dạng số chịu ảnh hưởng quan trọng của lý thuyết
lấy mẫu, theo đó các trạng thái của tín hiệu có dải tần giới hạ n có thể được biểu diễn dưới
dạng các mẫu lấy tuần hoàn theo mộ t chu kỳ cố định gọi là chu kỳ lấy mẫu. Việ c lấy mẫu
này sẽ cung cấp cho hệ thống những mẫu tín hiệu với tỷ lệ đủ lớ n để xử lý. Tất cả các quá
trình xử lý lấy mẫu được chỉ rõ trong các tài liệu về xử lý tín hiệu số. Có nhiều phương
pháp biểu diễn rời rạc tín hiệu tiếng nói nói. Các khả năng biểu diễn như thế được phân
thành hai nhóm chính: nhóm biểu diễn tín hiệu dạng sóng (waveform) và nhóm biểu diễn
tín hiệu theo tham số (parametric).
Biểu diễn tín hiệu tiếng nói
Biểu diễn dạng sóng
Biểu diễn dạng tham số
Các tham số kích
thích
Các tham số của bộ
máy phát âm
14


Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
Phương pháp biểu diễn tín hiệu theo dạ ng sóng như bản thân tên của nó, được xem
xét đ ến với việc bảo mật thông tin theo cách thông thường là giữ nguyên hình dạng sóng
của tín hiệu tương tự sau khi đã qua các bước lấy mẫu và lượng tử hoá tín hiệu.
Trên phương diện khác, phương pháp biểu diễn tín hiệu theo tham số được xem xét
đến trên khía cạnh biểu diễn tín hiệu tiếng nói như đầu ra của hệ thống tạo tiếng nói. Để
thu được các tham số biểu diễn, bước đầu tiên của phương pháp này lại thường là biểu
diễn tín hiệu theo dạng sóng. Điều này có nghĩa là, tín hiệu tiếng nói được lấy mẫu và
lượng tử hoá giống như phương pháp biểu diễn tín hiệu tiếng nói dạng sóng, sau đó tiến
hành xử lý để thu được các tham số của tín hiệu tiếng nói của mô hình tạo tiếng nói nêu
trên. Các tham số của mô hình tạo tiếng nói này thường được phân loại thành các tham số
tín hiệu nguồn (có quan hệ mật thiết với nguồn của tiếng nói) và các tham số của bộ máy
phát âm tương ứng (có quan hệ mật thiết với giọng nói của từng người).
Vì tiếng nói là tín hiệu liên tục nên để áp dụng các phương pháp xử lý tín hiệu thì
tiếng nói phải được biểu diễn dưới dạng rời rạc. Quá trình rời rạc hoá tín hiệu tiếng nói
bao gồm các bước sau:
- Lấy mẫu tín hiệu tiếng nói với tần số lấy mẫu f
0

- Lượng tử hoá các mẫu với các bước lượng tử q
- Mã hoá và nén tín hiệu
Sau đây chúng ta xét qua các bước này.
2.1.2.1. Xác định tần số lấy mẫu
Khi lấy mẫu một tín hiệu tương tự với tần số lấy mẫ u f
0
cần đảm bảo rằng việc khôi
phục lại tín hiệu đó từ tín hiệu rời rạc tương ứng phải thực hiện được.
Shannon đã đưa ra một định lý mà theo đó người ta có thể xác định tần số lấy mẫu
đảm bảo yêu cầu trên [10]. Theo Shanon, điều kiện cần và đủ để khôi phục lại tín hiệu
tương tự từ tín hiệu đã được rời rạc hoá với tần số f

0
là: f
0
≥ f
MAX
với f
MAX
là tần số lớn
nhất của tín hiệu tương tự.
Phổ của tín hiệu tiếng nói trải rộng trong khoảng 12 kHz, do đó theo định lý
Shannon thì tần số lấy mẫu tối thiểu là 24 kHz. Với tần số lấy mẫu lớn như thế thì khối
15

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
lượng bộ nhớ dành cho việc ghi âm sẽ rất lớn và làm tăng sự phức tạp trong tính toán.
Nhưng chi phí cho việc xử lý tín hiệu số, bộ lọc, sự truyền và ghi âm có thể giảm đi nếu
chấp nhận giới hạn phổ bằng cách cho tín hiệu qua một bộ lọc tần số thích hợp. Đối với
tín hiệu tiếng nói cho điện thoại, người ta thấy rằng tín hiệu tiếng nói đạt chất lượng cần
thiết để mức độ ngữ nghĩa của thông tin vẫn bảo đảm khi phổ được giới hạn ở 3400 Hz.
Khi đó tần số lấy mẫu sẽ là 8000 Hz. Trong kỹ thuật phân tích, tổng hợp hay nhận dạng
tiếng nói, tần số lấy mẫu có thể dao động trong khoảng 6.000 – 16.000 Hz. Đ ối với tín
hiệu âm thanh (bao gồm cả tiếng nói và âm nhạc) tần số lấy mẫu cần thiết là 48 kHz.
2.1.2.2. Lượng tử hoá
Việc biểu diễn số tín hiệu đòi hỏi việc lượng tử hoá mỗi mẫu tín hiệu với một giá trị
rời rạc hữu hạn. Mục tiêu của công việc này hoặc là để truyền tải hoặc xử lý có hiệu quả.
Trong trường hợp thứ nhất, mỗi mẫu tín hiệu được lượng tử hoá, mã hoá rồi truyền đ i.
Bên thu nhận tín hiệu giả i mã và thu được tín hiệu tương tự. Tính thống kê của tín hiệu
được bảo toàn sẽ ảnh hưởng quan trọng đến thuật toán lư ợng tử hoá. Trong trường hợp xử
lý tín hiệu, luật lượng tử hoá đượ c quy định bởi hệ thống xử lý, nó có thể được biểu diễn
bằng dấu phẩy tĩnh hay dấu phẩy động. Việc xử lý bằng dấu phẩy động cho phép thao tác

với tín hiệu khá mềm dẻ o mặc dù chi phí tính toán cao. Việc xử lý bằng dấu phẩy tĩnh
đơn giản hơn nhiều nhưng đòi hỏi các điều kiện chặt chẽ đối với các thuật toán xử lý.
2.1.2.3. Nén tín hiệu tiếng nói
Lượng tử hoá tín hiệ u gây ra các lỗi có thành phần giống nhiễu trắng, như vậy số
bước lượng tử cần được phân bố theo tỷ lệ trên lỗi thích hợp. Nếu số bước lượng tử là cố
định thì tỷ số này là hàm của biên độ tín hiệu, người ta sử dụng luật lượng tử logarithm và
mỗi mẫu tín hiệu được biểu diễn bằng 8 bit.
Đối với tín hiệu âm thanh kích thước mẫu thường là 16 bit.
Một đặc trưng cần thiết của phép biểu diễn tín hiệu số là tốc độ nhị phân tính bằng
bit/s. Đó là giá trị quan trọng trong khi thực hiện truyền dữ liệu cũng như lưu trữ dữ liệu.
Đường truyền điện thoại có tốc độ là 8(kHz)*8(bit) = 64kb/s. Khi thực hiện truyền và ghi
lại tín hiệu âm thanh, tốc độ cần thiết 768 kb/s.
16

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
Ta biết rằng tín hiệu tiếng nói có độ dư thừa rất lớn, do đó có thể giảm tốc độ tín
hiệu tuỳ thuộc mục đích xử lý khi xem xét đến mức độ phức tạp của các thuật toán cũ ng
như xem xét đến chất lượng của việc biểu diễn tín hiệu tiếng nói. Có nhiều kỹ thuật đưa ra
để đạt được các mục đích trên. Sự lựa chọn một phương pháp biểu diễn số tín hiệu thoả
mãn giữa các tiêu chuẩn về chất lượng của của phép biểu diễ n, tốc độ lưu truyền hay lưu
trữ và cuối cùng là các điều kiện môi trường (như nhiễu, ).
Thông thường số bit có nghĩa dùng để biểu diễn chuỗi lượng tử cần phải giảm bớt vì
lý do kỹ thuật. Việc này có thể thực hiện được bằng cách bỏ đi các bit ít có nghĩa nhất,
nếu phép lượng tử là tuyến tính, lỗi lượng tử tăng cùng với khoảng giá trị của chuỗi.
Nhưng đối với một vài ứng dụng, mức lượng tử ở vùng tần số cao có yêu cầu thấp hơn so
với mứ c lượng tử ở vùng tần số thấp hay ngược lại, trong trường hợp đó cần sử dụ ng toán
tử tuyến tính để biến đổi tín hiệu.
Kỹ thuật truyền tin trong điện thoại thường sử dụng luật nén tín hiệu theo đường
cong logarithm. Có hai luật nén được sử dụng phổ biến hiện nay là luật µ và luật A.
2.1.2.4. Mã hoá tín hiệu tiếng nói

a. Mã hoá trực tiếp tín hiệu
Phương pháp mã hoá trực tiếp hay phổ tín hiệ u cho phép biểu diễn một cách trung
thực nhất tín hiệu. Mã hoá trực tiếp thực chất là biểu diễn mỗi mẫu tín hiệu hay phổ tín
hiệu độc lập khác với các mẫu khác. Một hệ thống mã hoá tín hiệu khá phổ biến hiện nay
theo phương pháp này thực hiện trong miền thời gian là mã hoá xung PCM (Pulse Code
Mudulation).
Để bảo đảm biểu diễn tín hiệu đạt chất lượ ng cao phải bảm bảo được thông lượng
cần thiết. Do tần số lấy mẫu đã được cố định, muốn giảm được thông lượng này phải
giảm số bit dùng biểu diễn một mẫu. Muốn vậy phải áp dụ ng luật lượng tử phù hợp với
thống kê bậc một của tín hiệu, nghĩa là phù hợp với mật độ phân bố và sự thay đổi của tín
hiệu. Hệ thống PCM có thể giảm thông lượng xuống còn 64 kb/s.
17

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
Cũng theo hướng này người ta dùng hàm tự hồi quy để thực hiện nén tín hiệu. Khi
đó mỗi mẫu mới của tín hiệu tiếng nói lạ i không chứa các đặc điểm hoàn toàn mới, nó
chắc chắn có liên quan đến các mẫu trước đó.
Như vậy mỗi mẫu tín hiệu tiếng nói, bằng nhiều phương pháp có thể tiên đoán nhờ
một số mẫu trước đó, khi đó chỉ cần tính toán sai số dự đoán và biến đổi. Tại nơi nhận tín
hiệu, mộ t phép biến đổi ngư ợ c lại được thực hiện và người ta thấy rằng hệ số khuếch đại
của hệ thống đối với thông lượng là hàm chất lượng của phép tiên đoán. Các hệ thống
hoạt động theo nguyên tắc này có:
- DPCM (Differential PCM): Hệ thống PCM dùng phép tiên đoán cố định.
Thay vì truyền mẫu tín hiệu, phương pháp này truyền đi các hệ số tiên đoán
và sai số dự đoán.
- ADPCM (Adaptive DPCM): Hệ thống PCM dùng phép tiên đoán thích nghi.
Hệ thống này là hệ thống cải tiến của hệ thống DPCM, người ta sẽ dùng hàm
tự hồi quy trong thời gian ngắn để tính toán các hệ số tiên đoán với một đ oạn
mẫu tín hiệu khoảng 20ms. Những tính toán này thực hiện trong thời gian
thực.

Biểu diễn số của tín hiệu có thể thực hiện trong cả miền tần số bằng cách mã hoá
biến đổi Fourier của tín hiệ u. Trong miền tần số, phép mã hoá trự c tiếp ít được áp dụng.
Các kỹ thuật giảm bớt thông lượng được thực hiện bằng cách giảm độ dư thừa tự nhiên
của tín hiệu tiếng nói trên phổ tín hiệu. Theo phương pháp này người ta dùng cách mã hoá
băng thấp hay mã hoá thích nghi theo biến đổi ATC.
b. Mã hoá tham số tín hiệu
Để giảm hơn nữa thông lượng của tiếng nói tới khoảng giá trị 2000 – 3000b/s, cần
phải dùng các kết quả nghiên cứu về phương thức tạo ra tiếng nói con người. Có nhiều
phương pháp cho phép đánh giá các tham số của mô hình tạo tiếng nói bao gồm hàm đặc
trưng của tuyến âm và các đặc trưng của nguồn âm.
Tín hiệu tiếng nói được coi gần như dừng trong khoảng thời gian là 20 ms; như vậy
các tham số được tính toán lại sau 20ms và được thực hiện trong thời gian thực. Người ta
18

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
thấy rằng việc truyền tham số này cho phép thông lượng giảm xuống còn khoảng 2500
b/s. Phương pháp mã hoá này gọi là phương pháp mã hoá nguồn tham số tín hiệu.
Một tập hợp các tham số khi truyền hay lưu trữ đặ c trưng cho phổ thờ i gian ngắn, có
nghĩa là nó chỉ được chấp nhậ n trong một thời gian hạn chế. Tai người rất nhạy cảm với
các phổ thời gian này, do đó có thể cho rằng tai người có thể phân biệt được một số hữu
hạn các phổ thời gian ngắn. Giả sử M = 2B. Như vậy với mỗi phổ thời gian ngắn, ta gán
cho nó một giá trị biểu diễn bằng một từ B bit và từ này sẽ được truyền đi hay lư u trữ.
Bằng cách này thông lượng có thể giảm xuống còn 1000 b/s.
Tín hiệu tổng hợp bằng mã hoá theo tham số các tín hiệu tiếng nói thường không bảo
đảm chất lượng trong hệ thống điện thoại thông thường. Giọng nói sẽ rất khó nhận ra
trong trường hợp dùng phương pháp này. Do đó kỹ thuật mã hoá này chỉ ứng dụng trong
điện thoại di động và quân sự
2.1.3. Biến đổi giọng nói
Như phầ n trên đã mô tả, bản chất của việc biến đổi giọng nói là thay đổi các đặc
trưng của giọng nói. Để biến đ ổi giọng nói này sang giọng nói khác, ta phải thay đ ổ i

những tham số sau:
- Độ cao: Là mức độ cao thấp của âm, phụ thuộc vào sự chấn độ ng nhanh hay
chậm của không khí trong một khoảng thời gian nhất định, được gọi là tần số
dao động. Tần số dao động càng lớn thì âm thanh càng cao. Tham số này
thường được gọi là pitch.
- Độ mạnh: Thường được gọi là cường độ, do biên độ dao động quyết định.
Trong ngôn ngữ, phụ âm thường mạnh hơn nguyên âm, đây chính là một
trong những đặc điểm góp phần nhận diện sự khác biệt giữa phụ âm và
nguyên âm trong tiếng nói. Tham số này thường được gọi là amplitude.
2.2. Tổng quan về nền tảng công nghệ
Phần này trình bày những nền tảng công nghệ được sử dụng cho việc cài đặt ứng
dụng trong luận văn. iOS là nền tảng công nghệ chính được sử dụng. Tuy nhiên, do nền
19

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
tảng iOS chưa hỗ trợ việc can thiệp vào những cuộc gọi, người viết đã tìm hiểu và cài đặt
hệ thống trên nền tảng Skype nhằm thể hiện việc biến đổi giọng nói trong những cuộc gọi.
2.2.1. Nền tảng iOS
2.2.1.1. Tổng quan về nền tảng iOS
iOS là hệ điều hành trên các thiết bị di động của Apple [12]-[1]. Ban đầu hệ điều
hành này chỉ được phát triển để chạy trên iPhone, nhưng sau đó nó đã được mở rộng để
chạy trên các thiết bị của Apple như iPod touch, iPad và Apple TV. Ngày 31 tháng 5,
2011, App Store của Apple chứa khoảng 500 000 ứng dụng iOS, và được tải về tổng cộng
khoảng 15 tỷ lần.[9] Trong quý 4 năm 2011, có khoảng 30% điện thoại thông minh chạy
hệ điều hành iOS, sau hệ điều hành Android của Google.
Giao diện người dùng của iOS dựa trên cơ sở thao tác bằng tay. Người dùng có thể
tương tác với hệ điều hành này thông qua rất nhiều động tác bằng tay trên màn hình cảm
ứng của các thiết bị của Apple.
2.2.1.2. Kiến trúc hệ thống iOS
iOS là hệ điều hành chạy trên các thiết bị iPhone, iPod touch, và iPad [12]-[2]. Hệ

thống sẽ quản lý các thiết bị phần cứng và cung cấp các công nghệ cần thiết để thực hiện
các ứng dụ ng. iOS cũng đi kèm với những ứng dụng tiêu chuẩn khác nhau của hệ thống,
như điện thoại, Mail, Safari, nhằm cung cấp các dịch vụ cho ngườ i sử dụng.
SDK iOS chứa các công cụ và giao diện cần thiết để phát triển, cài đặt, chạy, và thử
nghiệm các ứng dụng. Ứng dụng được xây dựng bằng cách sử dụ ng các framework của hệ
thống iOS và ngôn ngữ Objective-C, chạy trực tiếp trên iOS. Các ứng dụng này được cài
đặt bên cạnh các ứng dụng hệ thống khác và dữ liệ u của cả hai loại ứng dụng này được
người sử dụng đồng bộ hóa với máy tính cá nhân thông qua iTunes.
a. Kiến trúc iOS
Kiến trúc iOS tương tự như kiến trúc cơ bản trong Mac OS X. Ở mức cao nhất, iOS
hoạt động như một thành phần trung gian giữa phần cứng và các ứng dụng xuất hiện trên
màn hình, như thể hiện trong Hình 2.2. Các ứng dụng được tạo ra hiếm khi giao tiếp trực
20

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
tiếp với phầ n cứng cơ bản. Thay vào đó, các ứng dụng giao tiếp với phần cứng thông qua
một tập các giao diện hệ thống, được xác định bảo vệ ứng dụng từ những thay đổi phần
cứng. Việc trừu tượng hóa này làm cho lập trình viên dễ dàng viết các ứng dụng làm việc
nhất quán trên các thiết bị với các phầ n cứ ng khác nhau.


Hình 2.2: Các layer trong iOS (1)[8]

Mặc dù các ứng dụng được bảo vệ từ thay đổi phần cứng cơ bản, lập trình viên vẫn
cần phải giải thích cho sự khác biệt giữa các thiết bị trong mã chương trình. Ví dụ, một số
thiết bị có chứa máy ảnh, một số thiết bị lại không có. Nếu ứng dụng có thể làm việc khi
có (hoặc không có) một tính năng nhất đ ịnh, ứng dụng cần sử dụng các giao diệ n được
cung cấp bởi SDK tương ứng để xác định việc tồn tại tính năng đó.
Các ứng dụng đ òi hỏi phải có sự hiện diện của phần cứng cụ thể nên khai báo yêu
cầu sử dụng danh sách tài nguyên thông tin của ứng dụng trong tập tin Info.plist.

21

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
Công nghệ iOS thực hiện thông qua một loạt nhữ ng layer, được thể hiện trong Hình
2.3. Các layer thấp hơn của hệ thống cung cấp các dịch vụ cơ bản để các layer cao hơn có
thể sử dụng được.


Hình 2.3: Các layer trong iOS (2)[8]

Khi viết mã ứng dụng, lập trình viên nên sử dụng các layer cao nhất có thể. Các
layer cao hơ n thường cung cấp mức độ trừu tượng cao hơn và ít phụ thuộc vào phần cứng
hơn. Điều này khiến việc viết ứng dụng dễ dàng hơn, giảm số lư ợ ng mã phải viết và đóng
gói. Mặc dù vậy, những layer thấp hơn vẫn tồn tại trong bộ SKD và lập trình viên vẫn có
thể sử dụng khi cần thiết.
b. SDK iOS
SDK iOS đi kèm với tất cả các giao diện, các công cụ và tài nguyên cần thiết đ ể phát
triển các ứng dụ ng iOS từ máy tính Macintosh trên nền Intel. Apple cung cấp hầu hết các
giao diện hệ thống của nó trong các gói đặc biệt gọi là framework. Framework là một thư
mục chứa một thư viện chia sẻ và tài nguyên (như các tập tin tiêu đề, hình ảnh, ứng dụng
trợ giúp, …) cần thiết cho thư viện. Để sử dụng các framework, lập trình viên cần liên kết
chúng vào ứng dụng, giống như bất kỳ thư viện chia sẻ nào khác.
Một số thành phần quan trọng khác của SDK bao gồm:
- Xcode: Công cụ hỗ trợ phát triển ứng dụng iOS, bao gồm cả các ứng dụng
quan trọng:
22

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
• Xcode là một môi trường phát triển tích hợp, quản lý các dự án ứng
dụng của lập trình viên và cho phép những lập trình viên chỉnh sửa,

biên dịch, chạy, và gỡ lỗi chương trình. Xcode tích hợp với nhiều công
cụ khác và là ứng dụng chính mà lập trình viên sử dụng trong quá trình
phát triển.
• Công cụ phân tích hiệu suấ t thời gian chạy và công cụ gỡ lỗi. Lập trình
viên có thể sử dụng các dụng cụ để thu thập thông tin về hành vi thời
gian chạy ứng dụng và xác định các vấn đề tiềm năng.
- iOS Simulator: Bộ mô phỏng hệ điều hành Mac OS X theo công nghệ stack
iOS, cho phép lập trình viên kiểm tra ứng dụng iOS cục bộ trên máy tính
Macintosh trên nền Intel.
- iOS phát triển Thư viện các tài liệu tham khảo chứa tất cả về công nghệ và
quá trình phát triển ứng dụng iOS.
Mặc dù lập trình viên có thể chạy các ứng dụng trong iOS Simulator, Xcode và các
công cụ cũ ng cho phép họ chạy và gỡ lỗi các ứng dụng trực tiếp trên một thiết bị kèm
theo. Simulator khá lý tưởng để xây dựng và kiểm tra các ứng dụng một cách nhanh
chóng nhưng không thể thay thế cho thử nghiệm trên một thiết bị thực. Việc phát triển
trên một thiết bị thực tế đòi hỏi phải đăng ký với chương trình trả tiền cho nhà phát triển
của Apple iOS và cấu hình một thiết bị cho các mục đích phát triển.
c. Sử dụng iOS
iOS hỗ trợ phát triển hai loại ứng dụng:
- Ứng dụng cơ bản
- Ứng dụng web
SDK iOS hỗ trợ việc tạo ra các ứng dụng xuất hiện duy nhất trên màn hình Home
của thiết bị. Nó không hỗ trợ việc tạo ra các dạng mã khác, chẳng hạn như trình đ iều
khiển hoặc các thư viện động.
Các ứng dụng web sử dụng kết hợp HTML, cascading style sheets (CSS) và mã
JavaScript thực hiện các ứng dụng tương tác trực tiếp trên một máy chủ web, được truyền
23

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
qua mạng, và chạy bên trong trình duyệt web Safari. Ngược lại, ứng dụng cơ bản được cài

đặt trực tiếp trên thiết bị và có thể chạy mà không có kết nối mạng.
Thư việ n phát triển của iOS chứa các tài liệu, hướng dẫn, và các thông tin khác mà
lập trình viên cần để viết các ứng dụng iOS.
Khi cài đặt iOS SDK, Xcode tự động liên kết với thư viện phát triển iOS để sử
dụng. (Xcode cũng tự động tải về bản cập nhật) Thư viện phát triển iOS chứ a rất nhiều
thông tin, Hình 2.4 cho thấy các trang chính của thư viện phát triển trong cửa sổ tài liệu
Xcode.


Hình 2.4: Thư viện phát triển iOS[8]
24

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
2.2.2. Ứng dụng Skype
2.2.2.1. Tổng quan ứng dụng Skype
Skype là một mạng điện thoại Internet ngang hàng được thành lập bở i Niklas
Zennström và Janus Friis, cũng là những người thành lập ra ứ ng dụng chia sẻ tập
tin Kazaa và ứng dụng truyền hình ngang hàng Joost. Skype cạnh tranh với những giao
thức VoIP mở hiện nay như SIP, IAX, và H.323. Skype Group, được mua lại với giá 2,6
tỉ USD bởi eBay vào tháng 9 2005, có trụ sở đặt tạ i Luxembourg, với các văn phòng đại
diện ở London, Tallinn, Praha và San Jose, California.
Skype đã phát triển nhanh chóng về cả lượng người dùng và phát triển phần mềm từ
khi ra mắt, cả dịch vụ miễn phí và dịch vụ trả tiền. Hệ thống liên lạc Skype nổi bật nhờ
các tính năng thuộ c nhiều lĩnh vực, bao gồm hội nghị thoại và hình ảnh miễn phí, khả
năng sử dụng công nghệ (phân bố) ngang hàng để vượt qua vấn đề về tường lử a và NAT,
sử dụng kỹ thuật mã hóa mạnh và trong suốt và khả nă ng cực mạnh chống lại việc biên
dịch ngược phần mềm hay giao thức.
Ngày 10 tháng 5 năm 2011, tâp đoàn Microsoft đã mua lại Skype với giá 8,5 tỷ
USD.
2.2.2.2. Skype Plugin

Skype cho phép xây dựng plugin thông qua API, qua đó một ứng dụng có thể giao
tiếp với một số thành phần của Skype. Những plugin này được giao tiếp thông qua các
API của Skype.
API Skype cung cấp một cơ chế cho các ứng dụng của bên thứ 3, ứng dụng và các
thiết bị để kiểm soát các chức năng Skype trên giao diện ngườ i dùng và thực hiện các tính
năng bổ sung hoặc cải tiến để bổ sung cho Skype.
API có hai lớp:
- Lớp truyền thông: Một tập hợp các phương pháp ứng dụng bên ngoài để thiết
lập kết nối cho khách hàng Skype và giao tiếp với Skype.
25

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012
- Lớp message: Một văn bản dự a trên "ngôn ngữ" mà các ứng dụ ng bên ngoài
có thể sử dụng để nói chuyện với các khách hàng Skype khi kênh truyền
thông được thành lập bởi lớp truyền thông.
Ngoài ra, có một số thư viện API Skype wrapper đóng gói các chức năng của
Skype API. Các wrapper như vậy có thể hành động như các lớ p tùy chọn thứ
ba.
- Lớp thông tin liên lạc: Cung cấp một cơ chế cho các ứng dụng bên ngoài để
giao tiếp với Skype. Lớp này là nền tả ng dpendant - một cơ chế vận tải trao
đổi dữ liệ u với Skype và khác nhau trên các hệ điều hành Windows, Linux và
Mac.
Một khi ứng dụng đi kèm Skype thông qua các lớp truyền thông, ứng dụ ng đó có thể
tiến hành giao tiếp với Skype thông qua các lệnh trong lớ p message.
Giao thức lớp message là một ngôn ngữ lệnh để Skype biết cách xử lý thông
điệp. Lệnh gửi cho Skype phải là định dạng UTF-8.

26

Xây dựng hệ thống biến đổi giọng nói trên nền tảng di động iPhone Nguyễn Văn Hiển – 2012

Chương 3 – XÂY DỰNG HỆ THỐNG BIẾN ĐỔI GIỌNG NÓI
3.1. Mô tả bài toán
Trên cơ sở lý thuyết và công nghệ đã mô tả trong chương hai, luận văn tập trung vào
xây dựng các ứng dụng:
• Ứng dụng trên iPhone: Cho phép người dùng:
o Ghi âm giọng nói của mình
o Biến đổi giọng nói:
 Sang một giọng nói khác (17 giọng nói):
• Giọng nam giới
• Giọng nữ giới
• Giọng trẻ em mới tập nói
• Giọng trẻ nhi đồng
• Giọng phát thanh viên qua loa
• Giọng vang trong núi
• …
 Trong một môi trường khác (6 môi trường):
• Mưa rơi
• Đương phố
• Nơi đông người
• Tiếng vỗ tay
• Âm thanh trên biển
• Nơi có còi báo động
 Tuỳ chỉnh các hiệu ứng
o Lưu giọng nói đã biến đổi
• Plugin cho Skype: Cho phép người dùng:
o Cài đặt plugin cho Skype
o Biến đổi giọng nói trong cuộc gọi:

×