fastperson / utils.py
kwmr's picture
upload
8ad5dc2
raw
history blame
No virus
1.71 kB
import copy
import subprocess
from pytube import YouTube
from scipy.signal import resample
import numpy as np
import pytsmod as tsm
from moviepy.audio.AudioClip import AudioArrayClip
from moviepy.editor import *
from moviepy.video.fx.speedx import speedx
from sentence_transformers import SentenceTransformer, util
from transformers import pipeline, BertTokenizer, BertForNextSentencePrediction
import torch
import whisper
subprocess.run(['apt-get', '-y', 'install', 'imagemagick'])
transcriber = whisper.load_model("medium")
sentence_transformer = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')
tokenizer = BertTokenizer.from_pretrained("bert-base-cased")
next_sentence_predict = BertForNextSentencePrediction.from_pretrained("bert-base-cased").eval()
summarizer = pipeline("summarization", model="philschmid/bart-large-cnn-samsum")
def get_youtube(video_url):
# YouTubeの動画をダウンロード
print("Start download video")
yt = YouTube(video_url)
abs_video_path = yt.streams.filter(progressive=True, file_extension='mp4').order_by('resolution').desc().first().download(filename='download.mp4', output_path='movies/')
print("Success download video")
print(abs_video_path)
return abs_video_path
def two_chnnel_to_one_channel(sample):
# 音声を2チャンネルから1チャンネルに変換
left_channel = sample[:, 0]
right_channel = sample[:, 1]
mono_sample = (left_channel + right_channel) / 2
return mono_sample
def convert_sample_rate(data, original_sr, target_sr):
# 音声データのサンプリング周波数を変更
target_length = int(len(data) * target_sr / original_sr)
return resample(data, target_length)