سؤال

لدي ZyXEL USB Omni56K الثنائي المودم ترغب في إرسال واستقبال الصوت تيارات على ذلك ، ولكن للوصول إلى الجودة الكافية ربما تحتاج إلى تنفيذ بعض "ZyXEL ADPCM" ترميز لأن عادي PCM يوفر صغيرة جدا معدل أخذ العينات أحيل حتى متوسطة جودة الصوت لا يعمل من خلال USB إما (ربما لأنه حتى هذا معدل البت عالية جدا ل USB-Serial converter في ذلك).

هذا الغامض ترميز الأرقام في جميع Microsoft WAV ذات الصلة المكتبات باعتبارها واحدة من العديد من برامج الترميز نظريا معتمدة من قبل ذلك ولكن لم أجد أي تطبيقات.

شخص ما يمكن أن نقدم التنفيذ في أي لغة أو ربما بعض الوثائق ؟ كتابة مخصص مو قانون فك خوارزمية لن تكون مشكلة بالنسبة لي.

شكرا

هل كانت مفيدة؟

المحلول

لست متأكدا كيف ZyXEL ADPCM يختلف من النكهات الأخرى من ADPCM, ولكن مختلف ADPCM تطبيقات يمكن العثور عليها مع بعض عمليات البحث جوجل.

بيد أن السبب الحقيقي منصبي هو السبب في اختيار ضغطها.ADPCM هو التكيف التفاضلية pulse-code modulation.وهذا يعني أن البيانات التي يتم تمريرها هو الفرق في العينات ، وليس القيمة الحالية (الذي هو أيضا السبب في أن ترى مثل ضغط).في بيئة نظيفة مع عدم وجود الشيء الخسارة (أي disk drive), هذا على ما يرام.ومع ذلك ، في الجري البيئة ، يفترض عموما أن بت قد يكون دوريا المهترئ.أي بت تلف البيانات و سوف يكون السمع ثابت أو غيرها من القطع الأثرية الصوت بسرعة جدا و عادة سيئة إلى حد ما.

ADPCM إعادة آلية ليست مؤطرة مما يعني مشاكل الصوت يمكن أن تستمر لفترة طويلة من الوقت اعتمادا على التشفير.إعادة تعيين رمز هو عادة مجموعة من 0s (16 يتبادر إلى الذهن ، ولكن مضت سنوات منذ أن كتبت بلدي الموانئ).

ADPCM في الاتصالات الهاتفية البيئة عادة ما يحول 12 بت PCM العينة إلى 4 بت ADPCM العينة (ليس سيئا).أما بالنسبة جودة الصوت...ليس سيئا بالنسبة المحادثات الهاتفية والكلمة المنطوقة, ولكن معظم الناس في اختبار أعمى ، يمكن بسهولة الكشف عن نوعية قطرة.

في الجملة الأخيرة, كنت رمي الكرة منحنى في السؤال.تبدأ بالذكر muLaw.muLaw هو PCM التنفيذ التي تستغرق 12 بت عينة ويحولها باستخدام مقياس لوغاريتمي إلى 8 بت العينة.هذا هو نموذجي ضغط آلية TDM (الهاتف) networkworks في أمريكا الشمالية (أكثر من بقية العالم يستخدم خوارزمية مشابهة تسمى ALaw).

لذلك أنا في حيرة من أمري ماذا كنت فعلا تحاول أن تجد.

لقد ذكرت أيضا Microsft و WAV تطبيقات.ربما كنت أعرف ، ولكن فقط في حالة أن WAV هو مجرد التفاف حول البيانات الصوتية التي توفر شكل عينات من المعلومات, قناة, حجم وغيرها من المعلومات المفيدة.دون WAV, AU أو غير مغلفة المعنية ، muLaw ضغطها عادة يتم عرض البيانات الخام.

آخر نصيحة إذا كنت تنفيذ ضغطها.كما أشرت إلى ذلك ، فإنها تستخدم 4 بت لتمثيل 12 بت العينة.أنها تحصل على بعيدا مع هذا من قبل الجانبين بعد مضاعف الجدول.الموقف الخاص بك في الجدول التغييرات استنادا إلى 4 بت قيمة (وبعبارة أخرى ، فإن قيمة كلا متعددة ضد خطوة الحجم وتستخدم لمعرفة الجديد خطوة الحجم).رأيت مجموعة متنوعة من استخدام خوارزميات مختلفة قليلا الجداول (لا أدري السبب ، ولكن عادة رؤية إرسال إشارات وردت ببطء تبتعد عن التحيز).واحدة من أقدم الشعبية الصوت حزم مختلفة مما كنت عادة ما رأيته من الاتصالات الهاتفية بائعي الأجهزة.

و لمزيد من الفائدة التوافه ، وهناك نكهات متعددة من ضغطها.الفروق تنطوي على الطاولة ، المصدر حجم العينة والمقصد حجم العينة ، ولكن لم يسبق لي العمل معهم.مجرد توثيق النكهات التي وجدتها عندما فعلت بلدي الإنترنت في البحث عن مواصفات مختلف صيغ الصوت المستخدمة في الاتصالات الهاتفية.

نصائح أخرى

الأنابيب الخاصة بك pcm خلال ffmpeg -f u16le -i - -f wav -acodec adpcm_ms - من المرجح أن تعمل.

http://ffmpeg.org/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top