SymbTr to wave format

38 views
Skip to first unread message

Sajjad Abdoli

unread,
Jan 17, 2016, 3:17:37 PM1/17/16
to mus2-en
Hi folks,

Apologize for any possible cross-posting!

Actually, I want to convert the SymbTr dataset from mu2 format to .wav files. The quarter-tones of Turkish music should be preserved. It is possible to convert the files of dataset by Mus2 software one by one. I wonder if there is a faster way to convert the whole of the dataset to wav format with preserving the quarter-tones of Turkish music.

All the best,
Sajjad Abdoli

Utku Uzmen

unread,
Jan 18, 2016, 2:24:08 AM1/18/16
to mus...@googlegroups.com
Hi,
Mus2 doesn’t have any way of converting all of SymbTr to .wav files. The SymbTr repository (https://github.com/MTG/SymbTr) contains MIDI files for all the scores that should reproduce the pitches accurately with pitch bends. You can try exporting these MIDI files to .wav in other audio software that can do batch exports. An alternative would be to contact the authors of SymbTr to see if they have another solution.

--
You received this message because you are subscribed to the Google Groups "mus2-en" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mus2-en+u...@googlegroups.com.
To post to this group, send email to mus...@googlegroups.com.
Visit this group at https://groups.google.com/group/mus2-en.
For more options, visit https://groups.google.com/d/optout.

M. Kemal Karaosmanoğlu

unread,
Jan 18, 2016, 3:43:58 PM1/18/16
to mus...@googlegroups.com

Hello Sajjad,

 

As a simple solution, the SymbTr to WAV Matlab code below may be useful for you:

 

Kemal

 

*

% symbtr2wav_example

fileName             = 'ussak--ornek-oz--semai----ra.txt';

sampleRate       = 44100;

write                     = 1;

[fid, msg]            = fopen(fileName, 'r', 'n');

[SymbTr, ~, ~]   = tblread(fileName, '\t');

FRQ                       = 440*2.^(SymbTr(:,4)/53-69/12);

SEC                        = SymbTr(:, 8)/1000;

AMP                     = SymbTr(:, 10)/100;

Y                             = [];

for i=1:size(FRQ)

                k             = SEC(i)*sampleRate;

                N            = [1:k];

                ENV       = 4*AMP(i).*(N*k-N.*N)/k^2;

                T             = ENV.*sin(2*pi*(FRQ(i)/sampleRate).*N);

                Y             = [Y ENV.*sin(2*pi*(FRQ(i)/sampleRate).*N)];

                soundsc(T, sampleRate);

end

wavwrite(Y, sampleRate, 16, [fileName '.wav']);

*

Reply all
Reply to author
Forward
0 new messages