음성인식/텍스트요약 AI 파이썬 코드를 공개합니다.





2024년 3월 7일 목요일 밤 10시 


음성인식, 텍스트요약 AI 를 실생활에 사용하는 방법을 주제로


유튜브 라이브를 진행했습니다.


주제를 요약하면 아래와 같습니다.

스마트폰의 음성파일 → 구글드라이브 업로드 → 음성파일을 텍스트로 변환 →  텍스트원문을 3줄 요약 →  구글드라이브 저장 + 내 텔레그램 전송


위 과정을 좀 더 보기쉽게 그려봤습니다(보기 쉽지 않은 것 같기도..)


좀 더 쉽게 요약하면 이렇습니다.


위 과정에 사용된 파이썬 코드를 공개합니다.


각 줄마다 잘 모르는 부분이 있다면 GPT에게 물어보거나 단톡방으로 오셔서 질문해주세요

윤자동 단톡방 입장하기


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
from pytube import YouTube
import os
import whisper
import requests
import google.generativeai as genai
 
# 1. 통화녹음 파일을 읽어서 텍스트로 변환(whisper)
# whisper 사용방법 : https://github.com/openai/whisper
음성파일경로 = 'C:\Yunjadong\통화녹음.m4a'
원문텍스트 = whisper.load_model('large').transcribe(음성파일경로)['text']
print('원문\n' + 원문텍스트)
 
# 2. 텍스트원본 3줄 요약(gemini)
# API KEY 발급받기 : https://aistudio.google.com/app/u/2/apikey
# API 사용방법 : https://ai.google.dev/tutorials/python_quickstart?authuser=2
genai.configure(api_key='AIzaSyC8dpbtAaNBgW7KzAjEVeEpvjpoSXndEpI')
prompt = '다음 내용을 3줄로 요약해줘 : \n'+ 원문텍스트
요약텍스트 = genai.GenerativeModel('gemini-pro').generate_content(prompt).text
print(요약텍스트)
 
# 3. 텍스트 파일 저장
결과텍스트 = f"[원문]\n{원문텍스트}\n\n[요약]\n{요약텍스트}"
with open('내용.txt', 'w', encoding='utf-8') as f:
    f.write(결과텍스트)
 
# 4. 텔레그램 전송
bot_token = '6845123761:AAFlpGAiYMcQn5dOxKMNhxIh-CdE0jctb6U'
chat_id = '-4123901237'
message = 결과텍스트
url = f'https://api.telegram.org/bot{bot_token}/sendMessage'
params = {'chat_id': chat_id, 'text': message}
response = requests.post(url, params=params)
 
# 보너스. 유튜브 음성 다운로드
url = 'https://www.youtube.com/watch?v=91Zkp1q19f0'
yt = YouTube(url)
mp4경로 = YouTube(url).streams.filter(only_audio=True).first().download()
mp3경로 = mp4경로.split(".")[0]+".mp3"
os.rename(mp4경로, mp3경로)from pytube import YouTube
import os
import whisper
import requests
import google.generativeai as genai
 
# 1. 통화녹음 파일을 읽어서 텍스트로 변환(whisper)
# whisper 사용방법 : https://github.com/openai/whisper
음성파일경로 = 'C:\Yunjadong\통화녹음.m4a'
원문텍스트 = whisper.load_model('large').transcribe(음성파일경로)['text']
print('원문\n' + 원문텍스트)
 
# 2. 텍스트원본 3줄 요약(gemini)
# API KEY 발급받기 : https://aistudio.google.com/app/u/2/apikey
# API 사용방법 : https://ai.google.dev/tutorials/python_quickstart?authuser=2
genai.configure(api_key='AIzaSyC8dpbtAaNBgW7KzAjEVeEpvjpoSXndEpI')
prompt = '다음 내용을 3줄로 요약해줘 : \n'+ 원문텍스트
요약텍스트 = genai.GenerativeModel('gemini-pro').generate_content(prompt).text
print(요약텍스트)
 
# 3. 텍스트 파일 저장
결과텍스트 = f"[원문]\n{원문텍스트}\n\n[요약]\n{요약텍스트}"
with open('내용.txt', 'w', encoding='utf-8') as f:
    f.write(결과텍스트)
 
# 4. 텔레그램 전송
bot_token = '6845123761:AAFlpGAiYMcQn5dOxKMNhxIh-CdE0jctb6U'
chat_id = '-4123901237'
message = 결과텍스트
url = f'https://api.telegram.org/bot{bot_token}/sendMessage'
params = {'chat_id': chat_id, 'text': message}
response = requests.post(url, params=params)
 
# 보너스. 유튜브 음성 다운로드
url = 'https://www.youtube.com/watch?v=91Zkp1q19f0'
yt = YouTube(url)
mp4경로 = YouTube(url).streams.filter(only_audio=True).first().download()
mp3경로 = mp4경로.split(".")[0]+".mp3"
os.rename(mp4경로, mp3경로)
 
 
cs






음성인식, 텍스트 요약 등을 AI로 활용하는 유튜브 라이브 영상입니다.

라이브 영상 다시보기는 멤버십만 가능한 점 참고 부탁드립니다.


혼자 공부하다 보면 막히는 순간들이 많을 수 있습니다.

단톡방에서 같이 질문하고 답변하면서 함께 성장합시다!

윤자동 단톡방 입장하기