목차

이전 항목

동영상

다음 항목

텍스트

링크


원문 보러 가기
오역 신고하기
Created using Sphinx.

음성

렌파이에서는 대사문과 함께 음성 파일을 재생할 수 있습니다. voice 명령문에 재생하려는 음성 파일 이름을 입력하면 됩니다.

voice "line0001.ogg"
"환영합니다."

재생 중인 음성은 다음 인터렉션이 시작하는 순간에 정지합니다. voice sustain 명령문을 사용하면 인터렉션 도중에도 음성을 계속 재생할 수 있습니다.

voice "line0001.ogg"
"렌파이..."

voice sustain
"... 당신의 디지털 스토리텔링 엔진."

config.voice_filename_format 변수로 음성 파일 이름을 설정하면 디렉토리나 확장자를 적지 않고 명령문을 사용할 수 있습니다.

보이스 태그

렌파이에는 보이스 태그 시스템이 있어 특정 캐릭터의 목소리를 음소거하거나 음소거 해제할 수 있습니다. 이 시스템을 활용하려면 Character() 에 voice_tag 인수를 입력하여 음성을 선택적으로 음소거할 수 있도록 SetVoiceMute()ToggleVoiceMute() 액션을 사용해야 합니다.

아래는 예제입니다.

define e = Character("아이린", voice_tag="eileen")
define l = Character("루시", voice_tag="lucy")

screen voice_toggle:
    vbox:
        textbutton "아이린 음소거" action ToggleVoiceMute("eileen")
        textbutton "루시 음소거" action ToggleVoiceMute("lucy")

label start:
    show screen voice_toggle

    voice "e01.ogg"
    e "캐릭터의 음성을 켜고 끌 수 있어."

    voice "l01.ogg"
    l "아싸! 드디어 네녀석 입을 다물게 할 수 있게 됐군!"

    voice "l02.ogg"
    l "잠깐... 이 말은 나도 음소거 당할 수 있다는 뜻이잖아! 그런 거야?"

자동 음성

렌파이에는 재생할 음성 파일을 자동으로 지정하는 시스템을 지원하고 있어, 대사를 적기 전에 일일히 voice 명령문을 입력하지 않아도 음성을 재생하도록 만들 수 있습니다.

이를 위해서는 대사가 적힌 각 줄의 식별자와 동일한 식별자로 이름지어진 음성 파일을 만들어야 합니다. 식별자를 확인하려면 우선 런처에서 "대사 추출하기", "탭으로 구분한 스프레드시트 (dialogue.tab)"를 누르고, "계속하기" 버튼을 눌러 대사를 스프레드시트에 추출합니다. 이렇게 해서 생성된 dialogue.tab 파일은 스프레드시트 프로그램에서 열 수 있습니다.

스프레드시트의 첫 번째 열이 바로 대사의 식별자이며, 다른 열들은 대사에 관한 정보가 적혀있는 열입니다.

렌파이가 자동으로 음성 파일을 재생하도록 만들기 위해서는 config.auto_voice{id} 가 포함된 문자열값을 설정하세요. 대사가 나타나면 문자열에서 {id} 가 대사 식별자로 교체되어 파일이름을 형성하게 됩니다. 해당 파일이름이 존재한다면 그 파일이 재생됩니다.

예를 들어, 다음과 같이 설정했다고 가정합시다.

config.auto_voice = "voice/{id}.ogg"

그리고 demo_minigame_03fc91ef 라는 식별자가 지정된 대사가 나타나면, 렌파이는 voice/demo_minigame_03fc91ef.ogg 라는 파일을 검색합니다. 파일이 있다면 렌파이는 그 파일을 재생할 것입니다.

음성 관련 함수

_get_voice_info()

현재 say문이 재생하고 있는 음성 파일에 대한 정보를 반환한다. 이 함수는 say문을 실행하는 중일 때에만 호출될 수 있다.

이 객체는 다음과 같은 필드를 반환한다.:

VoiceInfo.filename

재생되어야 할 음성 파일 이름 또는 파일이 재생되어야 하지 않는경우에는 None.

VoiceInfo.auto_filename

렌파이가 자동 음성 재생을 목적으로 검색하는 파일이름. 또는 발견하지 않아야 하는 경우에는 None.

VoiceInfo.tag

대사를 말하고 있는 Character 에 전달된 voice_tag.

voice(filename, tag=None)

voice 채널에서 filename 을 재생한다. voice 명령문과 같은 기능을 한다.

filename
재생할 파일 이름. config.voice_filename_format 를 함께 사용해 재생할 파일이름을 만들어낸다.
tag

None이 아니라면 재생할 보이스 태그를 지정하는 문자열이어야 한다. None이면 다음 인터렉션에서 작동하는 Character에 설정된 voice_tag 값을 기본값으로 받는다.

보이스 태그는 어떤 캐릭터가 말하고 있는지를 결정할 때 사용해 플레이어가 특정 캐릭터의 음성을 음소거 하거나 음소거 해제할 수 있도록 한다.

voice_can_replay()

현재 음성을 다시 재생할 수 있다면 True를 반환한다.

voice_replay()

현재 음성을 다시 재생할 수 있는 경우 다시 재생한다.

voice_sustain(ignored='', **kwargs)

voice sustain 명령문과 같은 기능을 한다.

음성 관련 액션

SetCharacterVolume(voice_tag, volume=None)

각 캐릭터의 음성을 조절할 수 있도록 한다. volume`이 None이라면 이 함수는 `voice_tag 의 음량 값을 반환한다. 그 외의 값은 volume 으로 설정된다.

volume 은 0.0 이상 1.0 이하의 숫자이며 voice 채널의 믹서 볼륨의 비율값으로 해석된다.

SetVoiceMute(voice_tag, mute)

mute 가 True면 보이스 태그를 voice_tag 로 지정한 음성을 음소거한다. mute 가 False면 voice_tag 음성을 음소거 해제한다.

ToggleVoiceMute(voice_tag, invert=False)

voice_tag 의 음소거 상태를 전환한다. 지정한 보이스 태그가 음소거 상태라면 버튼이 선택된 상태로 나타나며 invert 가 True면 해당 음성이 음소거 해제 상태일 때 선택된 상태가 된다.

VoiceReplay()

가장 최근에 재생된 음성을 다시 재생한다.