Pipedream 및 Python을 사용하여 팟캐스트 에피소드를 자동으로 기록
10597 단어 pipedreamdeepgramautomationpython
우리는 Python, JavaScript, Go 등으로 코드를 작성할 수 있도록 하면서 많은 서비스와 통합되는 온라인 워크플로우 빌더인 Pipedream을 사용할 것입니다. 각 워크플로에는 워크플로를 시작하는 하나의 트리거와 그 결과로 발생할 수 있는 여러 작업이 있습니다.
시작하기 전에 Pipedream account , Google 계정 및 free Deepgram API Key 이 필요합니다.
이 프로젝트에 대해 비어 있는 새 Pipedream 워크플로를 만듭니다.
새 에피소드가 출시되면 워크플로우 트리거
모든 Podcast는 새 에피소드가 있을 때마다 업데이트되는 공개 RSS 피드를 통해 게시됩니다. Pipedream에는 새 항목이 추가되었는지 15분마다 확인하는 트리거가 내장되어 있습니다.
모든 팟캐스트 RSS 피드에서 'RSS 피드의 새 항목' 트리거를 사용하십시오. 새 Deepgram 팟캐스트Voice of the Future용인
https://feeds.buzzsprout.com/1976304.rss
를 사용할 수 있습니다.소스 만들기를 클릭하고 첫 번째 이벤트를 선택합니다. 이것은 하나의 팟캐스트 에피소드를 대표합니다.
선택하면 에피소드의 메타데이터 및 직접 미디어 링크를 포함하여 해당 RSS 피드 항목에 포함된 모든 데이터를 볼 수 있습니다. 이 모든 데이터는 워크플로 내의 향후 단계에서 사용할 수 있습니다.
Python으로 팟캐스트 녹음
워크플로가 트리거될 때마다 실행될 새 단계(이제 '작업')를 만듭니다. Python -> Python 코드 실행을 선택합니다. 구성 섹션에서 앱 추가를 클릭하고 Deepgram을 선택합니다. 계속하기 전에 API 키를 삽입하고 저장하십시오.
def handler(pd: "pipedream"):
를 제외한 모든 코드를 삭제합니다. 이 코드는 워크플로에서 이 단계에 도달했을 때 실행될 필수 함수 시그니처입니다. 이 줄 아래에 코드를 들여쓰기했는지 확인하세요. 그런 다음 트리거에서 URL을 가져오고 구성된 앱에서 Deepgram API 키를 가져옵니다.url = pd.steps["trigger"]["event"]["enclosures"][0]["url"]
token = pd.inputs["deepgram"]["$auth"]['api_key']
위에서 언급했듯이 Pipedream에는 Python 단계의 기본 함수에 대한 서명
def handler(pd: "pipedream"):
이 필요합니다. 이 때문에 비동기 Deepgram Python SDK는 이 컨텍스트에서 사용할 수 없습니다. 대신 requests
라이브러리를 사용하여 API 요청을 직접 수행합니다.코드 맨 위에 다음 줄을 추가합니다.
import requests
그런 다음
handler
함수 하단에서 Deepgram API 요청을 준비합니다.listen = "https://api.deepgram.com/v1/listen?tier=enhanced&punctuate=true&diarize=true¶graphs=true"
headers = { "Authorization": f"Token {token}" }
json = { "url": url }
이 요청은 Deepgram의 enhanced tier , diarization (speaker detection) 을 사용하고 punctuation 및 paragraphs 을 사용하여 출력 형식을 지정합니다.
이제 설정했으므로 요청하고 형식화된 응답을 추출하고 값을 반환합니다.
r = requests.post(listen, json=json, headers=headers)
response = r.json()
transcript = response['results']['channels'][0]['alternatives'][0]['paragraphs']['transcript']
return transcript
최종 코드:
import requests
def handler(pd: "pipedream"):
url = pd.steps["trigger"]["event"]["enclosures"][0]["url"]
token = pd.inputs["deepgram"]["$auth"]['api_key']
listen = "https://api.deepgram.com/v1/listen?tier=enhanced&punctuate=true&diarize=true¶graphs=true"
headers = { "Authorization": f"Token {token}" }
json = { "url": url }
r = requests.post(listen, json=json, headers=headers)
response = r.json()
transcript = response['results']['channels'][0]['alternatives'][0]['paragraphs']['transcript']
return transcript
테스트를 클릭하면 트리거의 URL이 Deepgram으로 전송되고 반환된 값이 Pipedream에 표시됩니다.
성적 증명서와 함께 이메일 보내기
이제 성적표가 자동으로 생성되었으므로 Pipedream의 통합을 통해 또는 다른 Python 단계를 추가하여 무엇이든 할 수 있습니다. 이 게시물의 시작 부분에서 언급했듯이 이 프로젝트의 결과는 팟캐스트 콘텐츠가 포함된 이메일을 자신에게 보내는 것입니다. 제목 줄에 변수를 포함할 수도 있습니다.
자신에게 이메일 보내기 단계를 추가하고 제목 줄을 다음과 같이 설정합니다.
New episode of {{steps.trigger.event.meta.title}}: {{steps.trigger.event.title}}
텍스트를 다음으로 설정합니다.
Episode description: {{steps.trigger.event.description}}\n\n{{steps.python.$return_value}}
다음과 같아야 합니다.
단계를 테스트하면 몇 초 안에 이메일을 받을 수 있습니다. 워크플로를 배포하고 새로운 팟캐스트 에피소드를 즐겨보세요. 이 프로젝트에 대한 질문이나 Deepgram과 관련된 다른 것이 있으면 문의하십시오!
Reference
이 문제에 관하여(Pipedream 및 Python을 사용하여 팟캐스트 에피소드를 자동으로 기록), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/deepgram/automatically-transcribing-podcast-episodes-with-pipedream-and-python-n54텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)