Tôi sẽ đề nghị rằng ngay cả khi bạn muốn sử dụng các giai đoạn lọc tương tự (chúng có thể tạo ra âm thanh ấm áp khó có thể đạt được thông qua các phương tiện khác), có thể nên tạo ra các dạng sóng bắt đầu bằng kỹ thuật số. Nhiều máy giải trí điện tử của Williams trong những năm 1980 tạo ra âm thanh bằng cách sử dụng một bảng chứa bộ vi xử lý 6800, một lượng nhỏ RAM và ROM và một chút I / O bao gồm cả một bộ xử lý tín hiệu. Tất cả các hiệu ứng âm thanh được tạo ra bằng cách sử dụng các vòng chương trình chặt chẽ tạo ra các mẫu và đưa chúng vào bộ xử lý. Vì bộ xử lý được sử dụng cho mục đích tạo âm thanh, tốc độ thực hiện vòng lặp có thể được sử dụng để định thời gian.
Trong thực tế, ngay cả các bộ vi điều khiển đơn giản nhất cũng có một số loại tài nguyên hẹn giờ, có thể hữu ích nếu bạn muốn có thể thay đổi các tham số âm thanh trong khi phát âm thanh. Sử dụng một cái gì đó như mã 6805, người ta sẽ bắt đầu bằng cách viết một thói quen thăm dò ý kiến cho mỗi giọng nói; đối với tốc độ, các thói quen này sẽ sống trong RAM - đại loại như:
thăm dò ý kiến1:
brclr TMR_CONTROL, TMR_READY, cuộc thăm dò ý kiến; Đợi bắt đầu 'đánh dấu' tiếp theo
bclr TMR_CONTROL, TMR_READY
FRQ1L: lda #PATCH
PH1L: thêm #PATCH
sta PH1L + 1; Giá trị bản vá cho LSB của pha
FRQ1M: lda #PATCH
PH1M: thêm #PATCH
sta PH1M + 1; Mã vá
FRQ1H: lda #PATCH
PH1H: thêm #PATCH
sta PH1H + 1; Mã vá
sta FETCH + 2; Bản vá LSB của mục tiêu
FETCH: lda TABLE_BASE; Địa chỉ 16 bit
clr DAC_ENABLES
sta DAC_OUTPUT
lda # ENABLE_1
sta DAC_ENABLES
rts
Tiếp theo, người ta sẽ có một vòng lặp chính sẽ liên tục gọi thói quen thăm dò ý kiến cho từng giọng nói theo trình tự và giữa các cuộc gọi, thực hiện bất kỳ logic nào khác cần thực hiện (ví dụ: xem có cần cập nhật thông số giọng nói nào không). Sử dụng phương pháp này, có thể cập nhật số lượng giọng nói hợp lý với tỷ lệ mẫu cao.
Mặc dù có thể thực hiện việc tạo sóng ban đầu hoàn toàn bằng cách sử dụng mạch tương tự, nhưng khó có nhiều máy phát tương tự độc lập có đặc tính tần số hoàn toàn giống nhau trong một phần trăm. Tai người rất nhạy cảm với các biến thể trong cao độ - hơn rất nhiều so với các biến thể về biên độ - vì vậy bất cứ điều gì được sử dụng để tạo tín hiệu đều phải rất nhất quán. Sử dụng một bộ vi điều khiển đơn giản làm điểm khởi đầu là một cách tốt để có được tính nhất quán như vậy, ngay cả khi sau đó chúng cung cấp tín hiệu được tạo thông qua mạch định hình tương tự.