Thông báo

Collapse
No announcement yet.

Xử lý âm thanh trong Game PingPong

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Xử lý âm thanh trong Game PingPong

    Code:
     
    with note(8 downto 6) select
            pitch <= "1101110111110010001" when "001", -- 110 Hz
                     "0110111011111001000" when "010", -- 220 Hz
                     "0011011101111100100" when "011", -- 440 Hz
                     "0001101110111110010" when "100", -- 880 Hz
                     "0000110111011111001" when "101", -- 1760 Hz
                     "0000011011101111100" when "110", -- 3520 Hz
                     "0000001101110111110" when "111", -- 7040 Hz
                     "0000000000000000000" when others;
    
        with note(5 downto 3) select
            duration <= "00000010111110101111000010" when "001", -- 1/64
                        "00000101111101011110000100" when "010", -- 1/32
                        "00001011111010111100001000" when "011", -- 1/16
                        "00010111110101111000010000" when "100", -- 1/8
                        "00101111101011110000100000" when "101", -- 1/4
                        "01011111010111100001000000" when "110", -- 1/2
                        "10111110101111000010000000" when "111", -- 1/1
                        "00000000000000000000000000" when others;
    Mọi người có ai hiểu đoạn code này không thì chỉ giáo dùm nhé.
    Vì sao họ chú thích là
    --110Hz
    --240Hz
    --480Hz
    --1/64
    --1/32

  • #2
    Không ai trả lời nhỉ?

    Comment


    • #3
      Nguyên văn bởi vinhtk73 Xem bài viết
      Code:
       
      with note(8 downto 6) select
              pitch <= "1101110111110010001" when "001", -- 110 Hz
                       "0110111011111001000" when "010", -- 220 Hz
                       "0011011101111100100" when "011", -- 440 Hz
                       "0001101110111110010" when "100", -- 880 Hz
                       "0000110111011111001" when "101", -- 1760 Hz
                       "0000011011101111100" when "110", -- 3520 Hz
                       "0000001101110111110" when "111", -- 7040 Hz
                       "0000000000000000000" when others;
      
          with note(5 downto 3) select
              duration <= "00000010111110101111000010" when "001", -- 1/64
                          "00000101111101011110000100" when "010", -- 1/32
                          "00001011111010111100001000" when "011", -- 1/16
                          "00010111110101111000010000" when "100", -- 1/8
                          "00101111101011110000100000" when "101", -- 1/4
                          "01011111010111100001000000" when "110", -- 1/2
                          "10111110101111000010000000" when "111", -- 1/1
                          "00000000000000000000000000" when others;
      Mọi người có ai hiểu đoạn code này không thì chỉ giáo dùm nhé.
      Vì sao họ chú thích là
      --110Hz
      --240Hz
      --480Hz
      --1/64
      --1/32


      Bạn chuyển 1101110111110010001 sang số tự nhiên: 454545 sau đó lấy tần số clock của board là 50MHz chia cho nó là ra tân số kia thôi 50000000/454545=110Hz

      Comment


      • #4
        Nhưng cho em hỏi họ chia như vậy để làm gì ạ?
        Còn 1/64 thì sao ạ? Làm thế nào để ra 1/64

        Comment

        Về tác giả

        Collapse

        vinhtk73 Tìm hiểu thêm về vinhtk73

        Bài viết mới nhất

        Collapse

        Đang tải...
        X