껍질 웹 UI
이 애플리케이션은 Suno AI의 껍질을 사용하여 텍스트 음성 연설의 생성을 용이하게하도록 설계된 Python Flask 기반 웹 UI입니다. 음성 피치, 속도 및 기타 매개 변수를 수정하는 기능을 포함하여 다양한 사용자 정의 옵션을 제공합니다.
스크린 샷
설치
- 껍질 저장소의 지침에 따라 껍질을 설치하십시오. 1A. 모델을 다운로드하기 전에 껍질을 실행하지 않은 경우 테스트를 실행하면 필요한 모델을 다운로드하고 캐시합니다 (주석 모델은 크기가 5GB 이상의 크기를 포함하여).
python -m bark --text "Let's get this party started!" --output_filename "party.wav"
- Bark가 실행되면
bark 설치 위치 내의 webui 라는 디렉토리 로이 리베르를 복제하십시오.
cd bark
git clone https://github.com/bradsec/barkwebui webui
app.py 및 bark_connector.py 에서 필요한 가져 오기를 충족하려면 요구 사항 .txt 파일에 언급 된 추가 Python 패키지를 설치하십시오. 껍질 설정 프로세스에서 이미 설치 한 공유 수입이 있습니다. 수입을 설치하기 전에 해당되는 경우 껍질에 사용하는 Python Venv 또는 Conda/Miniconda 환경이 활성화됩니다.-
webui 폴더 내에서 python barkwebui_server.py 실행하여 Flask Web Server 응용 프로그램을 시작하면 유사한 출력이 표시되어야합니다.
* Serving Flask app 'barkwebui_server'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
- 터미널 창에 표시된대로 브라우저 주소를 통해 웹 응용 프로그램에 액세스하십시오.
구조
barkwebui_server.py 플라스크 웹 서버 기능을 제공하고 웹 인터페이스에서 정보를 수신하고 반환하고 barkwebui_connector.py 로 전달합니다. 또한 JSON 데이트 세트의 항목에서 쓰기 및 삭제를 처리합니다.
barkwebui_connector.py 텍스트를 Bark 응용 프로그램에 전달하기 전에 텍스트 입력을 해체합니다. 또한 속도, 피치, 노이즈 감소 및 선택한 경우 침묵을 제거하는 것과 같이 선택된 오디오 효과를 적용합니다. 그런 다음 고유 한 파일 이름과 함께 .wav static/output 디렉토리에 씁니다.
templates/index.html 앱에 사용되는 유일한 HTML 파일입니다. static 디렉토리에서 CSS 및 JavaScript와 같은 다른 파일을 참조합니다.
static/js 이 디렉토리에는 index.html 템플릿 페이지에 대한 2 개의 javaScript가 포함되어 있습니다.
-
barkwebui.js 대부분의 페이지 기능과 socket.io를 사용하는 app.py 간의 링크를 제공합니다. -
populate.js index.html에서 선택 드롭 다운 옵션을 채 웁니다. - 어둡고 가벼운 테마 스위칭을위한
theme.js .
static/output 에는 완성 된 WAV 오디오 파일이 포함되어 있습니다.
static/json 에는 생성 된 오디오 파일에 대한 정보가 포함 된 barkwebui.json 이 포함되어 있습니다.
텍스트 온도
이 매개 변수는 모델이 텍스트에서 음성을 생성하는 방식에 영향을 미칩니다. 텍스트 온도 값이 높을수록 모델의 출력이 더 무작위로 만들어지는 반면, 텍스트 온도 값이 낮 으면 모델의 출력이 더 결정적입니다. 다시 말해, 텍스트 온도가 높은 모델은 주어진 텍스트 프롬프트에서 비정상적이거나 예상치 못한 음성을 생성 할 가능성이 더 높습니다. 반면, 텍스트 온도가 낮은 모델은 가장 가능성이 높은 출력과 밀접하게 고수 할 가능성이 높습니다. 파형 온도
이 매개 변수는 모델이 최종 오디오 파형을 생성하는 방법에 영향을 미칩니다. 파형 온도 값이 높을수록 오디오 출력에 더 많은 임의성이 도입되어 더 특이한 사운드 나 음성 변조가 발생할 수 있습니다. 반면에 낮은 파형 온도는 오디오 출력을보다 예측 가능하고 일관성있게 만듭니다. 소음 감소 / 소음 감소 (NR)
배경 노이즈를 줄이십시오 (AI 강화 청소기만큼 좋지 않으며 동일한 설정에서도 각 나무 껍질 생성 음성의 무작위성을 감안할 때 오디오에 영향을 미치기가 어렵습니다. 에코 잉 또는 AI 환각도 제거 할 수 없습니다). Code ref (bark_connector.py) : 'reduce_noise'의 값이 사실이라면 NoiserEduce 라이브러리를 사용하여 생성 된 오디오에서 노이즈 감소를 유발합니다. READE_NOISE는 오디오 데이터와 샘플 속도를 매개 변수로 가져와 노이즈가 줄어든 오디오를 반환합니다. READE_NOISE가 False 인 경우 노이즈 감소가 적용되지 않으며 원래 오디오가 사용됩니다. 침묵 제거 (RS)
연장 된 일시 정지 또는 침묵을 제거하십시오 (많이하지 않을 수 있습니다. Code Ref (bark_connector.py) : 'remove_silence'의 값이 사실이라면 VAD (음성 활동 감지)를 레벨 3으로 설정하여 공격적인 침묵 제거를 가능하게합니다. WebRTCVAD 라이브러리는 음성 활동 감지에 사용됩니다. remove_silence가 false 인 경우 VAD 레벨이 0으로 설정되므로 침묵 제거가 적용되지 않습니다. 샘플 속도는 WebRTCVAD 라이브러리와 협력하기 위해 24000에서 16000으로 줄여야했습니다. 오디오 속도 및 피치 조정
속도와 피치의 변경으로 인해 출력 오디오에서 상당한 양의 에코 및 리버브가 발생할 수 있습니다. 타사 AI 오디오 도구를 통해 오디오를 실행하면 Echo 또는 Reverb를 제거하는 데 도움이 될 수 있습니다. Librosa라는 라이브러리는 오디오 속도와 피치를 조작하는 데 사용됩니다. 오디오의 속도는``librosa.effects.time_stretch` function을 사용하여 조정되며, 이는 특정 요소로 오디오를 늘리거나 압축합니다. 속도 매개 변수가`generate_voice '함수로 전달 된 경우 1.0이 아닌 경우 (즉, 오디오의 속도를 변경해야 함) 오디오는 주어진 속도에 따라 시간이 걸립니다. 예를 들어, 속도가 2 인 경우 오디오의 지속 시간이 절반으로 줄어들어 두 배나 빠르게 재생됩니다. 오디오의 피치는`librosa.effects.pitch_shift` 함수를 사용하여 조정됩니다. 이 기능은 오디오의 피치를 특정 수의 반 단계만큼 이동시킵니다. 피치 매개 변수가 'generate_voice'함수로 전달 된 경우 (즉, 오디오의 피치를 변경해야 함) 오디오의 피치는 주어진 반 단계에 의해 이동됩니다. 예를 들어, 피치가 2 인 경우 오디오의 피치는 2 단계 만 증가합니다. 명확한 음성 및 오디오 결과
NR 또는 RS를 확인하고 Adobe Podcast Enhance 또는 기타 유사한 도구와 같은 AI-Enhanced 도구를 통해 실행되지 않고 생성하는 더 깨끗한 음성 및 더 나은 결과를 얻을 수 있습니다.