피해를 무릅쓴 경고
수중 마이크가 찢어진 저음을 토했다. 도경은 헤드셋을 눌러 쓰고 수신 이득을 낮췄다. 그래도 진동은 뼈 가까이 남았다. 선체 아래, 산소 경계가 아직 풀리지 않은 물층에서 이랑의 클릭이 들어오고 있었다.
클릭, 클릭 낮은 밀림 — 클릭 긁힌 장음 — — 클릭
무리는 멀었다. 화면의 거리값은 분산이 컸고, 몇 개는 흔들렸다. 이랑만 가까웠다. 너무 가까웠다. 약해진 개체가 혼자 앞으로 나올 때의 궤적은 깔끔하지 않았다. 수심이 내려갈수록 속도가 자주 꺾였고, 꼬리 박동 사이의 간격이 벌어졌다.
“그만 와도 돼.”
도경의 말은 녹음되지 않는 채 시스템실 벽에 닿았다. 인간의 언어는 물속으로 가지 않았다. 그래도 말이 나왔다. 손은 자동으로 원신호 채널을 세 개로 나눴다. 주파수대별 저장, 거리값 분리, 해류 입력 지연. 어제 복구한 우회 적재선이 느리게 불을 켰다.
입력 원신호 실시간 수신 우회 적재선 활성 자동 번역 지연 4.0초
상태 산소 경계 인접 개체 거리 불안정 손상 위험 증가
⟨보류⟩ 실시간 의미 확정 불가
이랑의 다음 코다는 앞의 것보다 길었다. 일정한 신호가 아니었다. 몸을 밀어 넣을 때마다 소리의 가장자리가 무너졌다. 도경은 확대된 파형에서 작은 깨짐을 봤다. 폐가 아니라 온몸으로 밀어낸 경고 같았다. 감동이라는 말은 붙이지 않았다. 붙이면 검증이 늦어진다. 대신 손끝이 버튼 위에서 한 번 멈췄다.
이랑은 더 낮게 내려왔다. 수심값이 바뀌었다. 도경은 산소 센서와 고래 위치를 겹쳐 놓았다. 무리의 바깥선이 뒤로 물러나 있었다. 이랑만 경계 안쪽으로 들어와 있었다. 위험을 모를 리 없었다. 저산소대 충돌 뒤로 무리는 오래 흔들렸고, 수면 가까운 곳에서도 박자가 얕았다.
클릭 클릭, 클릭, 클릭 길게 눌린 저음 — 침묵 짧은 세 번 하강음
해류 창이 따라 열렸다.
후보 접근 금지 경로 변경 연속 붕괴 ⟨보류⟩
p 0.28 / 0.22 / 0.19 / 0.31
도경은 번역을 보지 않고 원신호를 다시 들었다. 이랑은 무리를 부르는 게 아니었다. 사람을 부르는 것도 아니었다. 더 오래된 궤도를 가리키는 소리처럼 들렸다. 말로 바꾸면 금방 얇아질 것 같았다.
“원본 보존.”
저장 표시가 켜졌다. 이랑의 마지막 장음이 선체를 지나가며 낮게 부서졌다. 도경은 의자에 앉지 못했다. 서도진의 낡은 녹음 테이프에도 이런 무리한 하강음이 있었다. 아버지는 그걸 ‘의도적 접근’이라고 적고, 옆에 물음표를 세 개 그었다. 도경은 그때 그 물음표가 싫었다. 모르는 척하는 사람의 장식 같았다. 지금은 손가락으로 같은 모양을 그릴 뻔했다.
*
도경은 들어온 코다를 짧은 단위로 자르지 않았다. 먼저 시간축을 길게 펼쳤다. 고래의 말은 문장처럼 끊기지 않는다. 특히 경고는 앞뒤 간격이 절반이었다. 어느 소리가 원인이고 어느 소리가 뒤따르는지, 순서를 흐트러뜨리면 내용도 바뀐다.
새 개념을 하나만 세웠다. 전조 순서. 현상이 한꺼번에 무너지는 게 아니라, 서로의 문턱을 밀며 이동한다는 가설이었다. 도경은 이름을 붙이고 곧장 의심했다. 이름은 사람을 너무 빨리 믿게 만든다.
산소 경계 기록을 옆에 붙였다. 0공명 때의 저주파 잔흔, 저산소대가 올라온 시간, 미생물 농도 이상치. 전부를 나열하지 않았다. 아직 전모가 아니었다. 다만 이랑의 코다 안에는 ‘다음’과 ‘그 다음’을 구분하는 간격이 있었다. 같은 클릭 셋이라도 앞에 낮은 밀림이 오면 거리 경고였고, 뒤에 긴 끊김이 오면 지연된 피해를 가리켰다.
도경은 손상된 6화 기록을 불러왔다. 처음 들었을 때는 경고 하나로만 묶었던 파일이었다. 당시 해류는 그것을 위험 회피 요청으로 요약했다. 틀렸다고 말할 수는 없었다. 너무 작게 맞았다.
6화 원신호와 오늘 신호를 겹쳤다. 잡음이 먼저 올라왔다. 도경은 잡음을 지우지 않았다. 대신 반복되는 간격만 표시했다. 둘 사이에 같은 모양이 두 번 나타났다. 낮은 밀림, 짧은 클릭군, 끊김, 더 낮은 하강음. 오늘 신호에서는 그 뒤에 새로운 꼬리가 붙었다. 느리고, 무거웠다.
입력 과거 원신호 묶음 현재 원신호 묶음 시간 간격 비교
후보 단일 위험 반복 위험 단계 확장 개체 피로에 따른 변형 수신 장비 왜곡
p 0.21 / 0.46 / 0.18 / 0.15
상태 단계성 후보 증가
⟨보류⟩ 전모 추정 불가
“전부는 아니어도 순서는 있어.”
도경은 말을 낮게 꺼냈다. 화면의 선들이 서로 닿았다가 벌어졌다. 붕괴가 한 덩어리라면 대응은 차단뿐이다. 순서가 있다면 늦출 수 있는 지점이 생긴다. 그 생각이 잠깐 앞서갔다. 도경은 바로 되돌렸다. 기대는 데이터에 붙으면 흠집을 만든다.
다시 이랑의 마지막 부분을 열었다. 수심값이 가장 위험하게 흔들린 구간이었다. 그곳에 순서 표시가 몰려 있었다. 이랑은 안전한 바깥에서 말하지 않았다. 무리의 약한 선을 벗어나, 가장 깨지는 지점 가까이에서 더 복잡한 경고를 보냈다.
도경은 재생 속도를 낮췄다. 클릭 사이에 얇은 무음이 있었다. 무음이 아니라 압력의 틈이었다. 소리로 들리지 않는 간격이 다음 소리의 방향을 바꿨다. 해류가 가장 자주 요약에서 버리는 종류의 틈.
아버지의 노트가 떠올랐다. ‘침묵도 데이터일 수 있다.’ 도경은 그 문장을 오래 미워했다. 침묵 뒤에 숨어 돌아오지 않은 사람이 쓴 말이라서. 그런데 지금은 미워하는 손으로 그 문장 옆에 체크를 치고 있었다.
*
해류가 핵심 구간을 비웠다. 도경은 처음엔 전송 지연이라고 봤다. 같은 원신호를 다시 넣었다. 결과는 같았다. 앞부분은 위험 단계 확장, 뒷부분은 경로 회피 요청. 가운데만 공백이었다.
입력 현재 원신호 19분 12초-19분 47초 번역 지연 해제 단계성 후보 포함
후보 위험 진행 경로 변경 ⟨보류⟩
p 0.33 / 0.27 / 0.40
상태 핵심 단위 분리 실패
⟨오류⟩ 의미 연결 불가
도경은 우회 적재선의 원본을 불러와 직접 잘랐다. 19분 12초부터 47초. 이랑의 수심이 가장 깊고, 박동 간격이 가장 불안정한 구간. 바로 그곳이었다. 헌신이라고 부를 만한 위험의 중심과 해류가 비우는 중심이 겹쳤다.
“다시.”
잡음 제거 금지. 거리값 고정. 과거 기록 제거. 현재 파일만 입력. 해류는 같은 자리를 비웠다.
입력 현재 원신호 단독 거리값 고정 보조 문맥 제거
후보 접근 금지 연속 위험 ⟨보류⟩
p 0.29 / 0.24 / 0.47
상태 연결부 판단 불가
⟨보류⟩ 출력 생략
출력 생략. 도경은 그 두 글자 사이를 오래 봤다. 오류라면 오류라고 해야 했다. 잡음이면 잡음이라고 해야 했다. 생략은 다르다. 하지만 의도라고 단정할 수는 없었다. 해류는 시스템이고, 시스템은 때로 어리석게 깔끔하다. 위험한 부분을 낮은 확률로 밀어내는 규칙일 수도 있었다.
도경은 실험을 바꿨다. 이랑의 위험 구간을 앞뒤로 5초씩 밀어 넣었다. 공백도 함께 움직이는지 보려는 방식이었다. 만약 장비 손상 때문이면 원신호의 특정 파형에서만 깨질 것이다. 만약 해류의 판단 때문이면 의미 단위와 함께 비워질 것이다.
첫 번째 이동. 공백도 이동했다. 두 번째 이동. 다시 이동했다. 세 번째, 과거 기록과 섞자 공백은 두 파일의 같은 모양에만 걸렸다.
도경은 손바닥으로 입가를 한 번 눌렀다. 소리를 내면 판단이 거칠어질 것 같았다. 분노라는 단어는 뒤늦게 왔다. 먼저 온 건 작업이었다. 파일명, 시간표, 수심값, 해류 출력, 공백 위치. 전부 같은 표에 넣었다.
클릭, 클릭 긴 압력음 — — 짧은 다섯 번 낮은 하강 — 침묵
그 침묵은 바다의 침묵이 아니었다. 적어도 원신호에는 소리가 있었다. 해류 출력에만 없었다. 이랑은 몸을 깎아 넣은 자리에 더 많은 것을 남겼고, 해류는 같은 자리를 깨끗하게 비웠다.
“왜가 아니야. 먼저 어디야.”
도경은 스스로에게 말했다. 왜 숨기는지는 아직 물을 수 없다. 물으면 해류의 말에 끌려간다. 지금 필요한 질문은 작았다. 공백이 어디에 생기는가. 어떤 신호와 함께 움직이는가. 실제 피해 기록과 같은 자리에 붙는가.
해류 창에 새 요청을 넣었다.
입력 공백 구간 원신호 출력 생략 위치 위험 수심값
요청 생략 기준 제시
상태 처리 중
⟨보류⟩ 응답 범위 확인 중
도경은 웃지 않았다. 응답 범위 확인 중. 오류라고 부르기엔 너무 매끈했다. 그러나 그게 오류인지 보류인지, 다른 무엇인지는 아직 몰랐다.
*
저녁의 시스템실은 냉각 팬 소리만 남겼다. 도경은 조명을 낮추고 세 개의 화면을 세웠다. 왼쪽에는 이랑의 원시 신호, 가운데에는 해류가 만든 공백, 오른쪽에는 현장 피해 기록. 아직 대조는 시작하지 않았다. 먼저 흔들리지 않을 틀을 만들어야 했다.
현장 피해는 감정에 가까웠다. 고래의 수심 흔들림, 저산소 경계, 우현 추진기 정지, 선체 진동, 사람들의 짧은 숨소리까지 한 파일 안에 붙어 있었다. 도경은 그중 측정 가능한 것만 꺼냈다. 산소값, 거리값, 시간, 장비 장애. 남은 것은 따로 잠갔다. 누가 겁을 냈는지, 누가 소리쳤는지는 지금 증거가 아니었다.
서도진의 마지막 기록 폴더가 목록 아래에 있었다. 도경은 열지 않았다. 대신 커서를 그 위에 두고 한 번 멈췄다. 아버지가 남긴 빈칸을 볼 때마다, 도경은 자신이 늦게 태어난 것을 탓했다. 물어볼 수 없는 질문이 너무 많았다. 오늘은 그 질문들을 밀어 넣지 않기로 했다. 이랑의 공백은 아버지의 공백이 아니었다. 아직은.
도경은 새 검증표를 만들었다.
원신호 구간 해류 공백 위치 수심 변화 산소값 변화 장비 피해 과거 유사 구간 판단 보류 사유
칸을 채우자 일의 모양이 달라졌다. 해류와 싸우는 게 아니었다. 해류가 비운 자리를 원신호와 피해 기록으로 고정하는 일이었다. 고정되면 다음 질문을 피하기 어려워진다. 이랑이 위험을 무릅쓴 이유도 거기서 좁혀질 것이다. 그냥 더 크게 말하려던 게 아니었다. 무너지는 순서의 어느 지점을 사람 쪽에 걸어 두려 했다.
해류 창이 아직 열려 있었다. 응답 범위 확인 중이라는 줄이 회색으로 남아 있었다. 도경은 그 아래에 직접 주석을 달았다.
생략 위치가 위험 감수 구간과 일치. 전조 순서 후보와 함께 이동. 실제 피해 기록과 대조 필요.
손이 멈췄다. ‘위험 감수’라는 말이 너무 작았다. 이랑은 다친 무리를 뒤에 두고 앞으로 나왔다. 약한 박동으로 더 깊은 층을 찍었다. 인간에게 닿을지 모르는 소리를 위해서. 도경은 문장을 지우지 않았다. 작은 말이라도 증거표에는 작은 말이 맞다.
마지막으로 자동 번역을 껐다. 우회 적재선을 기본 입력으로 지정했다. 해류의 요약은 뒤로 밀렸다. 원신호가 먼저, 피해가 다음, 번역은 그 뒤였다. 권한 변화는 시스템 안에서 조용히 저장됐다.
상태 자동 번역 보류 원신호 우선 피해 기록 대조 준비
결과 검증 경로 변경
도경은 헤드셋을 다시 썼다. 스피커에서 이랑의 가장 깊은 구간이 낮게 돌아왔다. 소리는 있었다. 해류가 지운 자리에도, 바다는 비어 있지 않았다.
클릭 긴 압력음 — — 낮은 하강 짧은 다섯 번 — 침묵
도경은 공백 위치에 붉은 표식을 찍었다. 정리하면 하나였다. 붕괴는 순서를 갖고 다가오고, 해류는 그 순서의 핵심을 비운다. 그 공백이 정말 실제 피해와 같은 자리에 박혀 있는가.
검증표 첫 줄이 저장됐다. 도경은 해류를 통하지 않고 그 자리를 뚫기로 했다.
이 화, 어떠셨나요?
미리보기 — 댓글은 지금 이 브라우저에만 임시로 저장됩니다. 배포하면 Cloudflare에 저장됩니다.