Biorąc pod uwagę MP3 Chciałbym wyodrębnić kształt fali z pliku do obrazu (.png)Jak mogę utworzyć obraz fali MP3 w systemie Linux?
Czy istnieje pakiet, który może zrobić to, czego potrzebuję?
Biorąc pod uwagę MP3 Chciałbym wyodrębnić kształt fali z pliku do obrazu (.png)Jak mogę utworzyć obraz fali MP3 w systemie Linux?
Czy istnieje pakiet, który może zrobić to, czego potrzebuję?
Jeśli masz środowisko graficzne, możesz użyć edytora audio audacity, aby załadować plik mp3, a następnie użyć polecenia drukowania, aby wygenerować plik PDF przebiegu. Następnie przekonwertuj pdf na png.
Pytanie jest wysyłane na Stack Overflow. Dlatego myślę, że to jest pytanie programistyczne. To, co oferujesz, jest obejściem, które można wykonać tylko wtedy, gdy masz _user_, który zrobi to dla każdego pliku ręcznie. Nie robiąc -1, bo lrugam)) – Septagram
Szczerze starałem się być pomocny (i zdziwiona zuchwalstwo mogłaby wydrukować). Ponadto: http://forum.audacityteam.org/viewtopic.php?f=15&t=38341 – Lifeguard
Dzięki za pomoc :) Chociaż starał się zautomatyzować proces tworzenia spektrogramu (obrazu) z pliku audio (mp3). Wysłany link wygląda na naprawdę użyteczny. Dzięki –
chciałbym zrobić coś takiego:
znaleźć narzędzie do konwertowania mp3 do PCM, czyli dane binarne z jednym 8 lub 16 bit wartości w próbce. Chyba MPlayer może zrobić
rura wynik do narzędzia konwersji danych binarnych do ASCII reprezentacji liczb w formacie dziesiętnym
użytkowania gnuplot przekształcić tę listę wartości do png wykresie.
I voila, moc połączeń między narzędziami unixowymi. Teraz krok 2 na tej liście może być opcjonalny, jeśli gnuplot jest w stanie odczytać dane z formatu binarnego.
Brzmi jak prawdziwy dobry pomysł. Postaram się to zrobić i dam ci znać, jak to działa. I tak gnuplot akceptuje plik danych binarnych jako źródło danych. Dzięki –
Jest to standardowa funkcja w SoX (narzędzie wiersza polecenia dla dźwięku, Windows & Linux) Sprawdź funkcję „spektrogram” na http://sox.sourceforge.net/sox.html
„spektrogramu jest renderowany w pliku Portable Network Graphics (PNG), i pokazuje czas na osi X, częstotliwość na osi Y i wartość sygnału audio na osi Z. Wartości osi Z są reprezentowane przez kolor (lub opcjonalnie intensywność) pikseli w płaszczyźnie XY. sygnał audio zawiera wiele kanałów, a następnie są one wyświetlane od góry do dołu, zaczynając od kanału 1 (który jest lewym kanałem dla dźwięku stereo). "
Spektrogram nie jest kształtu fali ... – sdaau
Korzystanie sox
i gnuplot
można tworzyć podstawowe obrazów falowych:
sox audio.mp3 audio.dat #create plaintext file of amplitude values
tail -n+3 audio.dat > audio_only.dat #remove comments
# write script file for gnuplot
echo set term png size 320,180 > audio.gpi #set output format
echo set output \"audio.png\" >> audio.gpi #set output file
echo plot \"audio_only.dat\" with lines >> audio.gpi #plot data
gnuplot audio.gpi #run script
stworzyć coś prostsze/ładniejszą, należy użyć następującego GNU plik Plot jako szablon (zapisać go jako audio. GPI):
#set output format and size
set term png size 320,180
#set output file
set output "audio.png"
# set y range
set yr [-1:1]
# we want just the data
unset key
unset tics
unset border
set lmargin 0
set rmargin 0
set tmargin 0
set bmargin 0
# draw rectangle to change background color
set obj 1 rectangle behind from screen 0,0 to screen 1,1
set obj 1 fillstyle solid 1.0 fillcolor rgbcolor "#222222"
# draw data with foreground color
plot "audio_only.dat" with lines lt rgb 'white'
i po prostu uruchomić:
sox audio.mp3 audio.dat #create plaintext file of amplitude values
tail -n+3 audio.dat > audio_only.dat #remove comments
gnuplot audio.gpi #run script
podstawie this answer z podobnym pytaniem, które jest bardziej ogólne dotyczące formatu pliku, ale mniej ogólnie w odniesieniu do oprogramowania używanych.
Być może warto rozważyć audiowaveform z BBC.
audiowaveform to aplikacja wiersza poleceń C++, która generuje dane przebiegu z plików audio w formacie MP3, WAV lub FLAC.Dane krzywych mogą być użyte do uzyskania wizualnego renderowania dźwięku, podobnego do wyglądu dla aplikacji do edycji dźwięku.
Pliki danych przebiegu są zapisywane w formacie binarnym (.dat) lub JSON (.json). Biorąc pod uwagę wejściowy plik danych kształtu fali, audiowaveform może również renderować przebieg audio jako obraz PNG przy danym przesunięciu czasowym i poziomie powiększenia.
Dane dotyczące kształtu fali są generowane z wejściowego sygnału audio stereo, najpierw łącząc kanały lewy i prawy, aby uzyskać sygnał mono. Następnym etapem jest obliczenie minimalnej i maksymalnej wartości próbki w grupach N próbek wejściowych (gdzie N jest kontrolowana przez opcję wiersza poleceń -zoom), tak, że każda z N próbek wejściowych wytwarza jedną parę punktów minimalnych i maksymalnych w wydajność.
Tak, tam jest narzędziem, które robi dokładnie to: http://www.tuned-project.org/audio-tools –
@ user1217953 - dostrojony narzędzia dźwiękowe link jest martwy, wydaje być w https://launchpad.net/tuned-audio-tools/+download (zauważ, że do kompilacji potrzebujesz 'libgee' i' gstreamer-1.0'); zobacz także https://github.com/limikael/rendersound (uwaga: do jej zbudowania potrzebujesz stosunkowo nowego 'libavcodec'); zobacz także [wav2png] (http://stackoverflow.com/a/11067909/277826) – sdaau