파워포인트 강의 음성파일 자동 삽입 완벽 가이드 – 1 Top 오픈소스 Supertonic TTS 활용

Supertonic TTS로 만든 음성파일을 파워포인트 각 슬라이드에 자동으로 삽입하여 슬라이드 쇼에서 자동 재생되게 하는 완벽한 방법을 자세히 알려드립니다. 발표자는 실시간으로 보충 설명을 자유롭게 하고, 청중은 장표를 보면서 자연스러운 TTS 음성과 함께 교육을 받을 수 있는 전문 강의 시스템을 구축할 수 있습니다.

특히 온라인 강의, 기업 교육, 학원 강좌처럼 강의 수가 많아지면 수동으로 하나씩 오디오를 넣는 작업이 매우 번거로워집니다. 이때 VBA 매크로와 Python 자동화 도구를 활용하면 제작 시간을 1/10로 줄일 수 있어 강의 제작 효율이 크게 올라갑니다. Supertonic은 로컬에서 동작하는 고품질 한국어 TTS라 음성 품질도 뛰어나고, Python 기반이기 때문에 python-pptx와 완벽하게 연동됩니다.

파워포인트 강의 음성파일 자동 삽입 01

1. VBA 매크로로 기존 PPT에 음성파일 한 번에 자동 삽입하기

이미 완성된 파워포인트 파일이 있다면 VBA 매크로가 가장 빠르고 간단한 방법입니다. 개발자 탭을 활성화한 후 모듈에 코드를 붙여넣고 실행하기만 하면 됩니다. slide_01.mp3, slide_02.mp3처럼 파일명을 규칙적으로 맞춰두면 모든 슬라이드에 음성파일이 자동 삽입되고, ‘시작: 자동으로’, ‘쇼 중 숨기기’, ‘자동 재생’ 설정까지 한 번에 완료됩니다.

이 방법의 장점은 기존 PPT를 그대로 사용하면서도 오디오 아이콘이 화면에 보이지 않고, 다음 장표로 넘길 때 이전 음성이 자동으로 멈추고 새 음성이 바로 시작된다는 점입니다. PowerPoint만으로 해결할 수 있어 별도 프로그램 설치가 필요 없고, 초보자도 5분 안에 적용 가능합니다. 강의가 20~30개 정도라면 이 방법만으로도 충분히 시스템화할 수 있습니다. 실제로 많은 강사들이 이 VBA 방식을 활용해 매번 수동 삽입의 피로에서 벗어나고 있습니다.

2. Python + Supertonic TTS로 PPT 전체를 처음부터 자동 생성하기

Supertonic이 Python 기반 라이브러리이기 때문에 python-pptx와 결합하면 더욱 강력해집니다. 한 번의 스크립트 실행으로 슬라이드 생성, 제목·본문 텍스트 입력, Supertonic TTS 음성 파일 생성, 오디오 자동 삽입까지 모두 처리할 수 있습니다.


강의 내용이 많을 때(50개, 100개 이상) 특히 유용하며, Excel이나 Markdown에 미리 정리한 내용을 읽어와 PPT를 완성합니다. 제작 후 VBA 매크로를 한 번만 추가 실행하면 자동 재생 설정이 끝나 완벽한 강의 파일이 만들어집니다. 이 방식은 반복 작업을 최소화해 제작 시간을 dramatically 줄여줍니다.

아래는 실제로 사용할 수 있는 Python 스크립트 예시 코드입니다. (pip install python-pptx supertonic 먼저 실행)

from supertonic import TTS
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.enum.text import PP_ALIGN
import os

# Supertonic TTS 초기화
tts = TTS(auto_download=True)
style = tts.get_voice_style(voice_name="M1")   # 원하는 목소리 선택 (M1~M5 테스트)

# 강의 내용 (슬라이드별 데이터)
slides_data = [
    {"title": "강의 1: 서론", "content": "안녕하세요. 오늘 강의는 ...", "script": "안녕하세요. 오늘은 파워포인트 자동화에 대해 알아보겠습니다."},
    {"title": "강의 2: 본론", "content": "첫 번째 포인트는 ...", "script": "첫 번째로 중요한 내용은 다음과 같습니다."},
    # 더 많은 슬라이드 추가 가능
]

audio_folder = "audio_files"
os.makedirs(audio_folder, exist_ok=True)

prs = Presentation()
prs.slide_width = Inches(16)
prs.slide_height = Inches(9)

for idx, data in enumerate(slides_data, 1):
    slide_layout = prs.slide_layouts[1]
    slide = prs.slides.add_slide(slide_layout)

    # 제목 삽입
    title = slide.shapes.title
    title.text = data["title"]

    # 본문 삽입
    content = slide.placeholders[1]
    tf = content.text_frame
    tf.text = data["content"]
    p = tf.paragraphs[0]
    p.font.size = Pt(24)

    # TTS 음성 생성
    audio_path = f"{audio_folder}/slide_{idx:02d}.wav"
    wav, _ = tts.synthesize(
        text=data["script"],
        lang="ko",
        voice_style=style,
        total_steps=8
    )
    wav.save(audio_path)

    # 오디오 삽입 (화면 밖으로 배치)
    left = Inches(-2)
    top = Inches(-2)
    slide.shapes.add_movie(audio_path, left, top, Inches(1), Inches(1), mime_type='audio/wav')

prs.save("자동_강의_완성.pptx")
print("✅ PPT 완성! audio_files 폴더에 음성 파일도 저장되었습니다.")

이 코드를 실행하면 Supertonic TTS 음성이 자동 생성되고 PPT에 바로 삽입됩니다. 코드가 조금 복잡해 보일 수 있지만, slides_data 부분만 본인 강의 내용으로 바꾸면 바로 사용할 수 있습니다.

파워포인트 강의 음성파일 자동 삽입 02

추천 제작 워크플로우와 실전 팁

  1. Supertonic TTS로 각 슬라이드별 음성 스크립트를 미리 생성하기 (한국어 음질이 뛰어나고 로컬에서 빠르게 처리)
  2. 위 Python 스크립트로 PPT 기본 구조와 오디오 파일 자동 만들기
  3. VBA 매크로 실행으로 자동 재생 + 숨기기 설정 완료
  4. 슬라이드 쇼 테스트 후 Zoom이나 오프라인 프로젝터에서 실제 강의 진행

이 조합을 사용하면 50개 이상의 강의도 10~20분 안에 완성할 수 있습니다. 추가 팁으로는 음성 파일을 WAV나 MP3 형식으로 저장하고, 파일명을 숫자 2자리로 통일하면 오류가 거의 없습니다. 발표 중 실시간 보충 설명을 할 때도 TTS 음성과 당신의 목소리가 자연스럽게 겹쳐서 청중에게 더 풍부한 학습 경험을 제공합니다.

주의할 점은 python-pptx로 오디오 삽입 후 반드시 VBA로 자동 재생 설정을 마무리해야 한다는 것입니다. 이렇게 하면 오프라인 강의실, 온라인 Zoom 화면 공유 모두에서 안정적으로 동작합니다. 처음 설치할 때는 pip 명령어만 잘 입력하면 되고, Supertonic 모델 다운로드는 처음 한 번만 진행됩니다.

파워포인트 강의 음성파일 자동 삽입 03

파워포인트 강의 음성파일 자동 삽입 시스템을 활용하면 교육 콘텐츠 제작이 훨씬 효율적이고 전문적으로 변합니다. 이제 수동 작업에서 벗어나 자동화된 강의 제작을 시작해보세요.
아래는 VBA 전체 코드이니 참조하세요.

Sub InsertAllAudios()
    Dim oSlide As Slide
    Dim sAudioPath As String
    Dim i As Integer
    
    ' ←←← 여기만 수정하세요! (음성 파일이 있는 폴더 경로)
    sAudioPath = "C:\MyLectures\Audio\"   ' 마지막에 \ 꼭 붙이세요
    
    For i = 1 To ActivePresentation.Slides.Count
        Dim fileName As String
        fileName = "slide_" & Format(i, "00") & ".mp3"   ' slide_01.mp3, slide_02.mp3 ...
        
        If Dir(sAudioPath & fileName) <> "" Then
            Call InsertAudio(sAudioPath & fileName, ActivePresentation.Slides(i))
            Debug.Print i & "번 슬라이드에 " & fileName & " 삽입 완료"
        Else
            MsgBox i & "번 슬라이드 음성 파일이 없습니다: " & fileName, vbCritical
        End If
    Next i
    
    MsgBox "모든 슬라이드에 음성 자동 삽입 완료!", vbInformation
End Sub

Sub InsertAudio(Track As String, oSlide As Slide)
    Dim oShp As Shape
    Dim oEffect As Effect
    
    ' 오디오 삽입 (좌표는 화면 밖으로 살짝 넣어서 안 보이게)
    Set oShp = oSlide.Shapes.AddMediaObject2(Track, True, False, -100, -100)
    
    ' 자동 재생 설정
    Set oEffect = oSlide.TimeLine.MainSequence.AddEffect(oShp, msoAnimEffectMediaPlay, , msoAnimTriggerWithPrevious)
    oEffect.MoveTo 1
    
    ' 슬라이드 쇼 중 숨기기
    With oEffect
        .EffectInformation.PlaySettings.HideWhileNotPlaying = True
    End With
End Sub

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注