Amarok 2 może przeszukiwać kolekcję muzyki za pomocą pola „bpm” znacznika ID3v2. Byłoby bardzo miło przeredagować całą kolekcję muzyki, dzięki czemu mogę znaleźć „nastrój” utworu, który lubię.
Jednak nie znalazłem żadnego oprogramowania do wykrywania uderzeń, które mogłoby mi pomóc. Czy kiedykolwiek go używałeś? Najlepiej CLI. Interesuje mnie również, czy istnieje coś podobnego do oznaczania plików FLAC tym samym polem „bpm”.
Dzięki! :)
PS Zdaję sobie sprawę, że jest fajna funkcja paska nastroju, jednak nie nadaje się ona do wyszukiwania.
Odpowiedzi:
Na stronie DaveParillo zasugerował, że znalazłem projekt BpmDj . Ma
bpmcount
plik wykonywalny, który bardzo ładnie oblicza bpm: obsługuje mp3, a także flac:Jedyne, co pozostało, to przebudować kolekcję. Zaktualizuję tę odpowiedź, ilekroć mi się uda. Dzięki! :)
Krok 1
Uruchom
bpmcount
całą kolekcję i zapisz wyniki w pliku tekstowym. Problem polega na tym, żebpmcount
od czasu do czasu ulega awarii i próbuje zużyć do 2 GB pamięci, gdy przetwarza kilka plików, dlatego powinniśmy podawać je nazwami plików jeden po drugim. Lubię to:Krok 2
Będziemy potrzebowali kilka dodatkowych pakietów:
apt-get install vorbis-tools flac python-mutagen
. Zobacz, jak można dodać tag „bpm”:Niestety, nie mam utworów * .ape
Teraz mamy BPM i cała kolekcja powinna zostać zmieniona. Oto skrypt:
Krok 2.1 Powrót do strony Oto skrypt, który doda tagi BPM do Twojej kolekcji.
Uruchamia jeden proces na rdzeń procesora, aby proces był szybszy. Ponadto nie używa plików tymczasowych i jest w stanie wykryć, czy plik jest już oznaczony.
Dodatkowo odkryłem, że FLAC czasami zawiera zarówno ID3, jak i VorbisComment. Ten skrypt aktualizuje oba.
Cieszyć się! :)
źródło
TBPM
To narzędzie wiersza polecenia do wykrywania BPM i umieszczania go w tagach plików FLAC:
http://www.pogo.org.uk/~mark/bpm-tools/
źródło
Użyłem oryginalnego skryptu kolypto, używając go
bpmcount
i przepisałem go nabpm-tag
(użytecznebpm-tools
), co miałem więcej szczęścia przy instalacji. Wprowadziłem też kilka ulepszeń.Możesz go znaleźć na GitHub https://github.com/meridius/bpmwrap
źródło
Nie znam narzędzia, które robi dokładnie to, czego szukasz, ale bawiłem się z MusicIP .
Użyłem wersji linux / java - pełna analiza biblioteki muzycznej zajmuje dużo czasu, ale naprawdę działa. Możesz znaleźć utwory podobne do innych utworów. Możesz kliknąć prawym przyciskiem myszy wygenerowaną listę odtwarzania i wybrać opcję, aby wybrać więcej lub mniej utworów, takich jak ten wybrany. Możesz także wyeliminować określone gatunki. To trochę fajne, ale kiedy minął czynnik wow, przestałem go używać.
Darmowa wersja eksportuje listy odtwarzania do 75 utworów w (co najmniej) formacie m3u.
Obecnie nie jest obsługiwany, ale myślę, że starali się uznać go za komercyjny jako Predexis .
źródło
Chociaż nie jest to tylko narzędzie, o którym mówisz, że szukasz, odtwarzacz multimedialny Banshee może wykryć bpm.
Używam Banshee do odtwarzania, organizacji i synchronizacji muzyki z przenośnymi odtwarzaczami. Nie jestem związany, ale podoba mi się ten program ze wszystkiego, co próbowałem. Może także generować „inteligentne listy odtwarzania” w oparciu o różne właściwości ścieżek, w tym bpm.
Istnieje rozszerzenie, które analizuje różne rzeczy związane z utworem i znajdzie podobne utwory do tego, w którym grasz. Nazywa się Mirage i używałem go przez jakiś czas, ale już go nie używam, ponieważ stworzyłem wiele list odtwarzania, które pasują do różnych nastrojów (niekoniecznie podobne według Mirage).
Nie wiem, czy Banshee zapisze wykryte bpm z powrotem w znaczniku ID3v2 „bpm” pliku. Jeśli ktoś wie, jak łatwo sprawdzić tag bpm spoza programu, sprawdzę.
źródło
To nie jest Linux, ale może równie dobrze działać w Wine - używam MixMeister BPM Analyzer
źródło
Znalazłem inne narzędzie do oznaczania plików MP3 prawidłową wartością BPM.
To się nazywa BPMDetect . Otwarte źródło. Biblioteki QT działają więc dobrze pod Gnome. Pochodzi z GUI, ale można go skompilować jako wersję wyłącznie konsolową (uruchom „scons console = 1”, jak podano w pliku readme.txt).
W przeciwnym razie ostatecznie użyłem „bpmcount” z BpmDJ, ponieważ miałem trudności z kompilacją BPMDetect na 64-bitowym hoście Ubuntu (z powodu zależności fmodex). Więc wziąłem (bardzo fajny i dobrze napisany) skrypt powłoki powyżej (patrz poniżej), plik binarny „bpmcount” wyodrębniony z [x64 .rpm] [3] dostępny na stronie internetowej BpmDJ (właśnie wyodrębniłem .rpm z
i działało jak urok. Musiałem tylko zmodyfikować powyższy skrypt, ponieważ po wyjęciu z pudełka nie działał on po mojej stronie (problem ze stdout / stderr binarnego bpmcount). Moja modyfikacja dotyczy przekierowania pliku:
źródło
Istnieje inne narzędzie zalecane w tym pytaniu dotyczące stackoverflow: aubio , które jest dostarczane wraz z modułami python.
Nie próbowałem tego, ponieważ byłem trochę zajęty kompilacją BpmDj . Na wypadek, gdyby ktoś inny zmagał się z podobnymi problemami podczas próby, chciałbym zdecydowanie upewnić się absolutnie:
Przy najnowszych aktualizacjach kompilatora g ++ wydaje się, że pojawiły się pewne problemy, szczególnie dotyczące ostatnich wydań debian i ubuntu. Gdy tylko zdał sobie sprawę z tych problemów, autor miał życzliwość naprawić pojawiające się niezgodności i skompletować nowe wydanie, które teraz kompiluje się jak urok. Więc każdy, kto był bliski popadnięcia w rozpacz z powodu nieustępliwych błędów kompilacji: jesteś teraz uratowany.
@ mmx , twoje narzędzia również wyglądają dobrze, ale na nich polegają
SoX
, które domyślnie nie mają funkcji mp3. Wymagają więc najpierw skompilowania SoX z obsługą Lame / MAD, co jest niestety zbyt dużym wysiłkiem dla ludzi tak leniwych jak ja.źródło
Aby rozwiązanie @meridius działało na moim Macu, musiałem trochę dopracować i zmodyfikować skrypt:
Następnie musiałem zmodyfikować skrypt, aby wskazywał na wersje GNU wszystkiego i kilka innych poprawek:
Dziękujemy za twoją ciężką pracę @kolypto i @meridius.
... ból, przez który przechodzę, aby utrzymać przepływ pracy CLI i nie płacić za narzędzia muzyczne ...
źródło