๊ด€๋ฆฌ ๋ฉ”๋‰ด

Wookang makes AI

[Whisper-WebUI] ์ž๋™ ์ž๋ง‰ ์ƒ์„ฑ ๋ฐ ์ถ”์ถœ & ๋ฒˆ์—ญ๊นŒ์ง€ ํ•œ๋ฒˆ์— ๋ณธ๋ฌธ

AI ์Œ์„ฑ

[Whisper-WebUI] ์ž๋™ ์ž๋ง‰ ์ƒ์„ฑ ๋ฐ ์ถ”์ถœ & ๋ฒˆ์—ญ๊นŒ์ง€ ํ•œ๋ฒˆ์—

ํ‘ธ๋ฅธ๊นƒ๋ฐœ๐Ÿณ๏ธ 2023. 6. 27. 08:14

* Whisper-WebUI ์„ค์น˜ ๋ฐ ์‹คํ–‰

- Whisper-webui๋Š” openAI์˜ whisper(https://github.com/openai/whisper)๋ฅผ ์“ฐ๊ธฐ ์‰ฝ๋„๋ก webUI๋กœ wrappingํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค.

- ๊ต‰์žฅํžˆ ํƒ์›”ํ•œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•œ๋‹ค. ์ž๋ง‰์ด ์—†๋Š” ์˜ํ™”๋‚˜ ๋‚ด์šฉ์ด ๊ถ๊ธˆํ–ˆ๋˜ ์ผ๋ณธ ์•ผ๋™, ์™ธ๊ตญ ์œ ํŠœ๋ธŒ ์˜์ƒ๋“ค์˜ ์ž๋ง‰์„ ์˜์–ด๋‚˜ ์ผ์–ด๋กœ ๋จผ์ € ์ƒ์„ฑํ•œ ํ›„, ์ด๊ฑธ ๋‹ค์‹œ ํ•œ๊ตญ์–ด๋กœ ๋ฐ”๊พธ๋ฉด ๋œ๋‹ค - ๋ฐ”๋กœ ํ•œ๊ธ€๋กœ ์ƒ์„ฑ๋„ ๋˜์ง€๋งŒ ๋ช‡๋ฒˆํ•ด๋ณด๋‹ˆ ํ€„๋Ÿฌํ‹ฐ๊ฐ€ ๋–จ์–ด์กŒ๋‹ค.

- max_length๊ฐ€ 200์œผ๋กœ ์ œํ•œ๋˜์–ด ์žˆ์–ด์„œ ํ•œ๋ฒˆ์— ์žฅ๋ฌธ์˜ ๊ธ€์„ ๋ฒˆ์—ญํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๋ฒˆ์—ญ ๋ชจ๋ธ์€ facebook/nllb-200์ด๋‹ค.

- ํ•œ๋ฒˆ์— ๋Œ€๋Ÿ‰์˜ ๋ฒˆ์—ญ์„ ํ•˜๊ธฐ์œ„ํ•ด์„  ๋”ฐ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“ค์–ด 200์ด๋‚ด๋กœ ๋ฌธ์žฅ์„ ๋Š์–ด์„œ ์ „๋‹ฌํ•ด์•ผ ํ•œ๋‹ค. ์ด๊ฑด ๋‹ค์Œ์— ๋งŒ๋“ค์–ด ๊ณต์œ ํ•  ๊ณ„ํš์ด๋‹ค.

 

1. ์ฝ”๋ฑ ์„ค์น˜

2. ์„ค์น˜

  • git clone https://github.com/jhj0517/Whisper-WebUI.git
  • ์•ˆ์— ๋“ค์–ด๊ฐ€์„œ ์œ„์—์„œ ์••์ถ• ํ‘ผ ์ฝ”๋ฑ ํด๋” ์ „์ฒด๋ฅผ ๋ถ™์—ฌ๋„ฃ๊ณ  ํ•ด๋‹น ๊ฒฝ๋กœ๋ฅผ path ๊ฑธ์–ด์ค€๋‹ค

3. install.bat์‹คํ–‰ - ํ•œ์ฐธ ๋ฐ›๋Š”๋‹ค
4. start-webui.bat ์‹คํ–‰

 

* ์‹คํ–‰

1. ๋จผ์ € Youtube ํƒญ์œผ๋กœ ๊ฐ€์„œ ์ฃผ์†Œ๋ฅผ ๋ถ™์—ฌ๋„ฃ๊ณ  generateํ•ด๋ณด์ž

2. ํ˜„์žฌ(23.06.26) ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋œฌ๋‹ค.

pytube.exceptions.RegexMatchError: get_throttling_function_name: could not find match for multiple

3. ํ•ด๊ฒฐ์„ ์œ„ํ•ด ๊ตฌ๊ธ€๋ง์„ ํ•œ๋‹ค.

https://github.com/pytube/pytube/issues/1684

 

[BUG] FIX · Issue #1684 · pytube/pytube

fully working code pytube https://github.com/oncename/pytube/tree/master fix cipher.py function_patterns = [ # https://github.com/ytdl-org/youtube-dl/issues/29326#issuecomment-865985377 # https://g...

github.com

์ดํ‹€์ „์— ๋‚˜์˜จ ํ•ด๊ฒฐ์ฑ…์ด๋‹ค. ์œ ํŠœ๋ธŒ ํŒจํ„ด๋“ค์ด ์ž์ฃผ ๋ฐ”๋€Œ์–ด์„œ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ฏธ์ณ ๋ชป๋”ฐ๋ผ๊ฐ€๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

function_patterns = [
    # https://github.com/ytdl-org/youtube-dl/issues/29326#issuecomment-865985377
    # https://github.com/yt-dlp/yt-dlp/commit/48416bc4a8f1d5ff07d5977659cb8ece7640dcd8
    # var Bpa = [iha];
    # ...
    # a.C && (b = a.get("n")) && (b = Bpa[0](b), a.set("n", b),
    # Bpa.length || iha("")) }};
    # In the above case, `iha` is the relevant function name
    r'a\.[a-zA-Z]\s*&&\s*\([a-z]\s*=\s*a\.get\("n"\)\)\s*&&.*?\|\|\s*([a-z]+)',
    r'\([a-z]\s*=\s*([a-zA-Z0-9$]+)(\[\d+\])?\([a-z]\)',
]

์•„๋ž˜์™€ ๊ฐ™์ด Whisper-WebUI\venv\Lib\site-packages\pytube ํด๋”๋กœ ์ด๋™ํ›„ cipher.py ํŒŒ์ผ์„ ์—ฐํ›„

๊ธฐ์กด์— ์žˆ๋˜ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ

r'a\.[a-zA-Z]\s*&&\s*\([a-z]\s*=\s*a\.get\("n"\)\)\s*&&\s*'

์ƒˆ๋กœ์šด ์•„๋ž˜ ์ฝ”๋“œ๋กœ ๋ฐ”๊ฟ” ๋ถ™์—ฌ๋„ฃ๊ธฐํ•˜์ž.

r'a\.[a-zA-Z]\s*&&\s*\([a-z]\s*=\s*a\.get\("n"\)\)\s*&&.*?\|\|\s*([a-z]+)',

์ด์ œ ์œ ํŠœ๋ธŒ ์ฃผ์†Œ๋ฅผ ๋‹ค์‹œ ๋„ฃ๊ณ  generateํ•˜๋ฉด ์˜ค๋ฅ˜์—†์ด ์ž˜๋œ๋‹ค.

 

'AI ์Œ์„ฑ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

xtts-webui๋กœ coqui ์„ค์น˜ํ•˜๊ธฐ  (0) 2024.07.01
coqui tts(xtts) v2 ์‚ฌ์šฉ๊ธฐ ์ •๋ฆฌ  (0) 2024.05.17
xtts๊ฐ€ ํ›จ์”ฌ ์ข‹๋‹ค  (0) 2024.05.11
Open Voice V1 ๋Œ๋ฆฌ๊ธฐ  (0) 2024.05.10
Comments