Vinnaren i pepparkakshustävlingen!
  • 2
  • 3
2016-11-26, 13:59
  #25
Medlem
Citat:
Ursprungligen postat av BlodigtHelvete
Intressant slutsats. I värsta fall får jag ju göra det, men varför är verktygen så slarviga med precisionen egentligen?
Antar att det beror på att väldigt få har stort behov av precision. Vad ska du ha ljudfilerna till egentligen? Varför är det så viktigt att det blir exakt?
Citera
2016-11-26, 14:53
  #26
Medlem
BlodigtHelvetes avatar
Citat:
Ursprungligen postat av RulleRivare
Antar att det beror på att väldigt få har stort behov av precision. Vad ska du ha ljudfilerna till egentligen? Varför är det så viktigt att det blir exakt?

(Lite förenklad beskrivning, men stämmer i grova drag):

Har ett bash-script som tankar hem album från youtube, konverterar till mp3, kollar mot en bra och aktuell databas efter metainfo (bland annat låtar och dess längd -> summan av dem är ju hela albumets längd), ändrar storlek på den stora mp3-filen (fungerar dåligt i dagsläget), kapar den stora mp3-filen till individuella låtar, byter namn på dem (enligt metainfo från databasen), sätter id3-taggar på dom, städar upp allt skräp och ... ja - en automatisk mp3-hemladdare, helt enkelt. Fungerar helt otroligt bra, om det inte vore för denna diskrepans i albumlängd.

Funkar så här (kommandon i *nix-terminal):

<skript> <artist>
ger diskografi
<skript> <artist> -c <country>
vid händelse av flera artister med samma namn
<skript> <artist> <album>
ladda hem metadata om album (ej ljud)
<skript> <artist> <album> -d
laddar hem hela albumet enligt beskrivningen i stycket ovan
EDIT: Som svar på frågan... Om det inte blir (tillräckligt) precist så klipper mitt program ut individuella låtar helt fel (innan de slutat, efter de börjat och och så vidare).
__________________
Senast redigerad av BlodigtHelvete 2016-11-26 kl. 14:57. Anledning: EDIT: glömde svara på frågan
Citera
2016-11-26, 15:39
  #27
Medlem
Citat:
Ursprungligen postat av BlodigtHelvete
(Lite förenklad beskrivning, men stämmer i grova drag):

Har ett bash-script som tankar hem album från youtube, konverterar till mp3, kollar mot en bra och aktuell databas efter metainfo (bland annat låtar och dess längd -> summan av dem är ju hela albumets längd), ändrar storlek på den stora mp3-filen (fungerar dåligt i dagsläget), kapar den stora mp3-filen till individuella låtar, byter namn på dem (enligt metainfo från databasen), sätter id3-taggar på dom, städar upp allt skräp och ... ja - en automatisk mp3-hemladdare, helt enkelt. Fungerar helt otroligt bra, om det inte vore för denna diskrepans i albumlängd.

Funkar så här (kommandon i *nix-terminal):

<skript> <artist>
ger diskografi
<skript> <artist> -c <country>
vid händelse av flera artister med samma namn
<skript> <artist> <album>
ladda hem metadata om album (ej ljud)
<skript> <artist> <album> -d
laddar hem hela albumet enligt beskrivningen i stycket ovan
EDIT: Som svar på frågan... Om det inte blir (tillräckligt) precist så klipper mitt program ut individuella låtar helt fel (innan de slutat, efter de börjat och och så vidare).
Sedärja. Nu blev det mycket lättare att spåna, och det blev också uppenbart varför de lösningar som föreslagits inte är bra.

Intressant projekt, även om jag tycker att det är lite overkill när youtube har så dålig kvalitet på ljudet. Men projektet är helt klart intressant.

Du kanske kan splitta filen på tystnad istället för tid? Eventuellt kanske du kan köra en kombination eftersom det kan vara tyst mitt i sånger. Kanske något i den här stilen:
Kod:
s = split_on_silence(albumaudio)      // s = [[track1.au, 2:35],[track2.au, 2:43],[track3.au, 0:11], [track4.au, 3:22], ... ]
l = get_songlengths_from_interweb(album)   // l = [2:32, 2:42, 3:20, ...]
join_songs(s, l)  // Ska på något sätt fatta att track3.au och track4.au ska sättas ihop

