본문 바로가기
data science/python

오버랩핑된 문자열 잇기

by 꼰대코더 2024. 2. 2.

openai 의 whisper 를 이용하여 음성을 문자변환시에 한번에 변환할 수 있는 용량이 25MB 이기 때문에 
이보다 큰 음성파일의 경우는 pypub 라이브러리를 이용하여 작게 분리를 해서 처리를 해야 한다.
이때 강제적으로 사이즈만큼 분리를 하면 대화중의 음성이 끊어지게 되므로 앞뒤를 약간 오버랩핑하게 하여 각각 변환을 하면 똑같은 대화 문자열이 각 음성파일의 맨 뒤와 맨 처음 오버랩핑되어 출력된다.

이 오버랩핑된 문자열을 자연스럽게 한 문장으로 만드는 방법은 아래와 같다.
( 음성파일을 분석하여 무음인 상태를 발견하여 분리하는 방법도 시도해 봤지만, 노이즈가 섞여있기 때문에 어렵다. )

string1 = 'Hello how are you' 
string2 = 'are you doing now?' 

i = 0 
while not string2.startswith(string1[i:]): 
       i += 1

sFinal = string1[:i] + string2

# 'Hello how are you doing now?'

 

혹은 함수 형태로

def merge(s1, s2): 
    i = 0
    while not s2.startswith(s1[i:]):
         i += 1
         
    return s1[:i] + s2

'data science > python' 카테고리의 다른 글

two list -> dict  (0) 2024.02.27
문자열 리스트 조작  (0) 2024.02.02
tuple 변경하기  (0) 2024.01.28
numpy 조건에 맞는 값들만 뽑아내기  (0) 2024.01.07
list ( [ , ], [ , ] ... ) 최대, 최소값 구하기  (0) 2024.01.07