{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"!pip install pytube\n!pip install SpeechRecognition\n!pip install openai-whisper","metadata":{"_kg_hide-input":true,"_kg_hide-output":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nfrom pytube import YouTube\nfrom pydub import AudioSegment\nimport speech_recognition as sr\nfrom glob import glob\nimport whisper\nimport subprocess\nimport os","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_kg_hide-input":true,"_kg_hide-output":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"URL = 'https://www.youtube.com/watch?v=H14bBuluwB8'","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def download(link):\n    youtubeObject = YouTube(link)\n    youtubeObject = youtubeObject.streams.get_highest_resolution()\n    try:\n        youtubeObject.download()\n    except:\n        print(\"An error has occurred\")\n    print(\"Download is completed successfully\")","metadata":{"_kg_hide-input":true,"_kg_hide-output":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"download(URL)","metadata":{"_kg_hide-input":true,"_kg_hide-output":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"paths = glob(os.path.join('/kaggle/working','*.mp4'))\n# initialize the recognizer\nr = sr.Recognizer()\nsentence = ''\nfor mp4_path in paths:\n    wav_path = '/kaggle/working/source.wav'\n    \n    command = 'ffmpeg -i \"' + mp4_path + '\"' + \" -ab 160k -ac 2 -ar 44100 -vn /kaggle/working/source.wav\"\n    subprocess.call(command, shell=True)\n    \n    sentence = ''\n    # open the file\n    with sr.AudioFile(wav_path) as source:\n        # listen for the data (load audio to memory)\n        audio_data = r.record(source)\n        # recognize (convert from speech to text)\n        sentence = r.recognize_whisper(audio_data, 'medium.en', False, None, 'en')\n\n    with open('/kaggle/working/target.txt', 'w', encoding='utf-8') as f:\n        f.write(sentence)\n","metadata":{"_kg_hide-input":true,"_kg_hide-output":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(sentence)","metadata":{},"execution_count":null,"outputs":[]}]}