User Tag List

+ Trả lời chủ đề
Trang 1/2 12 CuốiCuối
Hiện kết quả từ 1 tới 10 của 12

Chủ đề: dien tu CNTT FileWave K46(thay Du Thanh Binh)

  1. #1
    HUT's Student Avatar của alisa
    Tham gia ngày
    May 2003
    Bài gửi
    173

    Mặc định dien tu CNTT FileWave K46(thay Du Thanh Binh)

    đây là thư viện Sounds.pas, dùng thư viện này để xử lý phần chơi File Wave qua Sounds Card
    trong PasCal:
    Thư viện này tui lấy ở PCWorld.

    unit sounds;

    Interface
    function ResetDSP(base : word):boolean;
    procedure writeDac(level:byte);
    function Readdac :byte;
    function speakeron:byte;
    function speakeroff:byte;
    Implementation
    uses crt;
    var dsp_reset :word;
    dsp_read_data :word;
    dsp_write_data:word;
    dsp_write_status:word;
    dsp_data_avail:word;
    function resetdsp(base :word):boolean;
    begin
    base:= base * $10;
    dsp_reset:= base + $206;
    dsp_read_data := base + $20a;
    dsp_write_data := base + $20c;
    dsp_write_status := base + $20c;
    dsp_data_avail := base + $20e;
    port[dsp_reset] := 1;
    delay(10);
    port[dsp_reset] := 0;
    delay(10);
    if (port[dsp_data_avail] and $80 = $80) and (port[dsp_read_data] = $aa) then
    resetdsp := true
    else
    resetdsp := false;
    end;

    procedure writedsp(value:byte);
    begin
    while port[dsp_write_status] and $80 <>0 do ;
    port[dsp_write_data] := value;
    end;

    function readdsp:byte;
    begin
    while port[dsp_data_avail] and $80 = 0 do;
    readdsp := port[dsp_read_data];
    end;

    procedure writedac(level:byte);
    begin
    writedsp($10);
    writedsp(level);
    end;

    function readdac :byte;
    begin
    writedsp($20);
    readdac := readdsp;
    end;

    function speakeron:byte;
    begin
    writedsp($d1);
    end;

    function speakeroff:byte;
    begin
    writedsp($d3);
    end;

    end.
    phuongvm
    Software Engineer
    lonely
    genius
    ***********************************
    Tiền là số 1.
    Tình là 0.5

  2. #2
    Dami
    Guest

    Mặc định

    Hình như bài của thày Bình (năm ngoái) là tạo ra 1 tín hiệu sin dưới dạng .wav cơ mà ? Nếu cần chơi file wav thì có lẽ lập trình trên Win có giải pháp dễ dàng và chuyên nghiệp hơn.

  3. #3
    nguyenthanhtungtinbk
    Guest

    Mặc định

    Chủ đề này cũng hay đấy, có ai còn có gì muốn share với anh em không, post luôn lên đi.

  4. #4
    HUT's Student Avatar của alisa
    Tham gia ngày
    May 2003
    Bài gửi
    173

    Mặc định

    Ừ thì năm nay cũng vẫn là tạo tín hiệu hình sin mà.

    Nhưng tui chưa biết gì về lập trình windows cả làm sao mà làm.

    Không biết lên học tiếp cái gì.

    ai cho tui một lời khuyên với.

    Tự thấy mình kém quá.

  5. #5
    nguyenthanhtungtinbk
    Guest

    Mặc định

    Cho mình hỏi cái cấu trúc 44 bytes đầu tiên của file wave thì có một chỗ là bits per sample nhưng một số tài liệu lại ghi bytes per sample, thực ra cái nào đúng, mà nó có ý nghĩa gì bên cạnh cái tần số mẫu.

  6. #6
    HUT's Student
    Tham gia ngày
    Nov 2002
    Bài gửi
    128

    Mặc định

    He he, Con Wav cua em my man luon. Thay chang che tieng nao, va khong can phai nop 2 lan.
    "Kiếp sau xin chớ làm người
    Làm cây thông đứng giữa trời mà reo"

  7. #7
    HUT's Student Avatar của alisa
    Tham gia ngày
    May 2003
    Bài gửi
    173

    Mặc định

    Quote Nguyên văn bởi nguyenthanhtungtinbk
    Cho mình hỏi cái cấu trúc 44 bytes đầu tiên của file wave thì có một chỗ là bits per sample nhưng một số tài liệu lại ghi bytes per sample, thực ra cái nào đúng, mà nó có ý nghĩa gì bên cạnh cái tần số mẫu.
    Thực ra thì phải là byte mới đúng.
    Ý nghĩa của nó là như thế này:

    Giả sủ mức biên độ tín hiệu qua Sound Card là 0.1 V

    thì Nếu đặt giá trị của trường này là 1 (Tức 1 byte) thì 0,1 V sẽ tương đương với 255 (8 bit).

    Nếu đặt giá trị của trường này là 2 thì 0,1 V sẽ tương đương với 65535 (16 bit hay 2 bytes).

    Chương trình này của tui viết bằng Pascal nên chạy trông rất củ chuối.

    chạy trên win2k hay winxp là chết đứng.

    Chẳng biết rùi thầy sẽ cho bao nhiêu điểm.

  8. #8
    HUT's Student
    Tham gia ngày
    Nov 2002
    Bài gửi
    128

    Mặc định

    Ai viết ra cái Sound cho Pascal này thì đáng khâm phục đấy. Cho mình gửi một cái chào trân trọng. Mình chỉ biết dùng các hàm API thôi. Tất nhiên Con Wav mà dùng WM thì Amateur quá rồi. Phải tự viết thì mới hiểu nó ra làm sao chứ?

  9. #9
    rongbk
    Guest

    Mặc định

    Kinh quá, nhưng em thấy cái câu hỏi của Tùng thì phải là bits. Mà thực ra cái đó không quan trọng lắm, em thấy bác Alisa giải đúng đấy.
    Mà tôi hỏi bác nào dùng API trong Win đấy, thử share cái đi, cái đó được đấy.

  10. #10
    Dami
    Guest

    Mặc định

    Chú Doctor có cần thư viện Sound for DOS không, anh có cả bộ source DIGPAK và MIDPAK viết bằng C đấy. Hic cái này anh dùng từ lâu rồi nên không còn nhớ rõ, hình như chỉ chơi file VOC còn muốn chơi file wave thì phải modified đi một tí. Còn có cả phần điều khiển MIDI nữa, hay phết.

+ Trả lời chủ đề
Trang 1/2 12 CuốiCuối

Thông tin chủ đề

Users Browsing this Thread

Hiện có 1 người đọc bài này. (0 thành viên và 1 khách)

Chủ đề tương tự

  1. các anh chị giúp tân binh với
    Gửi bởi 12588 trong mục Kỹ thuật điện tử
    Trả lời: 7
    Bài cuối: 20-09-2008, 10:01 PM
  2. help...cai mon an toan dien cua thay Top lam an ntn bgio
    Gửi bởi vutiendungbkhn trong mục Chia sẻ kinh nghiệm
    Trả lời: 0
    Bài cuối: 17-01-2007, 10:11 PM
  3. Tân Binh
    Gửi bởi recruit trong mục TT đào tạo tài năng và CLC
    Trả lời: 4
    Bài cuối: 30-08-2004, 10:48 AM

Từ khóa (Tag) của chủ đề này

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình


About svBK.VN

    Bách Khoa Forum - Diễn đàn thảo luận chung của sinh viên ĐH Bách Khoa Hà Nội. Nơi giao lưu giữa sinh viên - cựu sinh viên - giảng viên của trường.

Follow us on

Twitter Facebook youtube