Citat:
Ursprungligen postat av
iconicatab
Jag tror du måste förlika dig med att det du gör med ljudfilen faktiskt handlar om
förändringsfaktor. Om den numeriska precisionen blir otillräcklig, så handlar det ju om att ljudklippets längd är relativt stor.
Mitt förslag:
- Konvertera till .au eller annat lättkontrollerat format.
- Räkna ut den (korrekt) avrundade förändringsfaktor som ger aningen för kort reslultat.
- Addera 10 sekunder tystnad (typ).
- Trunkera resultatet på exakt den längd du önskar.
- ("återkonvertera")
Intressant slutsats. I värsta fall får jag ju göra det, men varför är verktygen så slarviga med precisionen egentligen? Om de inte vore det så skulle detta inte vara ett problem.
Vi tar ett exempel. Hejda mig gärna jag räknar eller tänker fel någonstans.
Givet:- Faktisk längd: 43:29 = 2609 (s)
- Önskad längd: 43:02 = 2582 (s)
- Differens: L(f) - L(ö) = -27 (s)
Tillvägagångssätt:
L(f) * x = L(ö) ->
-> x = L(ö) / L(f) ->
-> x = 2582 / 2609 ->
-> x = 0,989651207359
Kontroll:
L(f) * 0,989651207359 = L(ö) ->
-> 2609 * 0,989651207359 = 2582 = L(ö)
Både SoX och ffmpeg har filter (tempo respektive atempo) för att göra det jag vill göra. Dessa filter kräver en förändringsfaktor (x) som parameter. Om jag enligt exemplet ovan använder mig av faktor x så får jag ett helt annat resultat.
Är det kanske till och med jag som tänker fel någonstans?