http://stackoverflow.com/questions/2...ere-is-silence

Har du projektet på github?
Citera
2016-11-26, 16:02
  #28
Medlem
BlodigtHelvetes avatar
Citat:
Ursprungligen postat av RulleRivare
Sedärja. Nu blev det mycket lättare att spåna, och det blev också uppenbart varför de lösningar som föreslagits inte är bra.

Intressant projekt, även om jag tycker att det är lite overkill när youtube har så dålig kvalitet på ljudet. Men projektet är helt klart intressant.

Du kanske kan splitta filen på tystnad istället för tid? Eventuellt kanske du kan köra en kombination eftersom det kan vara tyst mitt i sånger. Kanske något i den här stilen:
Kod:
s = split_on_silence(albumaudio)      // s = [[track1.au, 2:35],[track2.au, 2:43],[track3.au, 0:11], [track4.au, 3:22], ... ]
l = get_songlengths_from_interweb(album)   // l = [2:32, 2:42, 3:20, ...]
join_songs(s, l)  // Ska på något sätt fatta att track3.au och track4.au ska sättas ihop

http://stackoverflow.com/questions/2...ere-is-silence

Har du projektet på github?

Kul att du gillar idén! Har gått med detta i tankarna i flera år. Tänkte göra det i något riktigt programmeringsspråk, men eftersom jag i princip bor i terminalen ser jag ingen anledning att flytta ut därifrån. Sen är det så enkelt att pipa och kombinera verktyg i den miljön också.

Min ursprungliga plan var att splitta på tystnad, men trodde det skulle vara så svårt att få till. Dessutom är det inte alltid tyst i övergångarna mellan låtar.

Den musik som detta gäller är uteslutande Black Metal. Det råder en viss uppladdningskultur i det facket på tuben som garanterar en viss miniminivå. Att det är just Black Metal ökar toleransen avsevärt (är ju ändå bara skrammel, hehe). Slutligen är jag själv ganska kvalitetstolerant (jag kompromissar ju mellan automatition och kvalitet).

Har inget repo för detta, men om du vill spana på koden skickar jag den gärna till dig. Var dock medveten om att det är ganska hafsigt skrivet. 80 % av koden skrevs under en natts småtimmar och har inte orkat städa ännu).
Citera
2016-11-27, 19:58
  #29
Medlem
Citat:
Ursprungligen postat av BlodigtHelvete
Kul att du gillar idén! Har gått med detta i tankarna i flera år. Tänkte göra det i något riktigt programmeringsspråk, men eftersom jag i princip bor i terminalen ser jag ingen anledning att flytta ut därifrån. Sen är det så enkelt att pipa och kombinera verktyg i den miljön också.

Min ursprungliga plan var att splitta på tystnad, men trodde det skulle vara så svårt att få till. Dessutom är det inte alltid tyst i övergångarna mellan låtar.

Den musik som detta gäller är uteslutande Black Metal. Det råder en viss uppladdningskultur i det facket på tuben som garanterar en viss miniminivå. Att det är just Black Metal ökar toleransen avsevärt (är ju ändå bara skrammel, hehe). Slutligen är jag själv ganska kvalitetstolerant (jag kompromissar ju mellan automatition och kvalitet).

Har inget repo för detta, men om du vill spana på koden skickar jag den gärna till dig. Var dock medveten om att det är ganska hafsigt skrivet. 80 % av koden skrevs under en natts småtimmar och har inte orkat städa ännu).
Att koda det hela från grunden skulle jag inte ge mig in på om det inte antingen var strikt nödvändigt för att åstadkomma det du vill eller att du helt enkelt vill göra det för skojs skull.

Jag funderar lite på hur lätt det här är att automatisera med den data du har tillgänglig. Är de tidsstämplar du hämtar hem verkligen tillförlitliga? Jag skulle säga nej, och mycket beroende på att det kan bli mongo om du bara är en halv sekund fel.

