본문 바로가기

Python

(4)
[Python] 외부 프로세스 실행시키기 파이썬의 subprocess 모듈을 활용하면 파이썬 코드가 실행되는 런타임에서 외부 프로세스를 실행할 수 있다.subprocess.Popen파이썬으로 실행 파일을 실행시키는 방법은 subprocess.run()이나 os.system()과 같이 여러 가지가 있는데, subprocess.run()은 이미 실행 중인 파일을 끝낼 때까지 기다리는 특징으로 인해 여러 프로세스를 비동기로 실행하는 목적에 적합하지 않고, os.system()은 공식문서에서 프로세스 실행 목적으로는 subprocess를 더 추천한다.  여러 개의 외부 프로세스를 비동기적으로 실행하기 위해서는 subprocess.Popen이 추천된다. import subprocesssubprocess.Popen("실행파일 경로", "실행파일 옵션") ..
F5-TTS로 초간단&초경량 TTS 개발하기 이 포스트에서는 2024년 10월 공개된 F5-TTS를 이용하여 가정용 컴퓨터에서도 손쉽게 구동할 수 있는 TTS 프로그램을 개발해 본다.F5-TTSF5-TTS는 E2-TTS에서 속도를 개선한 모델이라고 한다. 모델에 대한 논문과 코드 리포를 공개하고 있고, 영어와 중국어가 pretrained 된 상태이기 때문에 영어와 중국어 목소리 생성에 바로 이용할 수 있다. 또한 이 모델은 GPU 자원을 상당히 적게 쓴다.  모델을 불러올 때 최대 VRAM 3gb를 잡아먹는데 대부분의 컴퓨터에서는 문제가 없을 수준이다. 논문 - https://arxiv.org/pdf/2410.06885 코드 - https://github.com/SWivid/F5-TTS GitHub - SWivid/F5-TTS: Official c..
나만의 STT 서버 만들기 feat. OpenAI Whisper 이 포스트에서는 OpenAI에서 제공하는 STT 모델인 whisper를 사용하여 FastAPI로 작성된 서버로 오디오 파일을 받아 STT 작업을 수행해 본다. Whisper Whisper는 Chat-GPT를 만든 OpenAI에서 오픈소스로 공개하는 STT 라이브러리이다. 오픈소스지만 OpenAI에서 만들어서 그런지 상당히 훌륭한 성능을 보여주고 있다.  https://github.com/rtzr/Awesome-Korean-Speech-Recognition GitHub - rtzr/Awesome-Korean-Speech-Recognition: 한국어 음성인식 STT API 리스트. 각 성능 벤치마크.한국어 음성인식 STT API 리스트. 각 성능 벤치마크. Contribute to rtzr/Awesome-..
FastAPI 서버와 다양한 서비스 비동기 처리하기 이 포스트에서는 하나의 앱에서 FastAPI와 다른 서비스를 같이 비동기로 처리하는 방법에 알아본다.예시 시나리오 센서를 제어하고 데이터를 처리하는 루틴이 있고 이 루틴에서 실시간으로 들어오는 데이터를 처리하여 FastAPI로 들어오는 클라이언트 요청에 대해 적절한 결과를 반환하려고 한다.첫 번째 시도 - 실패첫 시도는 다음과 같이 센서 처리와 API 서비스를 async 함수인 코루틴으로 만들어 __main__에서 asyncio.run()으로 묶어 실행하도록 했다. 하지만 결과는 기대와 달리 센서 코루틴이 먼저 호출되면 API가 호출되지 않았다. 무슨 문제가 있었을까?센서 서비스 로직 살펴보기일단 센서 코루틴은 완전하게 작동함을 파악할 수 있었다. 센서 코루틴은 실행하지만 API 코루틴은 실행되지 않는 ..