원문 캡처 · github.com
원문 캡처 · github.com

Page One은 화면 각본을 쓰는 사람을 위해 만든 무료 오픈소스 앱이다. 입력하는 동안 미국식 또는 BBC식(A4) 업계 표준 형식으로 대본을 정리하고, 장면 카드를 스토리보드에서 재배치하며, 인쇄용 PDF로 내보낸다. 제작 모드에서는 페이지와 장면 번호를 고정하고 색상별 수정 이력을 관리한다. 계정 없이 오프라인에서 쓸 수 있으며, 앱에 내장된 음성 엔진으로 대본을 읽어준다.

현재 버전은 1.1.0이며 Windows(.msi), macOS(.dmg), Linux(.deb)용 설치 파일을 제공한다. Apache License 2.0으로 배포된다.

  • Windows: 64비트 Windows 10 또는 11, Page-One_1.1.0_x64.msi(82MB)
  • macOS: macOS 12 Monterey 이상, Apple Silicon 또는 Intel, Page-One_1.1.0_universal.dmg(98MB)
  • Linux: Ubuntu 22.04 이상, Debian 12 이상, Linux Mint 또는 Pop!_OS 64비트, Page-One_1.1.0_amd64.deb(84MB)

각본 작성과 구성

새 각본을 만들 때 미국식(US Letter, 8.5 × 11인치) 또는 BBC·영국식(A4) 형식을 고른다. 미국식은 Final Draft의 표준 형식으로 페이지당 텍스트 54줄을 사용하고, BBC·영국식은 BBC Writersroom과 영국 제작사가 기대하는 A4 용지 형식으로 페이지당 58줄을 사용한다. 두 형식 모두 각본 레이아웃을 따르며, 용지 크기는 문서 설정에서 나중에 바꿀 수 있다.

