Code Monkey home page Code Monkey logo

ben-0-mad / yt-tms-finder Goto Github PK

View Code? Open in Web Editor NEW
14.0 14.0 2.0 85.8 MB

This code was made in an effort to make it easier to find the song that has been dubbed as 'the most mysterious song on the internet' and it makes it possible to search youtube channels for songs without having to manually check the videos.

License: MIT License

Python 98.57% Makefile 0.73% Batchfile 0.70%
audio audio-recognition music python song-classification tms youtube

yt-tms-finder's Introduction

Benomad 🦎

Welcome to my Github.

Socials

yt-tms-finder's People

Contributors

ben-0-mad avatar mango-ki avatar nrsyed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

yt-tms-finder's Issues

Multithreading and download performance

@Ben-0-mad Just creating this issue to let you know that this project inspired me to try my own hand at developing a general YouTube download/fingerprinting Python package (https://github.com/nrsyed/youtube-audio-matcher) and figured I'd share! It's only half done at the moment—I opted to split the functionality into two modules, one for channel downloading and one for fingerprinting/matching. The download functionality is done and I'm quite satisfied with it. I have yet to start on the fingerprinting/matching.

Features:

  • uses multithreading to concurrently download/convert audio from all videos from any number of channels (page source for all channels is obtained concurrently; videos for each channel are downloaded/converted concurrently)
  • imports youtube-dl Python package, making it cross-platform (no need for youtube-dl executables), and taps directly into the youtube-dl API so there's no need for inefficient subprocess calls or parsing the output of subprocess terminal commands
  • allows filtering of videos by duration (e.g., in case you don't want to download videos longer than or shorter than a certain length) and has flexible options for choosing the start time, end time, or duration of extracted audio
  • auto-retries failed video downloads (the maximum number of attempts can be specified by the user, or set to unlimited)
  • cleanly extracts video metadata from channel page source, including video title
  • is set up as a pip installable Python package for easy install
  • has a command line interface that can be used from anywhere
  • is made with modular design in mind, so lower-level functions (e.g., downloading a single video or extracting video metadata from a channel's page source) can be used on their own and can be incorporated into other applications

If you find anything in it helpful, feel free to use bits and pieces, or add it as a git submodule, etc.

How to bypass 4 minute limit

Im searching for a lost song but what if its a case that the song is more than 4 minutes? is there a way to bypass that?

can't open file 'find_stable.py': [Errno 2] No such file or directory

Hello, I hope you are having a great day.
When I type "python find_stable.py", it isn't working, appearing python: can't open file 'find_stable.py': [Errno 2] No such file or directory.
I have python, yeah, version 3.8.5, but my command prompt (even executing with cmd) isn't identifying that prefix.
I have followed all the instructions.
How can it be fixed?

Linux Setup always demand chromedriver.exe

I set up the tool in linux system and it always fallback to the windows binary version in the exception of
driver = webdriver.Chrome()
installed chromedriver as instructed but not working

Issues executing find_stable.py {ModuleNotFoundError: No module named 'bs4'}

Hello, I hope you are having a great day (yes, it's me, again),

I followed all the instructions (ofc), I'm using Windows, but when I type python find_stable.py, I still have the following error:

  • Traceback (most recent call last): File "find_stable.py", line 6, in <module> import bs4 as bs #for working with html source file ModuleNotFoundError: No module named 'bs4'

Video audio couldn't be downloaded

Hi!

Loving the code. I'm trying to use it to find songs other than TMMS, however, I keep getting the same error:

Video audio couldn't be downloaded. Skipping for now. Please check missed.txt for more info.

When I open missed.txt, it says
2023-10-29 11:00:05: Could not check video with ID e2lyYEUPat8. Please copy and paste this URL in your browser to check: 'youtube.com/watch?v=e2lyYEUPat8'
for each video.

I am using Ubuntu 22.04. Don't know what could be causing this error.

Exception ignored in: <function SqliteDatabase.__del__ at 0x16C14100>

I got this error after about 2 hours of checking a very large channel:

sqlite - connection opened
Exception ignored in: <function SqliteDatabase.__ del __ at 0x16C14100>
Traceback (most recent call last):
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\colorama\ansitowin32.py", line 162, in write
self.write_and_convert(text)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\colorama\ansitowin32.py", line 190, in write_and_convert
self.write_plain_text(text, cursor, len(text))
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\colorama\ansitowin32.py", line 195, in write_plain_text
self.wrapped.write(text[start:end])
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\colorama\ansitowin32.py", line 41, in write
self.__convertor.write(text)

This repeats for a while, then at the end:

self.__convertor.write(text)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\colorama\ansitowin32.py", line 162, in write
self.write_and_convert(text)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\colorama\ansitowin32.py", line 184, in write_and_convert
text = self.convert_osc(text)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\colorama\ansitowin32.py", line 246, in convert_osc
for match in self.ANSI_OSC_RE.finditer(text):
RecursionError: maximum recursion depth exceeded while calling a Python object
sqlite - connection has been closed

It then stops the program and puts me back on the cmd line.

Can't identify songs: "selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary"

Hello, I hope you are having a great day (or you aren't because I am always begging for help, sorry).

When I type the channel url the following error appears:

sqlite - connection opened Traceback (most recent call last): File "find_stable.py", line 379, in <module> finder.check_channel() File "find_stable.py", line 301, in check_channel source = self.get_channel_source() File "find_stable.py", line 219, in get_channel_source driver = webdriver.Chrome() File "C:\Users\Asus\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 76, in __init__ RemoteWebDriver.__init__( File "C:\Users\Asus\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__ self.start_session(capabilities, browser_profile) File "C:\Users\Asus\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session response = self.execute(Command.NEW_SESSION, parameters) File "C:\Users\Asus\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute self.error_handler.check_response(response) File "C:\Users\Asus\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary sqlite - connection has been closed

Can you help me?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.