Aslinda muzik degil de melodi sentezi desek daha dogru olabilirdi. Cep telefonu melodisi yazmak gibi birsey.
Sentezlemeye calisacagimiz melodi pek bir sevdigim Norvec’li grup Dimmu Borgir’in 1996 Stormblåst albumundeki Når Sjelen Hentes Til Helvete isimli parcadan. 2005 yilinda Stormblåst albumunu yeni kayitlarla tekrar cikardilar. Fakat klasiklerin yeri ayri
Youtube’da buldugum asagidaki video da tam olarak sentezleyecegimiz melodinin piyano ile icra edilmis versiyonu. Hatta daha fazlasi. Yalnizca ilk kismi sentezlemeye calisacagim.
Oncelikle notalari gozden gecirelim.

Når Sjelen Hentes Til Helvete
clear close all % 1-2 olculerin notalari olcu12=['E','f','G','f', 'E']; % mi fa# sol fa# mi zaman12=[1/4 1/8 1/8 1/8 1/8]; % notalarin vurus degerleri % 3-4 olculerin notalari olcu34=['C','E','F','H','F','E']; % do mi fa la fa mi zaman34=[1/8 1/8 1/8 1/8 1/8 1/8]; % notalarin vurus degerleri % 5-6 olculerin notalari olcu56=['A','A','J','H','J','H']; % la la do la do la zaman56=[1/8 1/8 1/8 1/8 1/8 1/8]; % notalarin vurus degerleri % 7-8 olculerin notalari olcu78=['D','f','G','I','G','f']; % re fa# sol si sol fa# zaman78=[1/8 1/8 1/8 1/8 1/8 1/8]; % notalarin vurus degerleri zaman90=[1/4 1/4 1/4 1/2 1/2 1]; % notalarin vurus degerleri % zaman90 parca biterken yavaslayan kisim icin gecerli. %vurus degerleri artarak bitiyor. %% matris boyutlari boyut=16384; aaa=1:boyut/4; % 1/4 vuruslu notalar icin geri donen % fonksiyon degerinin saklanacagi matris boyutu aa=1:boyut/8; % 1/8 vuruslu notalar icin matris (ilk olcu) bb=1:boyut/8; % 1/8 vuruslu notalar icin matris (ikinci olcu) cc=1:boyut/8; % 1/8 vuruslu notalar icin matris (ucuncu olcu) dd=1:boyut/8; % 1/8 vuruslu notalar icin matris (dorduncu olcu) % sona=1:boyut/4; % parca bitisindeki yavaslayan kisim icin matris (1/4) sonb=1:boyut/4; % parca bitisindeki yavaslayan kisim icin matris (1/4) sonc=1:boyut/4; % parca bitisindeki yavaslayan kisim icin matris (1/4) sond=1:boyut/2; % parca bitisindeki yavaslayan kisim icin matris (1/2) sone=1:boyut/2; % parca bitisindeki yavaslayan kisim icin matris (1/2) sonf=1:boyut; % parca bitisindeki yavaslayan kisim icin matris (1) %% olcu 1-2 aaa(1,:)=nota(olcu12(1),zaman12(1)); for z=1:length(zaman12)-1 aa(z,:)=nota(olcu12(z+1),zaman12(z+1)); end %% olcu 3-4 for z=1:length(zaman34) bb(z,:)=nota(olcu34(z),zaman34(z)); end %% olcu 5-6 for z=1:length(zaman56) cc(z,:)=nota(olcu56(z),zaman56(z)); end %% olcu 7-8 for z=1:length(zaman78) dd(z,:)=nota(olcu78(z),zaman78(z)); end %% olcu 9-0 sona(1,:)=nota(olcu78(1),zaman90(1)); sonb(1,:)=nota(olcu78(2),zaman90(2)); sonc(1,:)=nota(olcu78(3),zaman90(3)); sond(1,:)=nota(olcu78(4),zaman90(4)); sone(1,:)=nota(olcu78(5),zaman90(5)); sonf(1,:)=nota(olcu78(6),zaman90(6)); %% tum dizileri arka arkaya diz xx=[]; yy=[]; zz=[]; ww=[]; for say=1:length(zaman12)-1 xx=[xx aa(say,:)]; end for say=1:length(zaman34) yy=[yy bb(say,:)]; end for say=1:length(zaman56) zz=[zz cc(say,:)]; end for say=1:length(zaman78) ww=[ww dd(say,:)]; end %% dizilerin hepsini cal. tumdizi=[aaa xx aaa xx yy yy zz zz ww ww aaa xx aaa xx yy yy zz zz ww sona sonb sonc sond sone sonf]; soundsc(tumdizi,11025); %bitti :)
En son kisimda, parcada olmayan bir sekilde yavaslatarak bitirdim
O da benim yorumum olsun.
Burada kullandigim nota fonksiyonunu da ayri bir dosyada yazdim. O da su sekilde,
function [a]=nota(note,vurus) switch note %% native notalar case {'A'} %la frekans=440; case {'a'} %la# frekans=466.16; case {'B'} %si frekans=493.92; case {'C'} %do frekans=523.28; case {'c'} %do# frekans=554.40; case {'D'} %re frekans=587.36; case {'d'} %re# frekans=622.24; case {'E'} %mi frekans=659.28; case {'F'} %fa frekans=698.48; case {'f'} %fa# frekans=740; case {'G'} %sol frekans =784; %% oktav yukari case {'H'} %la frekans=2*440; case {'h'} %la# frekans=2*466.16; case {'I'} %si frekans=2*493.92; case {'J'} %do frekans=2*523.28; case {'j'} %do# frekans=2*554.40; case {'K'} %re frekans=2*587.36; case {'k'} %re# frekans=2*622.24; case {'L'} %mi frekans=2*659.28; case {'M'} %fa frekans=2*698.48; case {'m'} %fa# frekans=2*740; case {'N'} %sol frekans=2*784; %% oktav asagi case {'O'} %la frekans=440/2; case {'o'} %la# frekans=466.16/2; case {'P'} %si frekans=493.92/2; case {'Q'} %do frekans=523.28/2; case {'q'} %do# frekans=554.40/2; case {'R'} %re frekans=587.36/2; case {'r'} %re# frekans=622.24/2; case {'S'} %mi frekans=659.28/2; case {'T'} %fa frekans=698.48/2; case {'t'} %fa# frekans=740/2; case {'U'} %sol frekans =784/2; %% diger durumlar otherwise disp('Yok boyle bisey') frekans=0; end %% Belirlenen frekansda ve vurus suresinde sinus % sinyali fonksiyonun cikisina veriliyor. a=sin(2*pi*frekans*(0:1/16383:vurus));
Burada cozemedigim ve aklimi kurcalayan bir soru var. soundsc komutu ile tumdizi matrisini sese donustururken kullandigim ornekleme frekansi denedigim farkli bilgisayarlarda farkli sonuclar verdi. Bazisinda 44100 kullandigimda, bazisinda ise buradaki gibi 11025 kullandigimda dogru sonucu verdi. Nedenini cozemedim.
Ayrica kodun yukaridaki kismina ek olarak, olusan matrisin spektogramini da cizdiriyordum. Fakat su anda kullandigim Matlab’in surumu ile daha once kullandigim arasinda bir uyumsuzluk var. O yuzden bir sorun cikti. O kismi da su sekilde idi,
%% spektrumlari cizdir subplot(2,1,1); spectogram(tumdizi,1024,6950,256,192); % tumdizinin spektrumunu cizdir. grid on; title('Yapay Sinyalin Spektrumu') subplot(2,1,2); wav=wavread('sinyal1.wav',[2000 12000]); % gercek sesi import et spectogram(wav,2048,44100,1024,256); % sesin spektrumunu cizdir. grid on; title('Gercek Sesin Spektrumu')
Sonucta ortaya cikan matrisi de bir wav dosyasina yazdirip
lame girdi.wav cikti.mp3
seklinde basitce mp3′e donusturdukten sonra burada dinlenebilir hale geldi.
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
Sarkinin orijinal hali de burada. Bir ihtimal oldschool black metal sevenler cikabilir
Once 1996, ardindan da 2005 versiyonu geliyor, tum sevenler icin.
- 00:00 – 04:30 1996 versiyonu
- 04:30 – 09:12 2005 versiyonu


Çok güzel bir yazı olmuş, tebrikler. Şu finaller bi bitsin, biraz kurcalayacam