[LAU] loop speeding in sample level accuracy

Jari Suominen jari.suominen at helsinki.fi
Thu Sep 18 15:29:00 EDT 2008


Yep, assuming that calculation of the ratio makes sense from the 
algorithm point of view. Might or might not.

..j

Dan Richert kirjoitti:
> I think you'd always end up with +/- a couple samples unless $size and 
> $new_size divide evenly.  But I don't know much about the guts of the 
> sample speeding/slowing algorithm either.
> 
>   
> Jari Suominen wrote:
>> Thanks Dan!
>>
>> I will give it a try. I actually really need the length of the resulting 
>> audio file to be exactly what desired but as I'm not doing that hazard 
>> shifts this might work. And perhaps running same file through the script 
>> more than once would give the result I'm aiming at.
>>
>> More theoretical question is, are speed shifting algoritms actually 
>> using the ratio given to them or converting them to some other value 
>> before doing the conversion. And is the sample accurate 'speeding' even 
>> possible in reality, or is it always +/- couple samples. I tried to look 
>> at the SoX source but it was a bit too C:ish for me to give me an answer 
>> straight away.
>>
>> ......j
>>
>>
>>
>> Dan Richert kirjoitti:
>>   
>>> SoX can do the job with some help.  Here's a little Perl script to 
>>> figure out the speed scaling ratio based on the desired new length in 
>>> samples:
>>>
>>> #!/usr/bin/perl
>>>
>>> if(@ARGV != 3){ die "Usage: resize-audio.pl <in_file> <new_size> 
>>> <out_file>\n"; }
>>> ($in_file,$new_size,$out_file) = @ARGV;
>>> $size = `sox $in_file -n stat 2>&1 |grep ^Samples |awk '{print \$3}'`;
>>> $ratio = $size / $new_size;
>>> print "$ratio\n";
>>> `sox $in_file $out_file speed $ratio`;
>>>
>>>
>>>
>>> In the couple tests I ran, it doesn't get to the *exact* new size 
>>> specified in samples, but pretty close -- I converted a file 12486 
>>> samples long  to 3000 samples and ended up with a file with 3002 samples.
>>>
>>>
>>>
>>> Jari Suominen wrote:
>>>     
>>>> Tiago Tavares kirjoitti:
>>>>   
>>>>       
>>>>> Can SoX do the job?
>>>>>     
>>>>>         
>>>> Nope. Speed shift takes in prosent or cents.
>>>>
>>>> ....j
>>>>
>>>>   
>>>>       
>>>>> On Thu, Sep 18, 2008 at 1:51 PM, Jari Suominen <jari.suominen at helsinki.fi>wrote:
>>>>>
>>>>>     
>>>>>         
>>>>>> Hello,
>>>>>>
>>>>>> I'm trying to search a program (with no success) that could used for
>>>>>> speeding up an audio file to a certain length. I mean, I would have a
>>>>>> audio file that has 40000 samples, and I would need it to be 40010. And
>>>>>> the pitch of the file can/should change. All speed change stuff that I
>>>>>> have found will take semitones/cents/procents as a input parameter. I
>>>>>> would wan't to only input the exact length (in samples) that I need.
>>>>>>
>>>>>> My purpose is basically make bunch of files that are loopable and have
>>>>>> equal length with each other.
>>>>>>
>>>>>> Does this thing exist or do I have to make it myself?
>>>>>>
>>>>>> Thanks!
>>>>>>
>>>>>> ..j
>>>>>> _______________________________________________
>>>>>> Linux-audio-user mailing list
>>>>>> Linux-audio-user at lists.linuxaudio.org
>>>>>> http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user
>>>>>>
>>>>>>       
>>>>>>           
>>>>>     
>>>>>         
>>>> _______________________________________________
>>>> Linux-audio-user mailing list
>>>> Linux-audio-user at lists.linuxaudio.org
>>>> http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user
>>>>   
>>>>       
>>> _______________________________________________
>>> Linux-audio-user mailing list
>>> Linux-audio-user at lists.linuxaudio.org
>>> http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user
>>>
>>>     
>> _______________________________________________
>> Linux-audio-user mailing list
>> Linux-audio-user at lists.linuxaudio.org
>> http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user
>>   
> 
> _______________________________________________
> Linux-audio-user mailing list
> Linux-audio-user at lists.linuxaudio.org
> http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user
> 




More information about the Linux-audio-user mailing list