سؤال

أنا أبحث عن المكتبة التي يمكن أن تستخدم في التعامل مع الملفات الصوتية.أساسا ما أود القيام به هو:

  1. تحميل MP3/WAV الملف

  2. على بعد 15 ثانية من الملف

  3. تراكب آخر MP3/WAV ملف ontop ذلك

  4. تقديم جديد MP3/WAV الملف

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

المحلول

يمكنك استخدام أي مشترك MP3 codec API لفك تيار العمل معها ، وحفظه مرة أخرى.وعلى سبيل المثال يمكن استخدام libLAME في هذا الجزء.

أما عن الاختلاط, هل يمكن أن تفعل ذلك بنفسك إما (على سبيل المثال ، بسذاجة ، إضافة اثنين من عينات القسمة على اثنين-الذي قد لا يبدو جيدا جدا) ، المكتبة السليم لذلك.

كنت قد تكون مهتمة أيضا في تجاوز سعة مكدس السؤال في أفضل ج المكتبة الصوتية لينكس

نصائح أخرى

أنه لا يدعم MP3 البراءات الأسباب ، ولكن libsndfile هو لطيف جدا مفتوحة المصدر (LGPL) مكتبة لتحميل و حفظ الصوت في مجموعة متنوعة من صيغ الصوت الأخرى ، بما في ذلك WAV.

أما بالنسبة تراكب جزء, هذا سهل مرة كنت قد حصلت على عينات تحميلها في الذاكرة...كنت فقط باختصار كل عينة في ملف مع المقابلة على عينة في الملف ب (وربما حجم الناتج قيمة عينة أسفل قليلا بضرب مستمرة, إذا كنت قلقا حول لقطة).

المكتبة libsox من الجوارب (وليس http://libsox.sourceforge.net/ وهو شيء مختلف تماما) يبدو بسيط API التي يمكن استخدامها.الوثائق يعطي المثال التالي ستيريو إلى أحادية الاختلاط:

تمثل عينات الصحيحه يمكن يسبب مشاكل عند معالجة الصوت.على سبيل المثال, إذا كان تأثير على مزيج أسفل قنوات اليسار واليمين في واحدة عادية قناة تم استخدام خط

    *obuf++ = (*ibuf++ + *ibuf++)/2;

التشويه قد تحدث منذ المتوسطة بالإضافة إلى ذلك يمكن تجاوز 32 بت.الخط

    *obuf++ = *ibuf++/2 + *ibuf++/2;

سوف تحصل على جولة تجاوز المشكلة (على حساب الأقل كبيرة قليلا).

قد محاولة إعطاء نظرة على هذا http://terminatorx.org/ كنت أبحث في أن تفعل شيئا من هذا القبيل.

جيد جدا C++ الصوت/موالفة المكتبة STK.يفعل الكثير من الأشياء هو تحت BSD/معهد ماساتشوستس للتكنولوجيا نوع الترخيص أي يمكنك استخدامه لتطوير المنتجات التجارية.Wav ويدعم ولكن لا MP3.MP3 هل يمكن استخدام irrklang, على سبيل المثال, وهو مجاني للاستخدام غير التجاري (أيضا جنون underbit, يستخدم من قبل الكثير من الناس).

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