144 lines
5.2 KiB
Python
144 lines
5.2 KiB
Python
"""
|
|
BGM 모드용 더미 가사 템플릿
|
|
|
|
instrumental=True 호출 시 Suno가 가사 길이/구조를 참고해 60초짜리 BGM을 생성하도록
|
|
placeholder 가사를 제공합니다. 실제 보컬은 생성되지 않습니다.
|
|
|
|
장르 순서: K-Pop, Pop, R&B, Hip-Hop, Ballad, EDM, Rock, Jazz
|
|
섹션 태그 없이 한국어 10줄로 구성.
|
|
"""
|
|
|
|
_BGM_DUMMY_LYRICS: dict[str, str] = {
|
|
"K-Pop": (
|
|
"반짝이는 눈빛으로 날 바라봐\n"
|
|
"심장이 터질 것 같은 이 느낌\n"
|
|
"너만 보면 세상이 달라 보여\n"
|
|
"오늘도 설레임이 멈추질 않아\n"
|
|
"같이 걸어가는 이 길 위에서\n"
|
|
"우리 둘만의 노래가 흘러\n"
|
|
"빛나는 순간들을 모아모아\n"
|
|
"영원히 기억할 우리의 이야기\n"
|
|
"지금 이 순간 네 곁에 있을게\n"
|
|
"함께라면 뭐든 할 수 있어\n"
|
|
),
|
|
"Pop": (
|
|
"햇살 가득한 아침이 시작되고\n"
|
|
"따스한 바람이 살며시 불어와\n"
|
|
"거리마다 웃음꽃이 피어나고\n"
|
|
"오늘도 설레는 하루가 열려\n"
|
|
"가볍게 발걸음을 내딛으며\n"
|
|
"환한 빛 속으로 걸어가는 길\n"
|
|
"두근두근 설레는 이 순간을\n"
|
|
"온 마음 가득 담아 느껴봐\n"
|
|
"오늘 하루도 빛나는 하루야\n"
|
|
"환한 미소로 하루를 마무리해\n"
|
|
),
|
|
"R&B": (
|
|
"부드럽게 흐르는 이 그루브에\n"
|
|
"몸이 저절로 리듬을 타기 시작해\n"
|
|
"네 목소리가 귓가에 맴돌고\n"
|
|
"이 감각이 온몸을 감싸줘\n"
|
|
"달콤한 밤이 깊어질수록\n"
|
|
"너와 나 사이 거리가 좁혀져\n"
|
|
"촛불처럼 은은하게 타오르는\n"
|
|
"이 감정을 숨길 수가 없어\n"
|
|
"부드럽게 내 손을 잡아줘\n"
|
|
"오늘 밤 우리만의 노래를 불러\n"
|
|
),
|
|
"Hip-Hop": (
|
|
"내 방식대로 살아가는 이 길\n"
|
|
"누가 뭐래도 내 페이스로 가\n"
|
|
"매일 아침 눈을 뜨면 새로운 무대\n"
|
|
"두려움 없이 앞으로 나아가\n"
|
|
"땀과 노력으로 쌓아온 오늘\n"
|
|
"포기란 없어 끝까지 밀어붙여\n"
|
|
"내 이름을 기억해 두라고\n"
|
|
"이 무대 위에 내 발자국 남겨\n"
|
|
"하나둘 쌓여가는 내 이야기\n"
|
|
"진짜배기는 지금부터 시작이야\n"
|
|
),
|
|
"Ballad": (
|
|
"저녁 노을이 물드는 창가에서\n"
|
|
"조용히 흘러가는 시간 속에\n"
|
|
"잔잔한 바람이 마음을 적시고\n"
|
|
"기억 속 풍경이 스쳐 지나가\n"
|
|
"부드럽게 감기는 이 느낌처럼\n"
|
|
"천천히 숨을 고르며 머물러\n"
|
|
"마음 깊은 곳에 스며드는 온기\n"
|
|
"조용히 눈을 감고 느껴봐\n"
|
|
"이 순간 여기 머무는 것만으로도 충분해\n"
|
|
"고요한 밤이 나를 감싸 안아줘\n"
|
|
),
|
|
"EDM": (
|
|
"밤거리에 불빛이 타오르고\n"
|
|
"심장이 두근두근 뛰기 시작해\n"
|
|
"온몸에 퍼지는 뜨거운 열기\n"
|
|
"멈출 수 없는 이 흐름 속으로\n"
|
|
"있는 힘껏 달려가는 이 순간\n"
|
|
"모든 걸 내려놓고 느껴봐\n"
|
|
"짜릿하게 타오르는 지금 이 밤\n"
|
|
"온 세상이 하나로 움직여\n"
|
|
"끝까지 불태워 이 에너지를\n"
|
|
"새벽빛이 밝아올 때까지 달려\n"
|
|
),
|
|
"Rock": (
|
|
"굉음을 내며 울려 퍼지는 기타\n"
|
|
"온몸을 뒤흔드는 강렬한 비트\n"
|
|
"규칙 따위는 집어치우고\n"
|
|
"있는 그대로 외쳐봐\n"
|
|
"불꽃처럼 타오르는 이 열정\n"
|
|
"아무도 막을 수 없어 지금\n"
|
|
"거침없이 달려가는 이 무대\n"
|
|
"목청껏 소리 질러 자유를\n"
|
|
"부서질 듯 뜨겁게 흔들어\n"
|
|
"이 밤이 끝날 때까지 록이야\n"
|
|
),
|
|
"Jazz": (
|
|
"커피 향이 피어오르는 오후\n"
|
|
"느긋하게 흐르는 재즈 선율에\n"
|
|
"발끝이 리듬을 타기 시작해\n"
|
|
"달콤한 여유가 가득 차오르고\n"
|
|
"창밖엔 황금빛 도시가 반짝여\n"
|
|
"잔을 들어 이 순간을 건배해\n"
|
|
"스윙하는 박자에 몸을 맡기고\n"
|
|
"부드럽게 흘러가는 이 밤을\n"
|
|
"기억 속에 새겨두고 싶어\n"
|
|
"재즈처럼 자유롭게 살고 싶어\n"
|
|
),
|
|
}
|
|
|
|
|
|
_GENRE_ALIAS: dict[str, str] = {
|
|
"kpop": "K-Pop",
|
|
"k-pop": "K-Pop",
|
|
"k_pop": "K-Pop",
|
|
"pop": "Pop",
|
|
"rnb": "R&B",
|
|
"r&b": "R&B",
|
|
"r_b": "R&B",
|
|
"hiphop": "Hip-Hop",
|
|
"hip-hop": "Hip-Hop",
|
|
"hip_hop": "Hip-Hop",
|
|
"ballad": "Ballad",
|
|
"edm": "EDM",
|
|
"rock": "Rock",
|
|
"jazz": "Jazz",
|
|
}
|
|
|
|
|
|
def normalize_genre(genre: str) -> str:
|
|
return _GENRE_ALIAS.get(genre.lower(), genre)
|
|
|
|
|
|
def get_bgm_lyrics(genre: str) -> str:
|
|
"""장르에 맞는 BGM 더미 가사를 반환합니다.
|
|
|
|
Args:
|
|
genre: 장르명 (K-Pop, Pop, R&B, Hip-Hop, Ballad, EDM, Rock, Jazz)
|
|
대소문자 및 구분자(-, _) 무관하게 처리됩니다.
|
|
|
|
Returns:
|
|
선택된 장르의 가사 텍스트
|
|
"""
|
|
return _BGM_DUMMY_LYRICS[normalize_genre(genre)]
|