19/12/2006

Audacity really sox

Filed under: — cybrarian @ 1:36 pm

Audacity laat blijkbaar een hele reeks onbruikbare .au files achter na crash

Audacity Een bekend fenomeen voor gebruikers van Audacity is het boven de capaciteit gaan van hun machine. Ik zag een oude computer met beperkt geheugen (ik schat PII met 64 Mb) die enkele uren in opname was, en niet meer meevolgde op het scherm.

Je merkt dat die achterstand steeds groter wordt, en de grafische omgeving reageert hoe langer hoe trager. Helaas gebeurt de bediening wel via die omgeving; nl de knoppen in het venster van het programma. Stel je de situatie voor waarbij je de stop-knop niet meer kan indrukken, of tenminste niet zeker bent dat die klik ook werkelijk uitgevoerd wordt. Als de opname daardoor blijft doorlopen, wordt de achterstand van het scherm steeds groter, en de kans dat je het programma nog normaal kan afsluiten … steeds kleiner.

Nu nog snel alle andere programma’s die openstaan en die je niet nodig had, sluiten is helaas te laat. Elke klik, elke handeling komt weer bij in de wachtrij van taken die nog moeten uitgevoerd worden. *

Het resultaat was hier uiteindelijk dat Audacity op een bepaald moment toch onverwacht dichtklapte, waarbij het niet duidelijk was of het een reaktie was op een van de handelingen, of het programma zich ondertussen toch te erg verslikt had en er de brui aan gaf. Gevolg: urenlange opname kwijt. Of toch niet? Bij het openen van Audacity geeft het programma aan dat er nog bestanden zijn in de tijdelijke buffer, en of die verwijderd mogen worden. Dat gaat bij nader inzien over een tijdelijke directory .tmp_audacity of zoiets, die een groot aantal genummerde bestanden van 1 mb bevat (b000241.au, b000242.au, b000243.au enz).

Audacity voorziet echter geen mogelijkheid om die te recupereren als voormalige opname. Wat je wel kan is een bestand uit die reeks kiezen bij bestand, openen. Je kan dat herhalen en dan heb je verschillende sporen, een per bestand (ze tegelijk in 1 spoor openen lukt niet). Als je de inhoud van die sporen aan elkaar monteert heb je terug een doorlopend bestand. Maar bij uren opname gaat het snel over honderden bestanden; onmogelijk om die allemaal manueel te monteren.

Opzoekwerk op internet leerde dat er tools bestaan; maar die moeten gedownload en geinstalleerd worden (op de toch al beperkte plaats); en bovendien loopt op dat moment nog de copie van al die bestanden over het netwerk, dus de downloadsnelheid is bedroevend traag nu. De interessantste is trouwens broncode die je zelf moet compileren.

Tot plots een getuigenis van iemand tussen commentaren opduikt: met “sox” kan men de bestanden met opeenvolgend nummer terug aan elkaar plakken. Sox blijkt standaard geïnstalleerd te staan. Maar is helaas beperkt tot een aktie op een 33 tal bestanden. Een test per 10 leverde wel een goed bijeengeplakt bestand op, dat terug kon ingelezen worden in Audacity, en geen storingen hoorbaar maakte op de “naad” van het aan elkaar plakken.

Commando:

sox b00024*.au c00024.au zet bestanden b000240 tot b000249.au in c00024.au
sox b00025*.au c00025.au ”
sox b00026*.au c00026.au ”
sox b00027*.au c00027.au ”
sox b00028*.au c00028.au ”
sox b00029*.au c00029.au zet bestanden b000290 tot b000299.au in c00029.au

Daarna kan je de resultaten ook weer samenbundelen:
sox c0002*.au d0002.au zet bestanden c00024.au tot c00029.au in d0002.au
enz.

Je kan allerlei optimaliseringen bedenken; je kan de oorspronkelijke bestanden naar een map slepen, per 30 bv, en in die map alle bestanden laten sox-en tot 1.
Je zet elke keer een nieuwe groep van 30 klaar en past in het commando alleen het nummer van de bestemming aan:

sox b00*.au c001
sox b00*.au c002
sox b00*.au c003
sox b00*.au c004

De c001 enz ga je nadien ook weer samenvoegen, zoals boven.

En je kan misschien een script (klein programma) schrijven dat het helemaal automatisch doet van het beginnummer tot het eindnummer en tot je nog maar 1 bestand over hebt.

Betrokken computers; opname: OpenSuse, dan overgezet naar andere computer via netwerk met scp .temp/* guest@192.168.1.123:/home/guest/Documents/in/ , samenplakker: ubuntu

* Als je het ip-adres van het toestel kent kan je nog op afstand inloggen en een paar taken “kill”-en, maar aan de stopknop van Audacity kom je er ook niet mee.

Auteur: cybrarian

Reacties zijn gesloten.

Powered by WordPress