Thông báo

Collapse
No announcement yet.

Hỏi về thuật toán nén âm thanh dùng vi điều khiển

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

  • Hỏi về thuật toán nén âm thanh dùng vi điều khiển

    Em đang làm mạch ghi âm rồi truyền về máy tính qua cổng COM
    Đang cần 1 thuật toán nén âm thanh liên tục rồi truyền về.
    Anh em nào làm rồi thì chỉ hộ em với

    Cần phải đọc tài liệu gì nhỉ ?
    Giúp với nhé
    Cám ơn!

  • #2
    Nén âm thanh liên tục thì thường dùng chuẩn PCM hay ADPCM là đơn giản nhất. Tín hiệu âm tần dải 4KHz (telephone line) được lấy mẫu ở tần số 8KHz với mỗi mẫu là 8 bit mono. Từ đó tính được tốc độ đường truyền streaming là 64kbps!!! Tốc độ truyền COM có chịu nổi không????

    Vậy tại sao V92 modem lại có thể chạy được ở tốc độ 48K hay 56K? Chắc nó dùng chuẩn V.44 comporession protocol.

    Comment


    • #3
      Nếu không cần realtime thì có thể dùng chuẩn nén mp3 (www.8hz.com), còn nén realtime thì cần dùng các chuẩn trong VOIP như GCEP chẳng hạn. Với mp3 (chuẩn nén mpeg1) thì mình đã thử 1 file wav (dạng PCM) nén xuống 8k môô thì thấy tỷ lệ nén file tới hơn 40-200 lần. Tuy nhiên code free của họ cho là viết theo chuẩn nên dùng toàn số float, và rất phức tạp. Trong đó có 1 hàm chính là nén từng Frame, hình như mỗi frame là 1050bits thì phải, mình làm lâu quá rồi nên ko nhớ.
      Trong tài liệu của TI có nói tới tốc độ yêu cầu khi nén là khoảng 5-10MIPS. Chi tiết bạn có thể xem ở file spru011E.pdf.
      Việc nén bằng uP (PIC,AVR...) chỉ nén bằng ADPCM được thôi, khi đó tốc độ bit là 32kbits/sec. Tốc độ ngắt uP là 8Khz, đồng thời nếu dùng CODEC như TP3057 thì cần giải mã ngược luật u/A law (khoảng 1MIPS, dùng bảng tra).
      ! ! you can win if you want ! !

      Comment


      • #4
        Đúng vậy có rất nhiều chuẩn nén dành cho giọng nói. Được quy định trong các chuẩn G711, G721, G726, G729 v..v..
        Tuy nhiên các chuẩn nén này có giải thuật phức tạp, đòi hỏi tốc độ tính toán cao mà uC khó đạt tới. Chỉ có PCM (G711) và ADPCM (G721) là ít phức tạp nhất và có thể dùng uC thực hiện. Đặc biệt ADPCM có giải thuật tra bảng làm rất nhanh.
        chunhanhoabattu :rose:

        Comment


        • #5
          Cám ơn các bác
          Em cũng mới được biết con TP3057 như bác anhtuan133 nói đó. Con này nén 64kbps. Tuy nhiên em muốn nén nó thành 32kbps nên em cũng đang tìm hiểu ADPCM.
          Bác anhtuan133 bảo cần giải mã ngược luật A-law (TP3057) là như thế nào hả bác ? Tại sao lại cần thế hả bác? Nếu đưa mẫu của TP3057 vào encode ADPCM luôn thì có được không ?

          Comment


          • #6
            PCM mà bác dùng trong audio là dạng 16 bits, hoặc 13bits chuẩn hóa thành 16bits, rất ít khi dùng PCM 8bits vì chất lượng quá tồi. Con codec dùng trong telecom là TP3057 nén 13bits->8bits theo u law. Mà cái giải thuật ADPCM free đó input 16bits PCM nên phải dãn ra rồi mới nén. Nếu bạn viết lại (hoạc download được) thì có thể dùng trực tiếp đưa vào hàm mã ADPCM.
            Chắc là bạn định làm hệ thống nghe trộm hoặc thu âm ghi máy tính hả. Bên công an hay quân đội hay có những thiết bị như thế lắm. Đề tài này hay nhưng nếu dùng để nghe trộm thì tôi không bao giờ làm cả.
            ! ! you can win if you want ! !

            Comment


            • #7
              Dùng TP3057 nếu không yêu cầu cao về chất lượng và tốc độ 32 kbps như ADPCM thì. Phải làm như sau.
              Chẳng phải làm gì cả.
              Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

              Biến tần
              Máy giặt
              Lò vi sóng
              Bếp từ.
              Tủ lạnh.
              Điều hòa

              Comment


              • #8
                Chào anh Dung nho ^_^
                Con TP3057 mã hóa PCM 8bit với 8Khz nên là 64kbps. Nếu chỉ cần thế thì đúng là ko cần làm gì. Tuy nhiên em cần thu 2 line nên tốc độ truyền là 64x2 = 128kbps rồi nên cổng COM ko đủ (max chỉ 115200bps thôi). Thế nên mới cần nén xuống 32kbps.

                Còn đề tài này không phải để nghe trộm đâu anh anhtuan133 ạ. Yêu cầu của nó là thế mà.

                Anh cho em hỏi nếu chỉ chèn thêm 8 bit cao rồi mã hóa thì có ổn không nhỉ ??
                Em có mạch rồi và đang làm thử, tuy nhiên cũng đang tìm dạng file để ghi lên máy tính nên chưa biết kết quả thế nào. Em thấy dạng file .au được Windows Media chạy trực tiếp được.

                Comment


                • #9
                  To : NMI.
                  Em biết anh hay sao nhỉ? Học sinh thày QA à?
                  Không thay đổi mà được 32kbps thì mới nói chứ, 64kbps thì anh nói làm gì.

                  Ghi lên PC mà tốc độ RS232 cao vậy không ổn đâu. Chạy 1 lúc thì full buffer 232 ngay. Viết bàng VC hay C+ thì còn đỡ, VB thì càng không ổn. Em truyền 115kbps liên tục thì hết tài nguyên của PC ngay.
                  Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

                  Biến tần
                  Máy giặt
                  Lò vi sóng
                  Bếp từ.
                  Tủ lạnh.
                  Điều hòa

                  Comment


                  • #10
                    Hì, em đúng là học sinh thầy QA, có 1 lần đi cùng thầy gặp anh ở cty rồi.
                    Anh chỉ cho em cách kia với.

                    Đúng là chạy tốc độ cao ko ổn thật. Truyền 1 lúc là bị rớt gói tin, em dùng Delphi, khi truyền sử dụng tới 40%CPU.

                    Comment


                    • #11
                      oài, may quá đã xử lý được phía máy tính rồi. Nó bị tràn buffer. Tăng buffer lên và thỉnh thoảng Clear buffer là tốt.
                      Tiện thể hỏi các bác trong CodevisionAVR lệnh tráo đổi (swap) 2 nửa byte là thế nào nhỉ?
                      Thanks

                      Comment


                      • #12
                        May quá đã tìm ra cái bảng tra ngược của cả u-law và a-law rồi, em sẽ thử giải nén từ con TP3057 rồi lại nén adpcm xem sao.

                        Comment


                        • #13
                          Chào mọi người. Mình đang tìm hiểu về chức năng, ứng dụng của IC PALCE16V8Q-25. Có phần về nội dung chương trình trong con IC đó mình tìm hoài mà chẳng biết được. Mong mọi người cùng chia sẻ. Nếu ai biêt về IC đó thì Post lên rùm.
                          congyth@gmail.com

                          Comment


                          • #14
                            các anh có tài liệu gì về các chuẩn mp3, adpcm... ko? em search hoài ko thấy
                            Phạm Minh Tuấn

                            (+84) 982006467

                            Comment

                            Về tác giả

                            Collapse

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

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

                            Collapse

                            Đang tải...
                            X