Enter와 Tab은 장면 제목, 액션, 인물 이름, 괄호 지시, 대사, 전환 요소 사이의 입력 흐름을 이어준다. 화면 아래의 흐름 표시줄은 현재 요소와 Enter·Tab을 눌렀을 때 할 일을 보여준다. 자주 등장한 인물 이름, (V.O.)와 (O.S.) 같은 확장 표기, 장면 도입부, 이미 사용한 장소, 시간대, 전환 요소를 제안한다. 액션 줄에 int. 또는 ext.를 입력하면 장면 제목으로 바뀌고, int apartment day는 INT. APARTMENT - DAY 형식으로 정돈된다. 대사 줄에서 (를 입력하면 괄호 지시가 시작되고 닫는 괄호가 추가된다. OTIS (V.O.처럼 닫히지 않은 확장 표기는 Enter를 누르면 닫힌다.

두 사람의 대사를 나란히 배치하는 이중 대화는 입력 중 인쇄될 때와 같은 열로 표시된다(Ctrl+Alt+D). 인물이 액션 뒤에 다시 말하면 (CONT'D)를 자동으로 붙인다. 장면 제목과 인물 이름이 페이지 하단에 홀로 남지 않으며, 대사가 페이지를 넘어가면 문장 단위로 나뉘어 (MORE)와 (CONT'D)를 표시한다. 굵게·기울임·밑줄, 문단 안 줄바꿈(Shift+Enter), 인쇄되지 않는 메모도 지원한다.

낮·밤 테마를 바꿀 수 있고, 집중 모드는 다른 화면 요소를 숨긴 전체 화면 빈 페이지에서 현재 쓰는 줄을 가운데에 둔다. 페이지에 맞추거나 100~200% 크기로 볼 수 있다. 실행 취소는 제한 없이 지원하며, 찾기·바꾸기, 페이지로 이동, 시스템 사전 맞춤법 검사, Ctrl+K 명령 팔레트도 제공한다.

스토리보드에서는 각 장면을 카드 하나로 표시하고 화살표로 다음 장면과 연결한다. 카드들은 막 안의 색상 레인에 이야기 순서대로 왼쪽에서 오른쪽으로, 이어 아래쪽으로 빈틈없이 놓인다. 카드를 다른 위치에 놓으면 놓는 즉시 대본 순서도 바뀐다. 장면 간격은 유지되고 THE END는 끝에 남으며, Ctrl+Z로 되돌릴 수 있다.

막 이름은 격자 위쪽 머리글에 놓인다. 이름표는 카드 한 장 너비로 시작하며, 오른쪽 가장자리를 끌어 열을 늘리거나 이름표를 끌어 막의 시작 위치를 옮길 수 있다. 이동은 열 단위로 맞춰진다. 왼쪽 패널에서 막·시퀀스·비트 라벨의 종류를 고른 뒤 이름과 색을 지정한다. 시퀀스나 비트는 선택한 장면에서 시작하며 라벨을 그 자리에서 이름 변경, 색 변경, 삭제할 수 있다. 한 열짜리 막 라벨은 장면 카드를 세로로 쌓고, 여러 열로 늘리면 가로로 배치한다.

색상표는 검은 글씨가 잘 보이는 빨강, 주황, 노랑, 초록, 파랑, 남색, 보라, 분홍, 회색 등 표준 색상 9개를 제공한다. 각 색에 “B story”, “Flashback”처럼 의미를 붙이고, 색을 클릭해 해당 장면을 강조할 수 있다. 카드의 글자를 클릭해 시놉시스를 쓰고, 점을 클릭해 색을 바꾸며, 두 번 클릭해 장면을 연다. File → Print board & outline에서 막별 색상 카드와 막·시퀀스·비트·장면 및 시놉시스를 담은 개요를 가로 방향 PDF로 인쇄한다.

장면 탐색기에는 번호, 페이지 8분의 1 단위 길이, 색, 시놉시스가 표시된다. 목록을 필터링하고 클릭해 이동하거나 끌어 순서를 바꿀 수 있으며, Alt+Shift+↑/↓로 현재 장면을 옮긴다. 장면 검사기에서는 시놉시스, 색, 메모, 직접 지정한 장면 번호(예: 12A), 장면 생략 여부, 해당 장면의 발화자를 편집한다. 인물별 대사 줄·단어·장면 수를 확인하고 색과 약력을 기록할 수 있다. 대사 조정기에서는 한 인물의 대사만 모아 그 자리에서 편집한다. 대사 표기와 원한다면 대본 전체에서 인물 이름을 바꿀 수 있다.

목표 분량은 페이지 목표까지의 진행 상황, 페이지당 약 1분으로 계산한 예상 러닝타임, 당일 작성한 단어 수를 보여준다. 스크립트 검사(Ctrl+Shift+K)는 대사 없는 인물 표기, 인물 표기 없는 대사, INT.·EXT.나 시간대가 빠진 장면 제목, 닫히지 않은 괄호 지시, 불필요한 빈 줄, 잘못 쓴 인물 이름(예: OTIS를 OTSI로 입력한 경우)을 찾는다. 항목마다 이동 버튼이 있고 안전한 경우 한 번에 고치는 버튼도 제공한다. 인쇄에는 양쪽 여백의 장면 번호, 표준 치수에 맞춘 표제 페이지, 워터마크 PDF가 포함된다.

제작 보고서와 제작 모드

File → Export reports (Excel)는 Final Draft 보고서와 제작 일정 도구에서 쓰는 필드를 포함한 .xlsx 통합 문서를 만든다. 보고서는 제목, 초고, 페이지 수, 예상 상영 시간, 대사·액션 비율, 실내·실외 및 낮·밤 장면 수, 각본상 일수, 독백, 요소별 개수, 비속어를 요약한다. 장면 보고서에는 장면 번호, 실내·실외 구분, 세트, 시간대, 각본상 일수(D1, N1 등), 페이지(12-13, 12A 등), 8분의 1 단위 길이, 상영 시간, 출연자 ID, 시놉시스, 막이 들어간다. 출연자 목록은 ID, 장면·대사·단어 수, 페이지 수, 각본상 일수, 첫 장면과 마지막 장면을 담는다. 장면별 출연자 표는 Day Out of Days 작성의 바탕이 되고, 대사 보고서는 인물별 모든 대사와 확장 표기·장면·페이지·괄호 지시를 표시한다. 한 인물만 필터링해 해당 인물 대사를 인쇄할 수 있다. 세트 보고서는 세트별 장면, 페이지 수, 시간대, 출연자를 정리한다. 표 머리글은 화면에 고정되고 열을 필터링할 수 있으며, 페이지 수는 8분의 1 단위로 합산된다. 모든 시트는 가로 방향으로 인쇄된다. 같은 표는 Script → Reports에서도 볼 수 있고 CSV로 복사할 수 있다.

각본 제목 옆의 Draft | Production 전환 버튼으로 두 모드를 바꾼다. Production으로 바꾸기 전에 앱은 전환 작업을 몇 줄로 설명한다. Draft에서는 페이지와 장면 번호가 자유롭게 흐르고 편집에 따라 다시 매겨진다. Production에서는 촬영 대본처럼 페이지와 장면 번호를 고정한다.

  • 고정 페이지: 각 페이지 번호를 유지한다. 글이 페이지에 들어가지 않으면 12A, 12B처럼 A 페이지를 추가하고 필요하면 12AA를 쓴다. 그 뒤 페이지 번호는 움직이지 않는다. 분량을 줄인 페이지도 빈 번호를 유지하며, 내용이 모두 삭제된 페이지는 앞 페이지에 범위(예: “12-13”)로 접어 넣는다. 1페이지 앞에 추가한 글은 A1에 들어간다. 대사 중간에서 시작하는 페이지는 (MORE)와 (CONT'D)를 유지한다.
  • 고정 장면 번호: 새 장면에는 앞 장면 번호와 문자(12A)를 붙이고, 첫 장면 앞에는 A1을 쓴다. 삭제한 장면은 OMITTED로 남아 번호를 재사용하지 않는다. 고정 페이지 번호가 뒤섞이지 않도록 페이지, 탐색기, 스토리보드에서 장면 순서를 바꿀 수 없다.
  • 색상 수정: 표준 순서인 Blue, Pink, Yellow, Green, Goldenrod, Buff, Salmon, Cherry를 따른다. Production → Revised pages in colour에서 색상 표시를 끌 수 있다. 머리글에는 색상과 날짜가 표시되고 표제 페이지 오른쪽 아래에는 White 초고와 각 수정본의 날짜가 적힌다. 색상은 순서대로만 진행하며 대본이 잠긴 동안 수정 표시는 지울 수 없다.
  • 페이지 표기: 12A 같은 페이지 번호를 대본, 상태 표시줄, PDF, 보고서에 표시한다.

수정본을 배포할 때는 현재 색상으로 바뀐 페이지만 Export revised pages로 내보낸다. Lock revised pages, start next colour는 A 페이지를 포함해 수정된 페이지를 잠그고 다음 색상으로 넘어간다. 다시 전체 초고를 쓰려면 전환 버튼으로 Back to Draft를 선택한다. 그러면 잠금이 풀리고 페이지와 번호를 다시 매긴다.

대본 낭독과 파일 형식

Table Read는 앱에 자체 음성과 음성 엔진을 내장해 완전히 오프라인으로 작동한다. 어떤 데이터도 전송하지 않으며 인터넷이나 계정이 필요 없다. 페이지 위쪽 가운데의 Table Read 버튼이나 Ctrl+Shift+P를 누르면 커서 위치부터 읽는다. 읽는 줄은 강조되어 화면에 계속 보인다. 재생 중에는 일시 정지, 이전·다음 줄, 정지, 0.8~1.5배속, Live 모드, 파형 보기 기능을 쓸 수 있다.

Live 모드는 약한 잔향을 더하고 출연자 음성을 좌우에 배치해 작은 방에서 함께 읽는 듯한 소리를 낸다. 파형 보기는 화자 이름, 읽는 대사, 파형, 재생 조작 기능을 페이지 위에 띄운다. 창을 닫아도 낭독은 계속된다. 내레이터가 장면 제목·액션·전환을 읽고, 각 인물은 별도 음성으로 말한다. 내레이터가 장면 제목, 전환, 괄호 지시를 읽을지 선택할 수 있다. 음성 엔진은 오픈소스 Kokoro 음성 모델과 ONNX Runtime으로 구성되며 설치 파일에 포함돼 모든 대사를 컴퓨터에서 재생한다.

.pageone은 매직 헤더, CRC-32 체크섬, DEFLATE로 압축한 MessagePack 문서로 이루어진 작은 바이너리 파일이다. 장편 각본은 보통 30~60KB로 일반 텍스트 크기의 약 3분의 1이며, 다른 프로그램에서 텍스트로 열 수 없다. 형식은 파일 형식 문서에 공개돼 있고 암호화되지 않았다.

저장할 때는 임시 파일을 쓴 뒤 원본을 대체해 충돌이 발생해도 파일이 반쯤 기록된 상태로 남지 않도록 한다. 각 대본의 최근 버전 20개를 운영체제별 backups 폴더에 보관한다. Windows 경로는 %APPDATA%\app.pageone.desktop\backups, Mac은 ~/Library/Application Support/app.pageone.desktop/backups, Linux는 ~/.local/share/app.pageone.desktop/backups다. 디스크에 저장한 대본은 1분마다 자동 저장한다. 아직 저장하지 않은 작업과 한 번도 저장한 적 없는 대본도 20초마다 복제하며, 충돌 뒤 시작 화면에서 복구할 수 있다.

Fountain(.fountain, .spmd, .txt)과 Final Draft(.fdx)를 가져올 수 있고, Fountain 텍스트를 붙여 넣으면 형식을 적용한다. 내보내기는 글꼴을 포함한 PDF, Final Draft 페이지 레이아웃·요소 설정·장면 번호를 반영한 .fdx, Fountain, 형식이 적용된 일반 텍스트, 스토리보드와 개요의 가로 PDF를 지원한다. Page One은 네트워크 연결을 하지 않는다.

Final Draft 13과의 차이

아래 비교는 Page One 1.1과 Final Draft 13을 기준으로 한다.

항목Page One 1.1Final Draft 13
가격무료, 오픈소스(Apache 2.0)일회성 $199.99 또는 Final Draft Suite 연 $99.99
플랫폼Windows(.msi), macOS(.dmg, Apple Silicon·Intel), Linux(.deb)Windows와 macOS
휴대전화·태블릿지원하지 않음iOS용 Final Draft Go 별도 판매
계정·활성화필요 없음로그인 필요, 컴퓨터 두 대까지 활성화
입력 중 형식 적용요소 이동과 제안 지원지원
입력 화면의 페이지 나눔과 (MORE)·(CONT'D)인쇄 결과와 같은 화면 표시지원
이중 대화입력 중 나란히 표시지원
미국식 및 BBC·영국식(A4) 각본 형식새 대본을 만들 때 선택페이지 설정과 템플릿으로 설정
TV·멀티카메라·무대 템플릿각본만 지원여러 템플릿 제공
기획 화면색상 막 레인이 있는 맞춤 격자 스토리보드, 카드 이동 시 대본 실시간 재정렬Beat Board, Outline Editor, 인덱스 카드
보드·개요 인쇄가로 PDF 지원인덱스 카드와 개요 인쇄
사용자 지정 색상 라벨지원지원하지 않음
대사 조정기지원지원하지 않음
인물별 음성이 있는 대본 낭독어린이 음성을 포함한 신경망 음성 17개와 내레이터 2개, 자체 오프라인 엔진, Live 모드·파형 보기운영체제 음성 사용(Speech Control)
형식 검사한 번에 고치는 기능이 있는 Script checkFormat Assistant
Draft·Production 모드버튼 하나로 전환별도 잠금 명령 사용
페이지·A 페이지 잠금(12A, A1, 범위)지원지원
장면 번호·A 장면·OMITTED 잠금지원지원
색상 수정별표, 날짜 머리글, 색상 페이지, 수정 페이지만 내보내기, 표제 페이지의 수정 목록지원
제작 보고서Excel 통합 문서: 요약, 각본상 일수를 포함한 장면 한 줄 요약, ID가 있는 출연자 목록, 장면별 출연자, 대사, 세트장면·장소·인물·출연자 보고서
소품·의상 등 제작 태그지원하지 않음지원
변경 내용 추적지원하지 않음지원
실시간 공동 작업지원하지 않음지원
Fountain열기·저장 지원Final Draft 13 사용자 안내서에는 기재되지 않음
Final Draft .fdxFinal Draft 페이지 레이아웃과 장면 번호로 열기·저장기본 형식
자체 파일 형식문서화된 압축 바이너리 .pageoneXML .fdx
백업·충돌 복구최근 20개 버전, 1분마다 자동 저장, 미저장 작업 복구백업과 자동 저장
네트워크 연결없음로그인, 업데이트, 공동 작업

제작 태그, 변경 내용 추적, 실시간 공동 작업, TV·멀티카메라·무대 템플릿, PDF 가져오기, 낭독용 언어·억양 추가, 휴대전화·태블릿 앱은 향후 개선 항목으로 제시돼 있다.

설치와 빌드

설치 파일은 82~98MB다. Windows는 약 82MB, Linux는 약 84MB, Apple Silicon과 Intel 코드를 모두 담은 macOS 파일은 약 98MB다. 용량 대부분은 내장 음성과 음성 엔진이 차지한다.

Windows 10 또는 11 64비트에서 Page-One_1.1.0_x64.msi를 실행한다. 설치 프로그램은 아직 코드 서명되지 않아 Windows SmartScreen이 “Windows protected your PC”라고 알릴 수 있다. 이때 More info를 누른 다음 Run anyway를 선택하고 설치를 진행한다. 설치 뒤 시작 메뉴에 Page One이 나타난다. .pageone 파일은 두 번 클릭해 열 수 있다. 앱은 Windows 10·11에 포함된 Microsoft Edge WebView2를 사용하며, 드물게 없는 PC에서는 설치 프로그램이 이를 내려받는다. 제거는 설정 → 앱 → 설치된 앱에서 한다.

Ubuntu, Debian, Linux Mint, Pop!_OS에서는 다음 명령으로 설치한다.

sudo apt install ./Page-One_1.1.0_amd64.deb

앱 메뉴에 Page One이 나타나고 .pageone 파일을 두 번 클릭해 열 수 있다. Ubuntu 22.04 이상과 Debian 12 이상에 포함된 WebKitGTK 4.1(libwebkit2gtk-4.1-0)이 필요하며, 빠져 있으면 apt가 설치한다. 제거 명령은 sudo apt remove page-one이다.

macOS는 Apple Silicon 또는 Intel에서 macOS 12 Monterey 이상이 필요하다. Page-One_1.1.0_universal.dmg를 열고 Page One을 Applications로 끌어 놓는다. 처음에는 Applications에서 실행한다. 빌드가 Apple Developer ID로 서명되지 않은 경우 macOS가 앱을 확인할 수 없다고 알릴 수 있다. 시스템 설정 → 개인정보 보호 및 보안에서 아래로 내려 Page One 옆의 Open Anyway를 누른다. macOS 14 이하에서는 앱을 Control-클릭해 Open을 선택할 수도 있다. 이후에는 정상적으로 열린다. .pageone 파일은 두 번 클릭해 열 수 있다. Mac에서는 모든 단축키에서 Ctrl 대신 ⌘, Alt 대신 ⌥(Option)을 쓴다. macOS가 일부 단축키를 사용하므로 찾기·바꾸기는 ⌥⌘F, 새 비트는 ⌥⇧⌘3, 메모는 ⌥⇧⌘4, 이중 대화는 ⇧⌘D를 쓴다. 모든 단축키는 Help → Keyboard shortcuts(F1)에 있다.

소스에서 빌드하려면 안정 버전 Rust와 Node.js 18 이상이 필요하다. Linux에서는 다음 패키지도 설치한다.

sudo apt install build-essential pkg-config file patchelf libwebkit2gtk-4.1-dev \
 libgtk-3-dev libssl-dev libxdo-dev libayatana-appindicator3-dev librsvg2-dev

Mac에는 Rust, Node.js, Xcode 명령줄 도구(xcode-select --install)가 필요하다. Windows에는 Rust, Node.js, Visual Studio C++ Build Tools의 “Desktop development with C++”가 필요하다.

내장 음성 파일은 Git에 포함되지 않는다. scripts/build_voice_assets.py가 공개된 배포 파일을 모아 src-tauri/voice/에 넣는다. 빌드에 사용하는 자료는 Kokoro-82M 모델과 음성, misaki 및 CMU 발음 사전, 플랫폼별 Microsoft ONNX Runtime 1.20.1 라이브러리다.

npm install
npm run build # target/release/bundle/deb/Page One_1.1.0_amd64.deb
npm run build:mac # on a Mac: target/universal-apple-darwin/release/bundle/dmg/Page One_1.1.0_universal.dmg
npm run build:win # on Windows: target/release/bundle/msi/Page One_1.1.0_x64_en-US.msi
npm test # core tests: file format, pagination, locked pages, Fountain, FDX
npm run preview # the interface in a browser at http://127.0.0.1:8787

저장소의 crates/core에는 Rust로 작성한 문서 모델, .pageone 인코더·디코더, 페이지 나눔과 페이지 잠금, PDF·Excel·Fountain·FDX·텍스트 내보내기가 들어 있다. 페이지 나눔을 결정하는 원본은 이곳에 있다. src-tauri는 기본 파일 대화상자, 백업을 포함한 저장, 파일 연결, 패키징을 담당하는 데스크톱 셸이다. ui는 빌드 단계가 없는 일반 HTML·CSS·JavaScript 모듈 인터페이스이며, docs에는 파일 형식 사양과 화면 이미지, samples에는 Fountain과 .pageone 예시 대본이 있다.

Mac 범용 빌드에는 Rust 대상을 한 번 추가한다.

rustup target add aarch64-apple-darwin x86_64-apple-darwin

GitHub Actions는 Windows에서 .msi, macOS에서 범용 .dmg, Ubuntu에서 .deb를 빌드하고 세 파일을 1.1.0 릴리스 페이지에 게시한다. 빌드는 푸시할 때마다 실행되지 않으며 Actions → Build → Run workflow에서 수동으로 시작한다. Apple 인증 정보가 없으면 Mac 앱은 임시 서명(ad-hoc signing)된다. Developer ID로 서명하고 Apple 공증을 받아 경고 없이 열리게 하려면 저장소 비밀값으로 APPLE_CERTIFICATE(base64로 인코딩한 Developer ID Application 인증서 .p12), APPLE_CERTIFICATE_PASSWORD, APPLE_SIGNING_IDENTITY(예: Developer ID Application: Name (TEAMID))를 설정한다. 공증에는 APPLE_ID, 앱 전용 암호인 APPLE_PASSWORD, APPLE_TEAM_ID도 설정해야 한다. 이번 릴리스 내용은 RELEASE_NOTES.md에서 확인할 수 있다.

디자인과 라이선스

프로젝트 설명에 따르면 Page One의 인터페이스와 상호작용 디자인은 이 프로젝트를 위해 새로 만들었다. 레이아웃, 시각 스타일, 흐름 표시줄, 스토리보드와 맞춤 격자, 막 라벨, 색상표, 집중 모드 등은 Final Draft, Fade In 또는 다른 각본 앱의 인터페이스를 복사하거나 본떠 만든 것이 아니라고 밝힌다. 업계 표준 페이지 형식과 치수, 각본 요소 이름, Enter·Tab을 사용하는 장면 제목→액션→인물→대사 흐름, 요소 전환에 쓰는 Ctrl+숫자 단축키, Fountain과 .fdx 등 작가가 앱 사이에서 교환하는 파일 형식은 각본 도구 전반의 관례를 따른다. 다른 도구를 쓰던 작가가 익숙하게 느끼도록 키보드 관례를 유지했다는 설명이다.

Page One은 Apache License 2.0으로 배포된다(LICENSE). Rust와 Tauri 기반 Novelcraft 데스크톱 프레임워크를 사용한다. Courier Prime은 Courier Prime Project Authors의 저작물이며 SIL Open Font License 1.1에 따라 사용한다(crates/core/fonts/OFL.txt). 내장 음성은 hexgrad의 Kokoro-82M(Apache License 2.0), misaki의 발음 자료(Apache License 2.0), CMU Pronouncing Dictionary(BSD 2-Clause)를 사용한다. 실행에는 ONNX Runtime(MIT)을 ort 크레이트(MIT 또는 Apache 2.0)를 통해 이용하고, 브라우저 미리보기에는 ONNX Runtime Web(MIT)을 사용한다. 자세한 내용은 NOTICE.md에 있다.

Page One은 Final Draft, Inc., Fade In 제작사, Fountain 프로젝트와 제휴하거나 이들의 보증을 받는 제품이 아닌 독립 프로젝트다. Final Draft와 Fade In은 각 소유자의 상표다.