Thành phần thu nhận giọng nói

Một phần của tài liệu nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android (Trang 65)

Thành phần thu nhận giọng nói trên hai hệ thống khác nhau có sự khác nhau. Đối với hệ thống sử dụng file giọng nói thu sẵn, mẫu tín hiện giọng nói sẽ được lấy gián tiếp thông qua file audio đã được record trước đó. Với hệ thống còn lại thì giọng nói sẽ được thu trực tiếp từ micro và chuyển thành mảng tín hiệu giọng nói. Thư viện Android [15] hỗ trợ hai cách để lấy giọng nói thông qua hai lớp MediaRecorder và AudioRecorder. MediaRecorder là một lớp trong Android hỗ trợ thu nhận audio, video từ các cảm biến của thiết bị. Những định dạng audio mà nó có thể hỗ trợ bao gồm MP3, FLAC, AAC, MIDI… và chưa hỗ trợ định dạng PCM/WAVE (Android dưới 4.1). Việc không hỗ trợ định dạng PCM/WAVE cho android dưới 4.1 gây trở ngại cho việc hiện thực hệ thống vì mẫu tín hiệu âm thanh được thu nhận dưới dạng PCM/WAVE mà việc chuyển tín hiệu từ những định dạng khác về PCM/WAVE cũng phức tạp. Để khắc phục vấn đề này, lớp AudioRecorder được chọn và sử dụng vì ưu thế hỗ trợ định dạng PCM/WAVE của nó cũng như là khả năng có xử lý với mẫu tín hiệu giọng nói ngay trong lúc thu nhận.

Ở cả hai hệ thống, giọng nói được thu với tần số lấy mẫu là 8000 Hz nên theo lý thuyết Nyquist thì tần số tối đa của tín hiệu giọng nói có thể thu giữ được là 4000 Hz. Nhưng nhiêu đó cũng quá đủ với giọng nói của một người bình thường có tần số từ 300 Hz đến 3400 Hz. Kích thước mẫu được chọn là 16-bit và định dạng của âm thanh là PCM-signed nên cường độ của tín hiệu giọng nói có thể biểu diễn trong khoảng từ -215 (-32768) đến 215 (32768). Loại kênh được chọn

cho mẫu tín hiệu là mono để giảm sự phức tạp trong quá trình thu nhận tín hiệu vì nó không ảnh hưởng trong việc nhận dạng giọng nói.

Một phần của tài liệu nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android (Trang 65)