브라우저 타이머에서 사람들이 실제로 겪는 문제는 정확도가 아니라 자리 비움입니다. 시간을 맞춰 두고 다른 탭에서 일을 하다 보면, 브라우저가 백그라운드 탭의 시계를 최대 1분 간격까지 늦춰 버리는 탓에 알람이 한참 뒤에야 울립니다. 이 페이지는 시작을 누르는 순간 알람을 오디오 시계에 미리 예약해 두는 방식으로 그 문제를 피합니다. 브라우저는 화면 타이머는 늦춰도 이미 예약된 소리는 늦추지 않기 때문입니다. 카운트다운, 운동용 인터벌, 랩이 남는 스톱워치 세 가지가 한곳에 있습니다.
울립니다. 그리고 이건 대부분의 웹 타이머가 못 하는 부분입니다. 크롬을 비롯한 브라우저는 백그라운드 탭의 setTimeout·setInterval을 1초, 5분이 지나면 1분 간격까지 늦춥니다. 그래서 화면 타이머에만 의존하는 사이트는 알람이 최대 1분까지 늦게 울립니다. 이 페이지는 시작하는 순간 종료 시점의 소리를 Web Audio 시계에 예약해 둡니다. 오디오는 이 지연 정책의 대상이 아니어서, 화면 숫자가 잠깐 멈춰 보이더라도 소리는 정확한 시각에 납니다. 인터벌 모드에서는 모든 라운드의 전환음이 시작할 때 한꺼번에 예약됩니다.
먼저 소리 아이콘 옆 슬라이더를 올려 보세요. 놓는 순간 실제 알람이 울리므로 바로 비교됩니다. 그래도 부족하면 기기 자체 음량을 확인해야 합니다. 브라우저 소리는 시스템 음량을 넘을 수 없어서, 페이지에서 최대로 올려도 기기가 20%면 20%가 상한입니다. 알람 소리는 사각파로 만들고 2,600Hz와 1,950Hz를 번갈아 냅니다. 사람 귀가 가장 예민한 2~4kHz 대역이고, 사각파는 배음이 많아서 주변 소음이 특정 주파수를 덮어도 나머지가 뚫고 나옵니다. 알람 시계가 맑은 소리 대신 거친 소리를 내는 이유와 같습니다.
세 가지를 확인해 주세요. 첫째, 스피커 아이콘이 켜져 있는지 봅니다. 눌러서 켜면 소리가 한 번 나므로 그 자리에서 확인됩니다. 둘째, 브라우저는 사용자가 페이지를 한 번도 클릭하지 않으면 소리를 막습니다. 시작 버튼을 누르는 동작 자체가 그 조건을 풀어 주므로, 시작을 누르지 않고 기다리기만 했다면 소리가 나지 않습니다. 셋째, iOS 사파리는 무음 스위치가 켜져 있으면 웹 오디오도 함께 막습니다. 이 경우 기기 옆면 스위치를 확인해 주세요.
두 가지 방법이 있습니다. 간단하게는 타이머 탭에서 25분 칩을 누르고 반복을 켜면 25분마다 알람이 울리며 계속 돌아갑니다. 휴식까지 자동으로 관리하고 싶다면 인터벌 탭에서 "공부 25/5 × 4" 칩을 누르세요. 25분 집중과 5분 휴식이 네 번 이어지고, 구간이 바뀔 때마다 짧은 신호음이 나며 화면 색도 함께 바뀝니다.
의도한 동작입니다. 8라운드짜리 타바타는 운동 8회와 그 사이의 휴식 7회로 이루어집니다. 마지막 운동 뒤에 휴식을 한 번 더 붙이면 세트가 이미 끝난 뒤에 10초를 더 기다리게 되고, 전체 시간도 실제보다 길게 나옵니다. 그래서 마지막 운동 구간이 끝나는 순간을 세션의 끝으로 잡았습니다.
랩은 직전 랩 이후 흐른 시간이고, 오른쪽에 옅게 적힌 값이 처음부터 누적된 시간입니다. 400m를 네 바퀴 뛴다면 각 바퀴에 걸린 시간이 랩이고, 누적값이 그 시점의 기록입니다. 두 값 모두 복사 버튼으로 한 번에 가져갈 수 있어 그대로 표에 붙여 넣을 수 있습니다.
표시는 기기 시계를 기준으로 매 순간 다시 계산하므로 오차가 쌓이지 않습니다. 소리는 오디오 하드웨어의 클럭 위에 얹히기 때문에 화면보다 오히려 더 정확합니다. 다만 어느 웹 타이머도 보장하지 못하는 게 하나 있는데, 노트북이 절전 모드로 들어가 CPU와 오디오가 함께 멈추는 경우입니다. 이때는 깨어난 시점에 남은 시간이 다시 정확하게 표시되지만, 자는 동안 지나간 알람 소리는 되살아나지 않습니다.