인터넷 방송 · 글자 송출
화면을 글자로 내보내는 방송
카메라가 찍은 빛을 픽셀 대신 글자 하나로 바꿔서 보냅니다. 밝으면 촘촘한 글자, 어두우면 빈칸. 화면 하나가 문장 한 장이 됩니다.
위 화면은 지금 이 순간 브라우저가 그리고 있는 3차원 장면입니다. 그림을 작게 그린 다음, 셀 하나하나의 밝기를 재서 5×7 점으로 된 글자로 바꿉니다. 포인터를 올리면 빛이 따라옵니다.
이 브라우저에서는 실시간 화면을 그릴 수 없어, 미리 만들어 둔 정지 도판을 대신 띄웠습니다. 아래 편성표와 설명은 그대로 읽으실 수 있습니다.
송출 방식
밝기를 열 단계로 나눠서 순서의 글자에 대응시킵니다.
셀 크기
작게 할수록 글자가 많아지고, 크게 할수록 형체가 뭉갭니다.
형광체
화면을 클릭해 초점을 준 뒤 화살표 키를 누르면 빛이 움직입니다. 2.5초 동안 조작이 없으면 스스로 한 바퀴 돕니다.
01 — 편성
오늘 나가는 것들
하루 일곱 편. 프로그램마다 송출 방식이 다릅니다. 점자로 나가는 새벽 방송은 화면이 거의 비어 있고, 낮 방송은 글자가 빽빽합니다.
| 시각 | 프로그램 | 송출 방식 | 진행 |
|---|---|---|---|
| 06:00 | 새벽 신호 점검 | 점자 2×4 | 무인 송출 |
| 08:30 | 출근길 저해상도 | 블록 | 하람 |
| 11:00 | 낮에는 흰 화면 | 밀집 아스키 | 서진 |
| 14:00 | 청취자가 보낸 그림 | 팔레트 디더 | 다움 |
| 17:30 | 퇴근길 잔상 | 밀집 아스키 | 하람 |
| 21:00 | 밤의 셀 크기 | 블록 | 연오 |
| 24:00 | 무한 루프 | 점자 2×4 | 무인 송출 |
편성은 주 단위로 바뀝니다. 지난 방송은 글자 그대로 저장돼 있어서, 텍스트 파일로 내려받으면 그 회차 화면이 다시 재생됩니다.
02 — 원리
신호가 글자가 되기까지
아래 화면 세 개는 그림이 아니라 지금 돌아가고 있는 같은 장면입니다. 왼쪽이 원본, 오른쪽 위가 밝기만 남긴 상태, 오른쪽 아래가 최종 송출 화면입니다.
1원본 — 3차원 장면
토러스 매듭 하나와 구 세 개. 강한 방향광이 왼쪽 위에서 들어오고, 포인터를 따라오는 점광원이 하나 더 있습니다. 이 단계까지는 흔한 3차원 렌더입니다.
다만 이 그림을 화면에 그대로 띄우지 않고, 가로 200칸 남짓한 아주 작은 판에 그립니다. 어차피 칸 하나가 글자 하나가 될 테니 그보다 크게 그릴 이유가 없습니다.
2밝기 — 셀별 휘도
칸마다 가운데 색을 하나 뽑아 밝기로 바꿉니다. 사람 눈이 초록에 민감한 만큼 초록에 가중치를 크게 둡니다.
3글자 — 5×7 비트 패턴
밝기를 열 단계로 나눠 글자를 고르고, 칸 안 어느 지점이 켜지는지는 셰이더 안에 넣어 둔 5×7 비트 패턴이 정합니다. 글꼴 이미지를 따로 싣지 않습니다.
// 셀 안에서 켤 점을 고른다 float l = dot(color, vec3(.299,.587,.114)); int i = int(l * 10.0); // 0‥9 float on = glyph(i, inCell); // 5×7 비트
밝기 램프 어두움 .:-+xo#@█
공백, 마침표, 쌍점, 붙임표, 더하기, 엑스, 오, 우물 정, 골뱅이, 채운 사각형
밝음
켜지는 점 개수로는 0, 1, 2, 3, 5, 9, 12, 16, 20, 35개.
글자 하나가 곧 밝기 한 단계이므로, 색을 쓰지 않고도 형태가 남습니다.
03 — 수신
어떻게 듣나
영상이라기엔 글자고, 글자라기엔 움직입니다. 그래서 받는 방법도 셋입니다.
07
문자 방송국 · 상시 채널
- 격자
- 가로 200칸 고정
- 글리프
- 5×7 · 10단계
- 프레임
- 초당 30장
- 대역폭
- 초당 60KB 안팎
- 보관
- 지난 90일
웹 수신기
주소를 열면 바로 나옵니다. 위 콘솔에서 만진 설정이 그대로 넘어갑니다.
터미널에서 받기
글자 방송이니 터미널이 제일 어울립니다. 창 크기에 맞춰 격자를 다시 잡습니다.
munja tune --ch 7 --style braille
저사양 모드
오래된 기기나 데이터가 아까울 때 씁니다.
- 셀 24픽셀, 가로 60칸
- 초당 6장, 색은 두 가지
- 초당 4KB 정도
04 — 구독
편성표를 메일로 받기
지난 방송에서 인상 깊었던 화면 몇 장을 글자 그대로 붙여 보냅니다.
보내는 메일은 전부 일반 텍스트입니다. 이미지가 하나도 없어서 어떤 메일 앱에서든 같은 모양으로 열립니다.
구독을 그만두려면 메일 맨 아래 한 줄을 그대로 회신하면 됩니다. 사람이 읽고 지웁니다.
주소는 발송 외의 용도로 쓰지 않습니다.