A clip can be exactly one second long and still need attention at its boundaries. Duration answers “how much audio did I keep?” It does not answer “what happens when playback jumps from silence into the first sample, or from the last sample back to silence?”
I’m Alex, part of the Creatune team. On October 24, 2026, I used our public browser audio cutter to export a synthetic test signal and inspected the saved WAV. I did not listen to the result. The numbers below demonstrate a boundary condition, not a claim that a click was audible.
Make a source with known properties
This Python script creates four seconds of a 440 Hz sine wave: mono, 48 kHz, signed 16-bit PCM, approximately one-quarter of full scale. It uses only the standard library and contains no recorded speech or copyrighted music.
import math
import struct
import wave
rate = 48000
samples = [round(0.25 * 32767 * math.sin(2 * math.pi * 440 * i / rate))
for i in range(4 * rate)]
with wave.open("reference-440hz.wav", "wb") as out:
out.setnchannels(1)
out.setsampwidth(2)
out.setframerate(rate)
out.writeframes(struct.pack("<" + "h" * len(samples), *samples))
The amplitude is a property of the file, not a safe listening-volume guarantee. Set playback volume conservatively if you audition it.
Cut at times that are not waveform zero crossings
In Creatune Audio Cutter, select the source file. The page states that processing stays on the device. The public interface supports Start and End values in seconds plus an output-format selector.
Set Start to 0.01 and End to 1.01, choose WAV, and click Download. Those times request a one-second segment. In this run, the interface showed Total: 1.0 s.
No fade or zero-crossing control was visible in the interface I checked. Selecting a time is not the same as asking the editor to move it to the nearest waveform crossing.
Inspect the exported file, not just the timer
Save the download as cut-001-101.wav, then run this reader. It deliberately supports only 16-bit PCM; it stops rather than misinterpreting a different sample width.
import struct
import wave
with wave.open("cut-001-101.wav", "rb") as src:
channels = src.getnchannels()
rate = src.getframerate()
frames = src.getnframes()
assert src.getsampwidth() == 2, "This reader expects 16-bit PCM"
raw = src.readframes(frames)
values = struct.unpack("<" + "h" * (len(raw) // 2), raw)
print("rate, channels, frames:", rate, channels, frames)
print("duration:", frames / rate)
print("first frame:", values[:channels])
print("last frame:", values[-channels:])
print("largest absolute sample:", max(map(abs, values)))
Observed values from this export:
rate, channels, frames: 44100 2 44100
duration: 1.0
first frame: (4815, 4815)
last frame: (5220, 5220)
largest absolute sample: 8192
The output was 44.1 kHz stereo, even though the source was 48 kHz mono. That is an observation from this browser run, not a promise about every export. It is also why the duration calculation uses the saved file’s sample rate rather than the input rate.
The first and last values are about 0.147 and 0.159 when divided by 32768. Both are clearly nonzero. An abrupt transition between digital silence and a nonzero signal can introduce a discontinuity and broadband energy. Whether that becomes an objectionable click depends on the signal, playback path, and listening context. The measurement alone does not establish audibility.
Looping adds another question: the transition is from the final sample to the first, rather than to silence. Nonzero endpoints do not by themselves prove a bad loop, and even matching endpoint values do not guarantee that their slopes or musical phrasing match.
Turn the measurement into an editing decision
For a real music excerpt, inspect the opening and ending in the context where the clip will play. A clean-looking boundary can still cut off a consonant, drum attack, or reverb tail. Keep the original so an attempted repair does not become the only copy.
If a boundary is objectionable, use an audio editor with the appropriate controls to move the cut, find a suitable zero crossing, or apply a short fade. A few milliseconds can be a starting point for a click-reduction fade, but choose its duration by listening; a longer musical fade serves a different purpose. Zero-crossing edits also need care with stereo material because the channels may not cross zero together.
After any adjustment, export again, verify the required duration, and audition the final file. Do not claim a fade was applied merely because the trimmed file has the right length.
Related workflows from our team
For planning which musical material to keep, our start, end, and decay-tail planning note (Japanese) separates source timestamps from placement in a video. It complements the sample-boundary check here.
If the excerpt comes from a separated practice backing track, How to Make a Karaoke Backing Track from a Song You Can Use (English) explains what to check at the vocal entrance and final reverb tail before trimming. Separation residue and a discontinuity from cutting are different problems, so keep those checks separate.


Top comments (0)