سؤال

أود إنتاج الأصوات التي تشبه الصوت من الأدوات الحقيقية. المشكلة هي أنني لدي فكرة قليلة جدا كيفية الحصول عليها.

ما أعرفه هذا بعيدا عن الأدوات الحقيقية هو أنه يبدو أن إخراجها نادرا ما تكون نظيفة. ولكن كيفية إنتاج مثل هذه الأصوات النجاسة؟

لقد وصلت هذا الأمر إلى هذا الأمر، فهو ينتج صوتا عاديا جدا لست متأكدا منه حتى استخدام ALSA بشكل صحيح.

import numpy
from numpy.fft import fft, ifft
from numpy.random import random_sample
from alsaaudio import PCM, PCM_NONBLOCK, PCM_FORMAT_FLOAT_LE

pcm = PCM()#mode=PCM_NONBLOCK)
pcm.setrate(44100)
pcm.setformat(PCM_FORMAT_FLOAT_LE)
pcm.setchannels(1)
pcm.setperiodsize(4096)

def sine_wave(x, freq=100):
    sample = numpy.arange(x*4096, (x+1)*4096, dtype=numpy.float32)
    sample *= numpy.pi * 2 / 44100
    sample *= freq
    return numpy.sin(sample)

for x in xrange(1000):
    sample = sine_wave(x, 100)
    pcm.write(sample.tostring())
هل كانت مفيدة؟

المحلول

• إذا كنت ترغب في إنشاء (من نقطة الصفر) يبدو أن "العضوية"، مثل كائن مادي، فمن المحتمل أن تتعلم قليلا عن كيفية إنشاء هذه الأصوات. للحصول على مقدمة صلبة، يمكنك إلقاء نظرة على كتاب مثل Fletcher and Rossings فيزياء الآلات الموسيقية. وبعد هناك الكثير من الأشياء على الويب أيضا، قد ترغب في إلقاء نظرة على التمهيدي جيمس كلارك هنا

وجود ما لا يقل عن Skim فوق هذا النوع من الأشياء سوف يمنحك فكرة عما أنت ضده. النمذجة الأدوات المادية دقيقة للغاية!

إذا كان ما تريد القيام به هو شيء يبدو ماديا، بل شيء يبدو وكأنه أداة X، فإن عملك أسهل بعض الشيء. يمكنك بناء الترددات بسهولة تجميعها وكومة معا، إضافة بعض الضوضاء، وستحصل على شيء على الأقل لا يبدو أي شيء مثل نغمة نقية.

قراءة قليلا حول تحليل فورييه بشكل عام سوف تساعد، وكذلك تقنيات تعديل الترددات (FM).

استمتع!

نصائح أخرى

توليفة الصوت هو موضوع معقد يتطلب سنوات عديدة من الدراسة إلى السيطرة.

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

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

إذا كنت تريد وسيلة أسرع لإنتاج صوت يشبه الحياة، ففكر في استخدام تقنيات أخذ العينات: أي تسجيل الأدوات التي ترغب في إعادة إنتاجها (أو استخدام بنك عينة موجود مسبقا)، ولعب العينات فقط. إنه نهج أكثر تباين (وغالبا ما يكون أكثر فعالية).

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

كما قال آخرون، وليس موضوع تافه على الإطلاق. هناك تحديات سواء على جانب البرمجة من الأشياء (خاصة إذا كنت تهتم الكمون المنخفض) والجزء التوليف. Goldmine for Sound Synthesis هو الصفحة بواسطة Julius O. Smith. هنالك كثير من التقنيات للتوليف http://ccrma-www.stanford.edu/~JOS/.

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