Är du säker på att bristen i precisionen verkligen ligger i de verktyg du använder, och inte i den data du hämtar om låtlängd?
Citera
2016-11-27, 20:51
  #30
Medlem
BlodigtHelvetes avatar
Citat:
Ursprungligen postat av RulleRivare
Att koda det hela från grunden skulle jag inte ge mig in på om det inte antingen var strikt nödvändigt för att åstadkomma det du vill eller att du helt enkelt vill göra det för skojs skull.

Jag funderar lite på hur lätt det här är att automatisera med den data du har tillgänglig. Är de tidsstämplar du hämtar hem verkligen tillförlitliga? Jag skulle säga nej, och mycket beroende på att det kan bli mongo om du bara är en halv sekund fel.

Är du säker på att bristen i precisionen verkligen ligger i de verktyg du använder, och inte i den data du hämtar om låtlängd?

När du talar om "data jag hämtar om låtlängd" måste jag anta att du syftar på videoklippets längd (alltså den faktiska längden). Den är ju avrundad till närmsta heltal, så i teorin borde den i snitt vara fel med +/- 0,5 sekunder per album. Menar du att en halv sekund på ~35-55 minuter gör skillnad vid uträkning av förändringsfaktor? Det är ju tusentals sekunder det handlar om - vad gör en halv extra eller mindre?

Jag måste fråga: kör du Linux själv så att du har möjlighet att testa verktygen? Om ja rekommenderar jag dig att installera SoX (mycket mer lättviktigt än ffmpeg) bara för att testa själv. Det kan ju vara jag som har fel, och har jag det - vilket jag hoppas - så är ju problemet löst egentligen.

PS: läste om ditt inlägg inser nu att du menar tidsstämplarna från databasen. Vid närmare eftertanke (som jag tidigare inte skänkt saken) så kan du ju faktiskt ha rätt. Jag har bara i min naivitet antagit att tidsstämplarna är korrekta (typ, angivet efter det som rapporterats på själva albumet). Det finns ju inga garantier för att saken faktiskt förhåller sig så. Måste nysta vidare i detta och jämföra med data från andra håll. Bra input!
Citera
2016-11-27, 21:08
  #31
Medlem
Citat:
Ursprungligen postat av BlodigtHelvete
När du talar om "data jag hämtar om låtlängd" måste jag anta att du syftar på videoklippets längd (alltså den faktiska längden). Den är ju avrundad till närmsta heltal, så i teorin borde den i snitt vara fel med +/- 0,5 sekunder per album. Menar du att en halv sekund på ~35-55 minuter gör skillnad vid uträkning av förändringsfaktor? Det är ju tusentals sekunder det handlar om - vad gör en halv extra eller mindre?
Det jag menar om är att du från något ställe på nätet hämtar information om hur lång varje enskilt spår är. Hur exakt är den informationen? Den kan definitivt vara fel med en halv sekund. En hel sekund om det är trunkering istället för avrundning. Dock kan det ju vara mer fel än så.

Citat:
Jag måste fråga: kör du Linux själv så att du har möjlighet att testa verktygen? Om ja rekommenderar jag dig att installera SoX (mycket mer lättviktigt än ffmpeg) bara för att testa själv. Det kan ju vara jag som har fel, och har jag det - vilket jag hoppas - så är ju problemet löst egentligen.
Ja, jag kör Linux. Har dock inte tid/ork just nu. Kanske gör det i framtiden.

Citat:
PS: läste om ditt inlägg inser nu att du menar tidsstämplarna från databasen. Vid närmare eftertanke (som jag tidigare inte skänkt saken) så kan du ju faktiskt ha rätt. Jag har bara i min naivitet antagit att tidsstämplarna är korrekta (typ, angivet efter det som rapporterats på själva albumet). Det finns ju inga garantier för att saken faktiskt förhåller sig så. Måste nysta vidare i detta och jämföra med data från andra håll. Bra input!
Anta aldrig saker. Det är väldigt vanligt med fel på grund av felaktiga antaganden.
Citera
  • 2
  • 3

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback