Categories: 'IT 인터넷'

업무 자동화 음성 텍스트로 변환하기 with n8n & STT

Warning: getimagesize(https://i2.wp.com/blog.kakaocdn.net/dna/dAqy6Z/btsOMrGZoS9/AAAAAAAAAAAAAAAAAAAAAPdcaKm8IgO29Gng7SLh2JYrxJ2Mg07MU3pNQBiTEiw0/img.jpg?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1767193199&allow_ip&allow_referer&signature=2mWuB8OPiLpDJbRhAH4t8ys4ZHk%3D&ssl=1): Failed to open stream: HTTP request failed! HTTP/1.1 404 File Not Found in /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/components/featured-image/featured-image.php on line 64 Call Stack: 0.0000 360704 1. {main}() /volume1/web/aboda_re/index.php:0 0.0000 361008 2. require('/volume1/web/aboda_re/wp-blog-header.php') /volume1/web/aboda_re/index.php:17 0.1828 8687768 3. require_once('/volume1/web/aboda_re/wp-includes/template-loader.php') /volume1/web/aboda_re/wp-blog-header.php:19 0.1828 8687768 4. do_action($hook_name = 'template_redirect') /volume1/web/aboda_re/wp-includes/template-loader.php:13 0.1828 8687984 5. WP_Hook->do_action($args = [0 => '']) /volume1/web/aboda_re/wp-includes/plugin.php:517 0.1828 8687984 6. WP_Hook->apply_filters($value = '', $args = [0 => '']) /volume1/web/aboda_re/wp-includes/class-wp-hook.php:348 0.1902 9192968 7. AMPforWP\AMPVendor\amp_render('') /volume1/web/aboda_re/wp-includes/class-wp-hook.php:324 0.4261 15060728 8. AMPforWP\AMPVendor\AMP_Post_Template->load() /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/includes/vendor/amp/amp.php:95 0.4261 15060728 9. AMPforWP\AMPVendor\AMP_Post_Template->load_parts($templates = [0 => 'single']) /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/includes/vendor/amp/includes/class-amp-post-template.php:160 0.4261 15061048 10. AMPforWP\AMPVendor\AMP_Post_Template->verify_and_include($file = '/volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/templates/design-manager/swift/single.php', $template_type = 'single') /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/includes/vendor/amp/includes/class-amp-post-template.php:166 0.4278 15156176 11. include('/volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/templates/design-manager/swift/single.php') /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/includes/vendor/amp/includes/class-amp-post-template.php:501 0.4601 15348056 12. amp_featured_image() /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/templates/design-manager/swift/single.php:45 0.4601 15348056 13. ampforwp_framework_get_featured_image() /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/components/components-core.php:225 0.4671 15349208 14. getimagesize($filename = 'https://i2.wp.com/blog.kakaocdn.net/dna/dAqy6Z/btsOMrGZoS9/AAAAAAAAAAAAAAAAAAAAAPdcaKm8IgO29Gng7SLh2JYrxJ2Mg07MU3pNQBiTEiw0/img.jpg?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1767193199&allow_ip&allow_referer&signature=2mWuB8OPiLpDJbRhAH4t8ys4ZHk%3D&ssl=1') /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/components/featured-image/featured-image.php:64

업무 자동화 음성 텍스트로 변환하기 with n8n & STT   음성 파일을 자동으로 텍스트로 변환하는 STT(Speech-to-Text) 기능은 다양한 업무 자동화에 활용될 수 있습니다. 특히 n8n과 Google Drive를 연동하면, 파일 업로드 시 자동으로 음성을 텍스트로 변환하는 강력한 자동화 시스템을 구성할 수 있습니다. 본문에서는 STT 구현 방법과 함께, 이를 n8n으로 자동화하는 실제 워크플로우 구성 방법까지 안내드립니다.

업무 자동화 음성 텍스트로 변환하기 with n8n & STT  

업무 자동화 음성 텍스트로 변환하기 with n8n & STT

STT(Speech-to-Text)란 무엇인가요?

STT는 음성을 인식하여 텍스트로 변환하는 기술로, 음성 회의 기록, 고객 서비스 녹취 분석, 뉴스 스크립트 자동화 등 다양한 영역에서 활용됩니다. TTS(Text-to-Speech)의 반대 개념이며, AI 음성 인식 기술의 핵심 요소입니다.

STT 구현 방법 3가지

1. Google Cloud Speech-to-Text API

Google의 STT API는 고정밀 음성 인식 서비스를 제공합니다.

  • Google Cloud 프로젝트 생성 후, Speech-to-Text API 활성화
  • 서비스 계정 키(JSON) 발급 및 인증 설정
  • 다음과 같은 Python 코드로 음성 텍스트 변환
import os
from google.cloud import speech

os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "your_key.json"

def transcribe(audio_file):
    client = speech.SpeechClient()
    with open(audio_file, "rb") as f:
        content = f.read()

    audio = speech.RecognitionAudio(content=content)
    config = speech.RecognitionConfig(
        encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
        sample_rate_hertz=16000,
        language_code="ko-KR"
    )

    response = client.recognize(config=config, audio=audio)
    for result in response.results:
        print(result.alternatives[0].transcript)

2. SpeechRecognition 라이브러리

Python 기반 오픈소스 라이브러리로, Google Web Speech API 등을 사용할 수 있습니다.

  • 라이브러리 설치: pip install SpeechRecognition pydub
  • mp3 → wav 변환 후 인식 진행
from pydub import AudioSegment
import speech_recognition as sr

def convert_audio(input_file, output_file):
    AudioSegment.from_file(input_file).export(output_file, format="wav")

def recognize_speech(audio_file):
    r = sr.Recognizer()
    with sr.AudioFile(audio_file) as source:
        audio = r.record(source)
    print(r.recognize_google(audio, language="ko-KR"))

3. OpenAI Whisper 모델

Whisper는 다양한 언어를 지원하는 고성능 STT 모델로, 오픈소스로 제공됩니다.

  • 설치: pip install git+https://github.com/openai/whisper.git
  • 간단한 코드로 텍스트 변환
import whisper

model = whisper.load_model("base")
result = model.transcribe("sample_audio.mp3")
print(result["text"])

n8n으로 STT 자동화 워크플로우 만들기

n8n으로 STT 자동화 워크플로우 만들기

Google Drive에 음성 파일이 업로드되면, 자동으로 이를 감지하고 STT 변환 후 텍스트 결과를 저장하는 n8n 워크플로우 구성 방법입니다.

n8n을 아직 설치안하셨다면 해당 내용을 먼저 참고해보세요!

2024.12.15 – [제품추천/소프트웨어] – n8n 시놀로지 로컬 설치 쉽게 하는 방법

n8n 시놀로지 로컬 설치 쉽게 하는 방법

n8n 시놀로지 로컬 설치 쉽게 하는 방법 ㅣ n8n(n-eight-n으로 발음)은 전 세계의 모든 API 앱을 서로 연결하여 코드 한 줄 없이 데이터를 공유하고 조작할 수 있도록 도와줍니다. 사용하기 쉽고 사용

aboda.kr

 

1. Google Drive 트리거 설정

  • Google Drive Trigger 노드를 추가
  • 인증 설정 및 대상 폴더 지정
  • 파일 생성 이벤트 발생 시 워크플로우 실행

2. 파일 다운로드

  • HTTP Request 노드를 추가하여, Google Drive 트리거에서 받은 URL로 파일 다운로드

3. Execute Command로 Python 스크립트 실행

Python 코드를 n8n의 Execute Command 노드로 실행합니다. 아래 예시는 Google Cloud API를 활용한 변환 스크립트입니다.

import os
import requests
from google.cloud import speech

os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "your_key.json"

def download_file(url, local_path):
    with requests.get(url, stream=True) as r:
        r.raise_for_status()
        with open(local_path, 'wb') as f:
            for chunk in r.iter_content(8192):
                f.write(chunk)

def transcribe(audio_file):
    client = speech.SpeechClient()
    with open(audio_file, "rb") as f:
        content = f.read()
    audio = speech.RecognitionAudio(content=content)
    config = speech.RecognitionConfig(
        encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
        sample_rate_hertz=16000,
        language_code="ko-KR"
    )
    response = client.recognize(config=config, audio=audio)
    return "\n".join([r.alternatives[0].transcript for r in response.results])

url = "URL_FROM_N8N"
file_path = "audio.wav"
download_file(url, file_path)
print(transcribe(file_path))

4. 결과 저장 및 처리

  • Set 노드 또는 Google Sheets 노드를 활용해 변환된 텍스트 저장
  • Slack, 이메일, 노션 등으로 알림 전송도 가능

활용 예시

  • 회의 녹음 파일 자동 기록화
  • 전화 상담 녹취 분석 자동화
  • 교육 강의 자동 요약 및 저장

마무리

n8n과 STT 기능을 결합하면 음성 기반 데이터를 자동으로 분석하고 저장하는 자동화 시스템을 간단하게 구축할 수 있습니다. 코드 지식이 많지 않더라도, 위 워크플로우를 따라 하시면 누구나 구현할 수 있습니다.

관련 글
n8n자동화, 음성텍스트변환, STT자동화, 구글STTAPI, openaiWhisper, 음성인식워크플로우, GoogleDrive트리거, 자동음성기록, n8nExecuteCommand, STT스크립트

2025.06.20 – [부동산/자동화 프로젝트] – n8n Slack으로 자동 메시지 보내기 완전 쉬워요 (1/1)

n8n Slack으로 자동 메시지 보내기 완전 쉬워요 (1/1)

n8n Slack으로 자동 메시지 보내기 완전 쉬워요 , n8n을 활용한 자동화 워크플로우 시간입니다. 이번에는 Slack 채널로 알림 메시지를 자동 전송하는 방법을 소개드립니다. 환율 정보, 에러 발생 알림

aboda.kr

urjent

Share
Published by
urjent

Recent Posts

한글발전유공 포상 대상자 선정, 글꼴 개발과 세계화 공로

문화체육관광부는 천여 종의 글꼴을 개발하고 한국어를 세계에 알리는 데 헌신한 유공자들을 선정해 2026년 한글발전유공 포상을…

1시간 ago

로또 1등도 출근합니다 출연진 이정표, 신병4 이은 2위

로또 1등당첨자인 팀장이 다음 날에도 정장 차림으로 출근한다는 설정 자체가 시청자들의 이목을 집중시켰고, 결과적으로 티빙…

3시간 ago

산재보험 가입의무, 2026 최신 가이드와 혜택 총정리

2026년 10월 현재, 상시 근로자 1명 이상이나 하루 4시간 이상 노무를 제공하는 사업주는 산재보험에 무조건…

3시간 ago

지방세납부 방법, 연체료 막는 7가지 방식

지방세 납부는 기한 내 몰라서가 아니라 방법을 잘못 알면 연체료를 무겁게 지게 됩니다. 주택 보유자라면…

5시간 ago

조류인플루엔자 예방, 겨울철새 남하 시작 선제적 차단

가을이 깊어지면서 우리나라를 찾는 겨울철새의 이동이 본격적으로 시작되어 방역 당국에 비상이 걸렸습니다. 올해는 주요 철새도래지에서…

6시간 ago

지방규제합리화 경진대회 대행용역 제안서 평가 결과 발표

2026년 지방규제합리화 우수사례 경진대회 행사운영 대행용역 제안서 평가 결과가 행정안전부 공식 채널에 발표되었습니다. 이번 평가는…

9시간 ago