---
title: LyricCharacterScale
slug: lyrics/patterns/character-scale
description: 文字が一つずつ大きくなりながら現れます。
noindex: true
---

**Preview**

<LyricsPreview demo="LyricCharacterScale" />

**Code**

```tsx
import { AbsoluteFill, useVideoConfig } from 'remotion'
import { secondsToFrameRange } from 'framoo/core'
import { LyricsLayout, LyricCharacterScale } from 'framoo/lyrics'

export const LyricCharacterScalePreview = () => {
  const { fps } = useVideoConfig()
  const lyricTiming = secondsToFrameRange(0.5, 5, fps)
  const framesForSeconds = (seconds: number) =>
    secondsToFrameRange(0, seconds, fps).durationInFrames

  return (
    <AbsoluteFill style={{ backgroundColor: '#17191f' }}>
      {/* 背景画像など */}
      <LyricsLayout>
        <LyricCharacterScale
          {...lyricTiming}
          position={{ x: 0.5, y: 0.76 }}
          anchor="center"
          size="base"
          motion={{
            scaleDurationInFrames: framesForSeconds(10 / 30),
            staggerInFrames: framesForSeconds(2 / 30),
            easing: 'ease-out',
          }}
        >
          この瞬間もひとつのピース
        </LyricCharacterScale>
      </LyricsLayout>
    </AbsoluteFill>
  )
}
```

## API Reference

| Prop               | Type                        | Default                          | Description                                                |
| ------------------ | --------------------------- | -------------------------------- | ---------------------------------------------------------- |
| `children`         | `string`                    | —                                | 表示する歌詞。                                             |
| `from`             | `number`                    | `0`                              | 表示を始めるフレーム。                                     |
| `durationInFrames` | `number`                    | 未指定（コンポジション終端まで） | タイムライン上で表示する長さ。フレーム単位。               |
| `name`             | `string`                    | `LyricCharacterScale position`   | Remotion Studioのタイムラインに表示するラベル。            |
| `position`         | `LyricPosition`             | —                                | 配置位置。`{ x, y }`の各値は0から1の割合。                 |
| `anchor`           | `LyricAnchor`               | `center`                         | positionに合わせる歌詞側の基準点。                         |
| `safeArea`         | `LyricSafeAreaMode`         | `respect`                        | `respect`はセーフエリア基準、`ignore`は画面全体基準。      |
| `size`             | `LyricTypographySize`       | `base`                           | 文字サイズ。`xs`、`sm`、`md`、`base`、`xl`、`2xl`、`4xl`。 |
| `orientation`      | `LyricTextOrientation`      | `horizontal`                     | 文字方向。`horizontal`または`vertical`。                   |
| `rotationDegrees`  | `number`                    | `0`                              | 歌詞全体の回転角度。角度を度単位で指定。                   |
| `autoWrap`         | `boolean`                   | `false`                          | 自動折り返しを有効にする。明示的な改行は常に維持。         |
| `motion`           | `LyricCharacterScaleMotion` | `{}`                             | このパターン固有のアニメーション設定。下表を参照。         |

### `motion` の設定

| Prop                    | Type                                           | Default    | Description                        |
| ----------------------- | ---------------------------------------------- | ---------- | ---------------------------------- |
| `scaleDurationInFrames` | `number`                                       | `10`       | 各文字が0%から100%へ拡大する長さ。 |
| `staggerInFrames`       | `number`                                       | `2`        | 文字ごとの開始間隔。               |
| `delayInFrames`         | `number`                                       | `0`        | 最初の文字が始まるまでの待ち時間。 |
| `easing`                | `linear \| ease-in \| ease-out \| ease-in-out` | `ease-out` | 各文字の拡大速度。                 |
