Chcę zrobić program, który pobiera plik MP3 i dzieli go na wiele mniejszych plików mp3 na podstawie 1-2 sekund bez dźwięku (ciszy). Jaki jest najprostszy sposób to zrobić w języku C#?Jak podzielić plik mp3 na mniejsze pliki?
Odpowiedz
Posiadanie solidnej wiedzy o formacie binarnym pliku byłoby dobrym miejscem do rozpoczęcia. Dzięki temu będziesz wiedział, jaka cisza wygląda w pliku. Być może będziesz musiał dokładnie określić, czym jest cisza. Przypuszczając, że podobnie jak większość audio, zaczęło się od analogowego źródła, prawie na pewno jest jakiś hałas zakopany w "ciszy". Jaka będzie Twoja tolerancja na hałas otoczenia/tła?
Gdy już wiesz, czego szukasz, po prostu zeskanuj plik, szukając "go".
Proste ...
Bass library. Bas ma wszystko, czego potrzebujesz. Może uzyskiwać dostęp, nagrywać i edytować strumienie multimedialne, takie jak pliki mp3, co umożliwia próbkowanie woluminu w różnych punktach czasowych. Ma api .net, więc można go używać w języku C#. Niestety, to nie kosztuje, jeśli używasz go do komercyjnego zastosowania, ale zapewniają bezpłatną niekomercyjną licencję.
Sox to narzędzie wiersza poleceń, które ma opcję podziału pliku mp3 na n sekund ciszy. Zawsze możesz użyć polecenia systemowego, aby wywołać sox z C#.
Inne powiązane linki.
Ripping a CD to mp3 in C# - third party component or api out there?
Audio Libraries for MP3 editing
How do I merge/join mp3 files with c#
Kod ten pokazuje sposób, aby płyta CD Ripper w C#. Istnieją interfejsy API od niektórych dostawców , które umożliwiają odczytywanie ścieżek audio CD , ale możliwe jest również wykonanie za pomocą interfejsów API, które umożliwiają niski poziom dostępu do napędów CD, takich jak ASPI z Adaptec lub kodów sterujących IOCTL. W tym przypadku używana jest ostatnia metoda: , ponieważ nie ma potrzeby instalowania żadnego oprogramowania innej firmy, jest ona całkowicie objęta funkcjami Win32 API przez funkcje Win32 API .
program to zrobić już istnieje:
Dzielenie strumienia MP3 będzie trudne do czynienia z jakimkolwiek stopniem dokładności. Skompresowane dane MP3 istnieją jako sekwencyjne fragmenty danych audio składających się z wielu próbek. Najprostszym sposobem wykonania tego byłoby dekodowanie strumienia w sposób progresywny lub w całości, wykonanie manipulacji, a następnie ponowne jego kodowanie (co, jak rozumiem, jest to, jak robi to większość oprogramowania Jukebox).
czy próbowałeś używać ffmpeg? –
Czy naprawdę trzeba to zrobić programowo? Wyobrażam sobie, że istnieje jakiś rodzaj istniejącego oprogramowania. –
Widziałem sporadyczny album, który został zgrany w taki sposób, że wszystkie utwory tworzyły jeden, masywny plik; Przypuszczam, że Rhein ma kilka plików skonfigurowanych w ten sposób i chce je wyczyścić w partiach, co ułatwia uporządkowanie biblioteki. Pomimo tego, co powiedziałem poniżej, prawdopodobnie zasugerowałbym ponowne skopiowanie odpowiednich albumów. Masz do nich prawa, prawda? – Adrien