Komprese zvuku 

Inicializace a nahrání zvuku 

 

Diskretní Fourierova transformace 

`assign`(ZvukFT, [real(FourierTransform(Zvuk)), imag(FourierTransform(Zvuk))]); 1 

[Array(%id = 204207940), Array(%id = 204782144)] (1)
 

CodeEditor-ButtonProcedura na ořezání vyšších frakvencí

proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `and`(`<`(r, i), `<`(r, `+`(rMax, `-`(i)))) then `assign`(tmpPole[i], ...
proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `and`(`<`(r, i), `<`(r, `+`(rMax, `-`(i)))) then `assign`(tmpPole[i], ...
proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `and`(`<`(r, i), `<`(r, `+`(rMax, `-`(i)))) then `assign`(tmpPole[i], ...
proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `and`(`<`(r, i), `<`(r, `+`(rMax, `-`(i)))) then `assign`(tmpPole[i], ...
proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `and`(`<`(r, i), `<`(r, `+`(rMax, `-`(i)))) then `assign`(tmpPole[i], ...
proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `and`(`<`(r, i), `<`(r, `+`(rMax, `-`(i)))) then `assign`(tmpPole[i], ...
proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `and`(`<`(r, i), `<`(r, `+`(rMax, `-`(i)))) then `assign`(tmpPole[i], ...
 

proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `<`(r, i) then `assign`(tmpPole[i], 0) end if end do; tmpPole end proc
proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `<`(r, i) then `assign`(tmpPole[i], 0) end if end do; tmpPole end proc
proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `<`(r, i) then `assign`(tmpPole[i], 0) end if end do; tmpPole end proc
proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `<`(r, i) then `assign`(tmpPole[i], 0) end if end do; tmpPole end proc
proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `<`(r, i) then `assign`(tmpPole[i], 0) end if end do; tmpPole end proc
proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `<`(r, i) then `assign`(tmpPole[i], 0) end if end do; tmpPole end proc
proc (r, pole) local i, rMax, tmpPole; `assign`(rMax, (`$`(rtable_dims(Zvuk)))[-1]); `assign`(tmpPole, pole); for i to rMax do if `<`(r, i) then `assign`(tmpPole[i], 0) end if end do; tmpPole end proc
(2)
 

`assign`(n, 1000); 1 

1000 (3)
 

`assign`(ZvukFTorezane, [orezani(n, ZvukFT[1]), orezani(n, ZvukFT[2])]); 1 

[Array(%id = 204207940), Array(%id = 204782144)] (4)
 

`assign`(ZvukIFT, [InverseFourierTransform(op(ZvukFTorezane))]); 1 

[Array(%id = 150877004), Array(%id = 150876156)] (5)
 

Ulo~it zvuk 

Preview(Create(ZvukFTorezane[1])) 

Plot_2d