Newer
Older
remotion_docker_devcontainer / voicevox-remotion-template / src / data / pizza-oven-project-01 / script.ts
import {
  defineVQTimeline,
  say,
  still,
  wait,
  type VQSpeechEvent,
  type VQTimelineEvent,
  type VQTimelineInputEvent,
} from "../../lib/VQRemotionLib";
import type {CharacterId, VoicevoxVoice} from "./characters";

export {characters} from "./characters";
export type {CharacterDefinition, CharacterId, VoicevoxVoice} from "./characters";

export type SpeechEvent = VQSpeechEvent<CharacterId, VoicevoxVoice>;
export type TimelineEvent = VQTimelineEvent<CharacterId, VoicevoxVoice>;
export type TimelineInputEvent = VQTimelineInputEvent<
  CharacterId,
  VoicevoxVoice
>;

export const timeline = defineVQTimeline([
  say("pizza-oven-project-01-sayo-001", "sayo", "こんにちは。小夜です。"),
  say("pizza-oven-project-01-sayo-002", "sayo", "ピザって美味しいじゃないですか。"),
  say("pizza-oven-project-01-sayo-003", "sayo", "だから、作る事にしたんですよね。"),
  still(
    "pizza-oven-project-01-oven-still-001",
    "image/still/blender-oven-still01.png",
    {
      durationSeconds: 1.5,
      fit: "cover",
    }
  ),
  say("pizza-oven-project-01-sayo-004", "sayo", "ピザ窯を。"),
  wait(1),
  say("pizza-oven-project-01-sayo-005", "sayo", "まずはblender上で、耐熱レンガの寸法を元に積み方を設計することにしました。"),
] satisfies readonly TimelineInputEvent[]);