mirror of
https://github.com/HiMeditator/auto-caption.git
synced 2026-02-11 10:04:47 +08:00
feat(control): 重构项目,增加字幕引擎配置
This commit is contained in:
@@ -1,23 +1,27 @@
|
||||
from sysaudio.win import LoopbackStream, mergeStreamChannels
|
||||
from audio2text.gummy import GummyTranslator
|
||||
import sys
|
||||
import argparse
|
||||
|
||||
def main():
|
||||
def convert_audio_to_text(s_lang, t_lang, audio_source):
|
||||
sys.stdout.reconfigure(line_buffering=True)
|
||||
loopback = LoopbackStream()
|
||||
loopback.openStream()
|
||||
|
||||
gummy = GummyTranslator(loopback.RATE, "zh", "en")
|
||||
gummy = GummyTranslator(loopback.RATE, s_lang, t_lang)
|
||||
gummy.translator.start()
|
||||
|
||||
for _ in range(0, 400):
|
||||
while True:
|
||||
if not loopback.stream: continue
|
||||
data = loopback.stream.read(loopback.CHUNK)
|
||||
data = mergeStreamChannels(data, loopback.CHANNELS)
|
||||
gummy.translator.send_audio_frame(data)
|
||||
|
||||
gummy.translator.stop()
|
||||
loopback.closeStream()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
parser = argparse.ArgumentParser(description='Convert system audio stream to text')
|
||||
parser.add_argument('-s', '--s_lang', default='en', help='Source language code')
|
||||
parser.add_argument('-t', '--t_lang', default='zh', help='Target language code')
|
||||
parser.add_argument('-a', '--audio', default=0, help='Audio stream source: 0 for output audio stream, 1 for input audio stream')
|
||||
args = parser.parse_args()
|
||||
convert_audio_to_text(args.s_lang, args.t_lang, args.audio)
|
||||
Reference in New Issue
Block a user