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 |