سؤال

لدي سؤال مثير للاهتمام اليوم.

أنا بحاجة ل تحويل بعض ملفات الصوت البوكيمون إلى قائمة عينات 8 بت (0-255 القيم). أكتب روتين التجمع على شرائح MC6800 التي ستحتاج إلى لعب هذه الأصوات. أخطط بما في ذلك مجموعة مع عينات 8 بت التي سيقوم بها البرنامج عند استدعاء الوظيفة.

هل يعرف أحد وسيلة لتحويل الملفات الصوتية (WAV / MP3) إلى قائمة فاصلة مفصولة من قيم نموذج نص 8 بت؟ أو أي شيء لهذه الطريقة النسبية؟

شكرا جزيلا لك مقدما!

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

المحلول

يمكنك استخدام أداة "Sox" سطر الأوامر أو محرر الصوت Audacity لتحويل الملف إلى ملف صوتي أحادي مونو 8 بت الخام غير الموحد.

في Audacity 1.3 أو أعلى، افتح الصوت ثم حدد تصدير، واختر "الموجة، والأنواع وغيرها من الأنواع غير المضغوطة" كنسيق، ثم انقر فوق خيارات ... - ثم اختر "الآخر ..." للتنسيق، "RAW" للرأس، وتوقيع PCM 8 بت مثل الترميز. (آسف، غير موقعة غير متوفر.)

من سطر الأوامر، جرب Sox مع -c 1 لقناة واحدة، -T RAW لعدم وجود رأس، -U ل Linear Linear، و -1 ل 1 بايت لكل عينة.

ثم يمكنك استخدام أداة مثل "Hexdump" لتفريغ البايتات من الملف كأرقام ولصقها في التعليمات البرمجية الخاصة بك.

نصائح أخرى

إذا سوكس لا تملك ذلك، سيتعين عليك استخدامه لإنشاء ملفات RAW (Headless) وتحويل الملفات الخام إلى فاصلة مفصولة بنفسك.

تحرير: Sox لديه "بيانات نصية خام" كأحد تنسيقاتها، من صفحة الويب. يمكنك تحويلها إلى تحويل ملفات الصوت الخاصة بك إلى عينات خطية 8 بت غير موقعة في تمريرة الأولى ثم تحصل على الإخراج بالضبط الذي تريده بالضبط باستخدام هذا الخيار للإخراج.

ل .wav انها عملية بسيطة للغاية. يمكنك العثور على مواصفات .wav بسهولة مع بحث Google. يشتمل على رأس ثم عينات خيمة. يجب عليك قراءة الرأس أولا، ثم حلقة من خلال جميع العينات. عادة ما تكون عينات 16 بت، لذلك تريد تطبيعها من النطاق -32768 إلى 32767 إلى نطاق 0-255. أقترح تحجيم بسيط في البداية. إذا لم يكن هذا غير ناجحا، فربما تجد الدليل الفعلي و MAX بين العينات وضبط نطاقك وفقا لذلك.

حسنا يعتمد الكثير على تنسيق الصوت الخاص بك. شكل الموجة، على سبيل المثال، يتكون من بيانات PCM غير المضغوطة.

أي لملف ستيريو 8 بت سيتم ترتيب كل عينة على النحو التالي.

الأيسر العينة 1] [العينة اليمنى 1] [العينة اليسرى 2] [العينة اليمنى] ... [عينة اليسار N] [العينة اليمنى N].

أي كل عينة ستيريو 8 بت مخزنة في 2 بايت. 1 للقناة اليسرى و 1 من أجل اليمين. هذا هو تنسيق البيانات، من المرجح أن تتطلب أجهزة الصوت الخاصة بك.

سيعمل ملف الصوت 16 أو 24 بت في كل ذي طريقة ولكن العينات اليسرى واليمين ستكون 2 أو 3 بايت لكل منها، على التوالي.

من الواضح أن ملف الموجة لديه حمولة من معلومات extyra في ذلك. يتبع تنسيق RIFF. يمكنك العثور على معلومات حولها وملفات موجة الموجة "القطع" في أماكن مثل www.wotsit.org.

لإلغاء ضغط MP3 أكثر تعقيدا. أنت أفضل قبالة للحصول على لغات وأدار تشغيلها على الصوت المشفرة MP3. سوف يبصق بيانات PCM على النحو الوارد أعلاه من الجانب الآخر.

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