목소리 뒤의 소리
관제실에는 아직 아무도 없었다.
새벽 다섯 시. 청음망의 저주파만 여느 때처럼 발밑에 깔려 있었고, 콘솔 화면들은 밤새 대기 상태로 낮게 빛나고 있었다. 낮이면 열 사람이 오가는 공간이 지금은 도경 하나였다. 유리문 너머 옆방도 비어 있었다 — 시연 날 박수가 터졌던 자리, 세계 최초의 문장이 화면에 떴던 자리. 그새 그 방은 다시 어둡고 조용했고, 남은 건 열리지 않은 빈자리 두 개와, 도경이 아직 아무에게도 말하지 않은 사실들뿐이었다.
이 시간을 고른 건 우연이 아니었다. 사람들이 오기 전, 지켜보는 눈이 없는 두어 시간. 사람의 눈은 피할 수 있어도 시스템 기록은 피할 수 없는 시간이었다. 도경은 어젯밤 가져온 노트북을 검증 콘솔 옆에 내려놓고, 한참 동안 열지 않았다.
여기까지는 위반이 아니었다. 노트북을 들고 온 것도, 켠 것도. 선을 넘는 건 다음 동작이었다.
아버지의 파일을 해류에 거는 것.
외부에서 가져온 자료를 프로젝트 장비에 그냥 꽂을 수는 없었다. 악성 코드나 자료 유출을 막으려고, 반입은 검사용 단말기 한 대를 반드시 거치게 돼 있었다. 도경은 개인 노트북을 그 단말기에 연결했다. 화면에 승인 번호를 넣으라는 창이 떴다. 정식 승인은 물론 없었다. 도경은 며칠 전 다른 검증에 쓰고 아직 닫히지 않은 임시 승인 번호를 입력했다. 절차상으로는 통과였다. 다만 시스템은 누가, 어떤 파일을, 언제 넣었는지 자동으로 남겼다 — 나중에 보안 점검을 받으면 그대로 드러날 기록이었다. 지울 수 없는 한 줄로. 언젠가 누군가 그 한 줄을 근거로 도경을 걸고넘어질 수 있었다.
규정대로라면 지금 노트북을 덮고, 정식으로 개인 자료 분석을 신청하면 됐다. 승인은 나지 않겠지만, 적어도 안전했다.
안전은 도경이 평생 골라 온 쪽이었다. 아버지가 바다로 걸어 들어갈 때, 도경은 문 안쪽에 남는 아이였다. 남는 쪽이 옳다고 20년을 믿었다. 그런데 오늘 새벽, 처음으로 그 믿음이 조금 흔들렸다. 남아서 지킨 것이 정확히 무엇이었는지, 도경은 대답할 수 없었다.
도경은 반입을 실행했다.
단말기의 팬이 한 단계 높은 소리로 돌기 시작했다. 진행음이 낮게 이어졌다. 그 소리를 들으며 도경은, 방금 자기가 20년을 지켜 온 어떤 선을 스스로 넘었다는 걸 알았다. 아버지가 늘 서 있던 쪽이었다.
*
목표는 목소리 채널이 아니었다. 그 아래, 수중 채널이었다.
아버지의 마지막 몇 초는 이미 알고 있었다. 장비 번호, 뜸, 물색이 좋다는 혼잣말. 도경이 20년 동안 재생해 온 건 늘 그 왼쪽 채널, 목소리뿐이었다. 오른쪽 채널 — 배 아래로 내린 수중 마이크가 받은 소리는, 아주 오래전 옛 장비로 한 번 돌려 본 게 전부였다. 그때는 엔진음과 물 잡음뿐이었고, 도경은 그걸 분석 가치 없음으로 덮었다. 하지만 어제, 잡음처럼 보이는 곳에도 규칙이 숨어 있을 수 있다는 걸 코다에서 직접 건져 올렸다. 그때는 못 갈랐던 층을, 지금 방법이라면 가를 수 있을지도 몰랐다. 도경은 오른쪽 채널을 다시 열었다.
물속의 소리가 방을 채웠다. 배 엔진이 물을 통해 전해지는 둔한 저음, 물이 마이크를 스치는 넓은 잡음, 그리고 그 사이 어딘가의 무엇들. 도경은 전날 낮 코다를 다룰 때 쓰던 방법을 그대로 걸었다. 엔진의 규칙적인 저음을 따로 빼고, 물소리의 넓은 잡음을 눌렀다. 남는 것을 재생 속도별로 늘여 가며 들었다. 처음엔 아무것도 아니었다. 그냥 더 얇아진 잡음이었다.
그러다 한 층이 드러났다. 엔진음도 물소리도 아닌 자리에, 무언가 규칙적으로 반복되고 있었다. 딱, 딱딱, 딱.
도경은 서두르지 않았다. 한 번의 잡음 제거로 나온 규칙은 믿지 않는다. 강하게 걸러 내면, 원래 없던 규칙도 만들어진다. 도경은 검증하는 사람이었다.
먼저 손대기 전의 원본을 확대했다. 희미했지만, 클릭의 흔적은 이미 그 자리에 있었다. 처리가 지어낸 게 아니었다. 그다음, 방식이 다른 두 가지 잡음 제거를 각각 걸었다. 두 결과에서 클릭은 같은 시각에 나타났다. 클릭 사이의 간격을 재서 연구소 자료의 코다 리듬과 겹쳐 봤다. 겹쳤다. 마지막으로 배 엔진의 회전 주기와 대조했다. 엔진 주기와는 맞지 않았다. 엔진이 우연히 만든 소리가 아니라는 뜻이었다.
그 모든 걸 지난 뒤에야, 도경은 그것을 이름으로 불렀다.
코다였다.
20년 전 옛 장비로는 끝내 갈라지지 않던 채널 안에, 향유고래의 클릭 묶음이 들어 있었다. 아버지가 마지막 기록을 남기던 순간, 수중 마이크가 받을 수 있는 거리 안에 고래가 있었다. 얼마나 떨어져 있었는지는 알 수 없었다. 향유고래의 클릭은 멀리까지 간다 — 수백 미터일 수도, 그보다 멀 수도 있었다. 다만 한 가지는 분명했다. 그날의 바다는, 아버지 혼자만의 공간이 아니었다.
도경은 20년 동안 아버지의 마지막을 떠올릴 때, 그 물속을 늘 텅 빈 검은 물로 그렸다. 아버지 혼자 내려간 물. 그런데 그 물속에 다른 무언가가 있었다. 그날 같은 바다에서, 지금 이 방에서 매일 듣는 것과 같은 방식으로 소리를 내던 무언가가.
도경은 한동안 화면만 봤다. 손끝이 서늘했다.
추출한 코다를 관제실 바닥의 진동판으로 낮게 내려 보냈다. 낮은 성분만 남기고, 속도를 늦춰서. 그것이 발바닥을 거쳐 올라왔을 때, 도경의 손이 조절 막대 위에서 멎었다. 전날에도 손은 같은 자리에서 멎었다. 다른 고래의 신호에서 낮은 성분을 분리해 듣던 순간이었다. 그때의 그 낮고 오래된 촉감과, 지금 아버지의 수중 채널에서 올라오는 이 촉감이 — 닮아 있었다.
도경은 그 느낌을 화면 한쪽에 적으려다, 손을 멈췄다. 두 소리가 닮았다는 건 아직 감각일 뿐이었다. 20년 된 녹음과 어제의 수신 사이에 무슨 선이 있다고 말하려면, 감각이 아니라 대조가 필요했다. 지금은 근거가 없었다. 도경은 그 칸을 비워 두었다.
*
도경은 추출한 코다를 해류에 걸었다. 뜻을 물었다.
해류는 곧바로 대답하지 않았다. 화면에 들여쓴 블록이 천천히 떠올랐다.
입력 원본 손상 · 낮은 음역만 남음 후보 ⟨…⟩ / (조각) 내려— / (조각) —는 자 p 0.13 / 0.10 / 0.08 상태 신뢰도 낮음
세 후보 다 문장이 아니었다. 조각이었다. 확률은 어느 것도 13%를 넘지 못했다. 전날 검증에서 본론이 열리지 않을 때의 9%보다는 높았지만, 무언가를 확정하기엔 한참 모자랐다. 해류는 후보가 있다고 말하면서, 동시에 그 후보를 믿지 말라고 말하고 있었다.
도경은 조건을 바꿔 다시 걸었다. 남은 낮은 음역을 더 세게 되살리고, 앞뒤로 참고하는 구간을 더 넓게. 확률이 조금 움직였지만, 상태 칸의 글자는 그대로였다. 신뢰도 낮음. 20년짜리 손상된 녹음에서 해류가 할 수 있는 건 딱 여기까지였다 — 완성된 뜻이 아니라, 뜻이 있을 자리를 가리키는 것.
한편으로 걸리는 게 있었다. 어제 고래의 본론이 열리지 않을 때는 후보가 아예 서지 않았다. 그런데 20년 된 손상된 녹음 쪽에서는 조각이나마 섰다. 조건이 다른 신호였으니 결과가 다른 거라고, 도경은 스스로에게 설명했다. 그럴듯한 설명이었지만 완전히 개운하지는 않았다. 도경은 그 찜찜함을 빈 칸에 넣지 않았다. 걸리는 것과 아는 것은 달랐다.
도경은 가공하지 않은 원본과 해류가 내놓은 결과를 나란히 띄웠다. 무엇을 받아 무엇을 내놓았는지 구분해 두지 않으면, 나중에 자기 기대를 데이터로 착각하게 된다는 걸 알았다. 조각들은 유혹적이었다. 내려—, 그리고 —는 자.
내려—. 아버지가 마지막으로 향한 곳이 아래였다는 걸, 도경은 20년 전부터 알고 있었다. 사람들이 사고라고 부른 그 방향. 그러니 저 조각이 '내려간다'로 읽히는 건 당연했다 — 도경이 그렇게 읽고 싶으니까. 바로 그래서 위험했다. 기대가 가장 강한 자리에서 데이터는 가장 쉽게 휜다.
도경은 그 조각들을 결과 칸에 그대로 두었다. 이어 붙이지 않았다. 13%짜리 조각으로 문장을 만드는 건, 어제 반쪽짜리로 역사를 쓰겠다던 사람들과 다르지 않았다.
*
창밖이 조금씩 밝아 오고 있었다. 곧 사람들이 올 시간이었다.
도경은 서둘렀다. 목소리 채널은 건드리지 않았다. 필요한 건 물속 채널에서 뽑아낸 코다뿐이었다. 그것만 따로 저장하고, 해류가 다시 분석할 파일들이 기다리는 목록에 걸었다. 손상된 낮은 음역을 되살리며 후보를 다시 세우는 데는 시간이 걸린다고, 진행 표시줄이 알렸다. 몇 시간이 될지 하루가 될지 알 수 없었다.
그동안 이 작업은 공용 서버 위에 남아 있을 것이다. 누가 목록을 열어 보면, 개인 파일에서 뽑은 신호라는 게 드러난다. 도경은 잠깐 망설이다, 작업 이름을 무의미한 시험 번호로 바꿨다. 그러고는 그 손을 스스로 내려다봤다. 규정을 어긴 것과, 어긴 걸 감추는 것은 다른 무게였다. 방금 도경은 한 걸음 더 들어갔다. 이렇게 몰래 얻은 결과가 언젠가 세상에 나가야 할 때, 얻은 방식이 결과의 발목을 잡으리라는 것도 어렴풋이 알았다. 그래도 지금은, 아무도 모르게 저 목록이 도는 게 먼저였다.
도경은 반입했던 원본 파일을 단말기에서 지웠다. 흔적을 지운다고 반입 기록이 지워지는 건 아니었다. 계정과 파일 이름과 시각은 이미 어딘가에 한 줄로 박혔을 것이다. 그 한 줄을 안고 가기로 했다.
노트북을 덮었다. 분석 목록의 진행 표시만 화면 구석에서 느리게 돌아가고 있었다. 저 표시가 다 차면, 아버지의 마지막 항해가 담긴 물속에서 한 고래가 무슨 말을 하고 있었는지 — 적어도 그 후보가 — 나올 것이다.
목록이 도는 동안 도경이 할 수 있는 건 없었다. 검증하는 사람에게 가장 견디기 힘든 시간, 결과를 기다리는 시간이 다시 시작됐다. 하지만 이번엔 조급함 밑에 다른 것이 깔려 있었다. 20년간 닫아 둔 채널을 스스로 연 사람만이 아는, 두려운 기대 같은 것.
복도 끝에서 발소리가 들렸다. 아침의 첫 사람이었다.
도경은 화면 구석의 진행 표시를 한 번 더 봤다. 표시가 한 칸 움직였다. 20년 동안 잡음이라고만 믿은 소리 속에 정말로 말이 있었는지, 그걸 확인하는 일이 이제 막 시작되고 있었다.
이 화, 어떠셨나요?
미리보기 — 댓글은 지금 이 브라우저에만 임시로 저장됩니다. 배포하면 Cloudflare에 저장됩니다.