برای تغییر صداها در پایتون، میتوانید از کتابخانههای پردازش سیگنالهای صوتی مانند librosa، pydub، و soundfile استفاده کنید. این کتابخانهها امکاناتی برای بارگذاری، پردازش و ذخیره صداها در فرمتهای مختلف دارند.
به عنوان مثال، برای تغییر فرکانس یک فایل صوتی با کمک کتابخانه librosa، میتوانید این کد را استفاده کنید:
import librosa
# Load audio file
y, sr = librosa.load('audio_file.wav')
# Shift the pitch up by 2 half-steps
y_shifted = librosa.effects.pitch_shift(y, sr, n_steps=2)
# Save the shifted audio to a new file
librosa.output.write_wav('shifted_audio.wav', y_shifted, sr)
در این کد، ابتدا با استفاده از تابع librosa.load
، فایل صوتی را بارگذاری کرده و به صورت یک آرایه از نمونههای صوتی و فرکانس نمونهبرداری آن ذخیره میشود. سپس با استفاده از تابع librosa.effects.pitch_shift
، فرکانس نمونهبرداری را تغییر دهید.
در نهایت با استفاده از تابع librosa.output.write_wav
، صدای تغییر یافته را در فرمت WAV به فایلی با نام shifted_audio.wav
ذخیره میکنیم.
همچنین با استفاده از کتابخانه pydub میتوانید به صورت سادهتر و با قابلیت های بیشتری، فایل های صوتی را پردازش کنید. برای تغییر فرکانس یک فایل صوتی با استفاده از pydub، میتوانید این کد را استفاده کنید:
from pydub import AudioSegment
# Load audio file
audio = AudioSegment.from_file('audio_file.wav', format='wav')
# Shift the pitch up by 2 half-steps
new_audio = audio._spawn(audio.raw_data, overrides={'frame_rate': int(audio.frame_rate * (2**(2/12)))})
# Save the shifted audio to a new file
new_audio.export('shifted_audio.wav', format='wav')
در این کد، ابتدا با استفاده از تابع AudioSegment.from_file
، فایل صوتی را بارگذاری کرده و به صورت یک شیء AudioSegment ذخیره میکنیم. سپس با استفاده از تابع _spawn
و تغییر فرکانس نمونهبرداری، صدای تغییر یافته را به صورت یک شیء جدید AudioSegment ایجاد میکنیم. در نهایت با استفاده از تابع export
، صدای تغییر یافته را در فرمت WAV به فایلی با نام shifted_audio.wav
ذخیره میکنیم.
همچنین، کتابخانه soundfile نیز امکانات مشابهی را برای پردازش صداها در اختیار شما قرار میدهد. با استفاده از این کتابخانه میتوانید صداهای خام با فرمتهای مختلف را بارگذاری کرده و به صورت آرایهای از نمونههای صوتی در پایتون بررسی کنید. سپس با استفاده از تابعهای موجود در این کتابخانه، مانند soundfile.write
، میتوانید صدای تغییر یافته را در فرمت مورد نظر خود ذخیره کنید.
دیدگاهها