Difference between revisions of "Recovering crashes manually"

From Audacity Wiki
Jump to: navigation, search
m (moved CrashRecovery to Crash Recovery: Improved title to facilitate search for this page)
m (+deprecated)
 
(32 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{intro|If Audacity crashes or the computer loses power, unsaved .au data files may be left in Audacity's temporary folder or project _data folder. The instructions below will help you recover that unsaved data in Audacity 1.2.x versions.|Current Audacity Beta should offer to recover unsaved data automatically when you restart. Only use these instructions for Audacity Beta if the automated recovery does not work. '''Do not close Audacity Beta or save any changes until manual recovery using these instructions is complete.'''}}
+
{{deprecated}}
 +
{{intro|If Audacity crashes or the computer loses power, Audacity should normally [https://manual.audacityteam.org/man/recovery.html recover the projects automatically] when you restart. The steps on this page describe how to recover audio from the project's _data folder or Audacity's temporary folder if:
 +
* Automatic Crash Recovery does not work correctly
 +
* You saved a project without apparent crash, but Audacity was shut down before the AUP project file was written or you do not have a usable AUP file.  
 +
'''The steps on this page will only recover unedited recordings''' (and stereo recordings may be recovered with sections of left and right channel in the wrong channel).
 +
{{advice|This only works for Audacity 2.4.2 and earlier,  It does '''not''' work on Audacity 3.0.0 and later which uses a single consolidated unitary project file. }} }}
 +
{{alert|'''If the Automatic Crash Recovery dialog has appeared but recovery is incorrect, do not close the project or save any changes until manual recovery using these instructions is complete.'''
 +
* If you need to shut down the computer before manually fixing an incorrect Automatic Crash Recovery, force quit Audacity in the system task manager. This will preserve the temporary data for next launch of Audacity.
 +
* If you had successfully saved the project just before the crash, it may be simpler to discard the unsaved project in the Automatic Crash Recovery dialog then open the saved AUP file.}}
 +
__TOC__
  
 +
== Location of the project _data folder ==
  
== How to recover unsaved data ==
+
If you saved an AUP project file, the _data folder you need to recover from will be in the directory to which you originally saved the AUP file.  
 
 
* '''If you had never saved an Audacity project before the crash''', Audacity 1.2 will ask upon restart if you want to delete temporary files. Say '''"No"'''. The temporary files will be in Audacity's temporary folder. Check the {{menu|Directories tab of Audacity preferences}} to find out where your temporary folder is, then recover the data from that folder by one of the manual or automatic methods [[#Manual recovery|below]]. On Windows the default Audacity temporary directory is at:
 
** '''Windows 2000/XP:''' {{Path|C:\Documents and Settings\<your user name>\Local Settings\Temp\audacity_1_2_temp}}
 
** '''Windows Vista/7:''' {{Path|C:\Users\<your user name>\AppData\Local\Temp\audacity_1_2_temp}}
 
 
 
{{hint|1=On Mac computers, the temporary folder is usually hidden in the Finder.  To access it, use the '''"Go To Folder"''' command in the Finder, or type <span style="color:#FA58AC;font-size:118%">open tmp/ </span> and insert the name of the folder after the <span style="color:#FA58AC;font-size:118%"> / </span>. If that doesn't work, try to make the Finder show its hidden files and folders by entering the following commands in the terminal:<span style="color:#FA58AC;font-size:118%">
 
:defaults write com.apple.finder AppleShowAllFiles TRUE
 
:killall Finder
 
</span> then relaunch Finder to show the hidden files. Alternatively, try [http://macupdate.com/info.php/id/5721 TinkerTool] to do the same thing, or on OS X 10.6 you can type Shift-Command-Period(.) to show or hide hidden files and folders in an Open or Save dialogue.}}<br>
 
 
 
* '''If you had saved a project at any time before the crash''', Audacity 1.2 will give no message  on restart. If you have the .aup project file, open it to return the last saved state of the project. If the last saved state was a new, empty project, or if you don't have an .aup  project file, you can recover the audio from the project's _data folder by one of the manual or automatic methods below. The _data folder will be in the same directory as that you saved the .aup file to.  
 
  
 +
== Location of Temporary Folder ==
 +
If you never saved an AUP project file, you need to recover from Audacity's temporary folder. You can see the exact location in [[Directories Preferences]], otherwise you can see the location in the "TempDir" line in the [[Preferences#stored|audacity.cfg settings file]]. By default the Audacity temporary folder should be as follows.
 +
* '''Windows:''' {{path|C:\Users\<your username>\AppData\Local\Audacity\SessionData}}
 +
* '''Mac:''' {{path|/Users/<your username>/Library/Application Support/audacity/SessionData}}
 +
* '''GNU/Linux:''' {{path|/var/tmp/audacity-<your username>}}
 +
If you are upgrading from previous Audacity, that version's temporary directory may be changed to the relevant safe location above if the previous location was known to be prone to deletion by cleanup applications or system restart.
 +
{{tip|1=In order to see the default location of the Audacity temp folder on Windows or Mac you need to show hidden files and folders or type the folder location into your file manager's address bar.
 +
* '''Windows:''' In the tree on the left of Explorer, double-click "Users" then double-click your username, then on the right, open the AppData or Application Data folder, then the "Local" or "Locale Settings" folder and finally the "Temp" folder. <p>If you cannot see those folders, you can type '''%localappdata%''' into the Explorer address bar then look for the "Temp" folder. Otherwise, see how to [http://www.bleepingcomputer.com/tutorials/how-to-see-hidden-files-in-windows/ show hidden files and folders].</p>
 +
* '''Mac:''' Open Finder, use the "Go" menu, choose "Go to Folder" and type the required path.
 +
<ul>If that does not work, try to make the Finder show its hidden files and folders by entering the following commands in the terminal:
 +
{{Codelist|
 +
* defaults write com.apple.finder AppleShowAllFiles TRUE
 +
* killall Finder
 +
}}
 +
then relaunch Finder to show the hidden files. Alternatively, try [http://www.bresink.com/osx/TinkerTool.html TinkerTool] to do the same thing, or you can type Shift-Command-Period(.) to show or hide hidden files and folders in an Open or Save dialog.</ul>}}
  
 
== Manual recovery ==
 
== Manual recovery ==
 +
If you only have a few AU files to recover, use the "Import Audio" command to open all the .au files from the Audacity temporary folder or project _data folder.  Use shift-click or control-click to select multiple files.  The files will be in approximately 6-second chunks and will be on separate tracks in the Audacity screen.  Files from stereo tracks will alternate between left and right channels. 
  
Use the "Import Audio" command in the Project to open all of the .au files in the Audacity temporary folder or project _data folder.  Use shift-click or control-click to select multiple files. The files will be in approximately 10-second chunks and will be on separate tracks in the Audacity screen.  Files from stereo tracks will alternate between left and right channels.
+
#Click in the Track Control Panel (by the Mute/Solo buttons) of the topmost track.
 
+
#Shortcut {{shortcut|Z}} or {{menu|Select > Region > Ends to Zero Crossings}}.
#Click in the Track Control Panel (by the Mute/Solo buttons) of the first track you want to join to the topmost track and click {{menu|Edit > Cut}}.
+
# {{menu|Edit > Remove Special > Trim}}.  
#Click after the end of the topmost track
+
#Click in the Track Control Panel of the first track you want to join to the topmost track.
 +
#Shortcut {{shortcut|Z}} or {{menu|Edit > Find Zero Crossings}}.
 +
#Shortcut {{shortcut|Z}} or {{menu|Select > Region > Ends to Zero Crossings}}.  
 +
#Click after the end of the topmost track.
 +
#Press {{shortcut|End}} on the keyboard.
 
#Click {{menu|Edit > Paste}} and the cut track will attach to the end of the topmost track.
 
#Click {{menu|Edit > Paste}} and the cut track will attach to the end of the topmost track.
 
#Repeat as necessary to join all the tracks onto the topmost track.
 
#Repeat as necessary to join all the tracks onto the topmost track.
  
 +
Play the result.
 +
 +
Cut and paste as needed if any files are found to be in the wrong order or the wrong channel.
  
 
==Automatic recovery tools==
 
==Automatic recovery tools==
 
+
Tools written for legacy Audacity 1.2 can automate data recovery.  
A few tools have been written for Audacity 1.2 which can automate data recovery.  
+
{{advice|All these utilities require the .au files to be input in consecutive alphanumerical order. Audacity names files randomly so files will need to renamed.}}
 
+
Open Audacity's temporary or project _data folder in your system file manager. Sort the files by timestamp order (earliest first), then rename them using a consecutive alphanumerical sequence, lowest number first. An arrangement looking something like this should work:
'''Note:''' all these utilities require the .au files to be input in consecutive number order. This should normally be the case if recovering data from Audacity 1.2.x. If you need to recover data from 1.3.x, the files will '''not''' be in consecutive number order and they will need to be made such.  
 
 
 
If the files need to be renumbered for any reason, open Audacity's temporary or project _data folder in your system file manager. Sort the files by timestamp order (earliest first), then rename them using a continuous alphanumerical sequence, lowest number first. An arrangement looking something like this should work:
 
  
 
::b001.au 15:56:02
 
::b001.au 15:56:02
Line 38: Line 57:
 
::b003.au 15:56:10
 
::b003.au 15:56:10
 
::b004.au 15:56:10
 
::b004.au 15:56:10
 
+
{{Hint|1='''Utilities for renaming files to consecutive alphanumerical order'''  
{{Hint|1='''Utilities for renaming files to an alphanumeric sequence'''  
+
<ul><li>On '''Windows,''' Explorer cannot rename to a sequence acceptable to the recovery tools. You can use instead the Mass Rename tool in the 21-day trial Professional or Ultimate versions of [http://zabkat.com/x2down.htm xplorer<sup>2</sup>]. These versions will let you recover an unedited stereo recording with exact allocation of left and right channels, if Windows is running the [https://en.wikipedia.org/wiki/NTFS NTFS] file system. The [http://zabkat.com/x2lite.htm free version of xplorer<sup>2</sup>] cannot guarantee correct channel allocation.  
<ul><li>On '''Windows,''' Explorer cannot rename to a sequence acceptable to the recovery tools. On Windows you can use instead the Mass Rename tool in the freeware [http://www.zabkat.com/x2lite.htm xplorer<sup>2</sup>lite] file manager.  
+
<ol>
<ol><li> Open the required folder in xplorer<font size="-2"><sup>2</sup></font> and sort the .au files by time modified as above
+
<li>''(only in the Professional and Ultimate versions)'' Click {{menu|View > Raw Contents}} to enable maximum date resolution. 
<li>{{Menu|CTRL + A}} to select all the files  
+
<li> Open the required folder in xplorer<sup>2</sup> and sort the .au files by time modified as above.
<li> File > Mass Rename
+
<li>{{shortcut|Ctrl + A}} to select all the files.
<li> In the "Mass Rename Wizard", click in "Target name template" and type the alphanumeric name you want for the first file, with a '''$''' after the letter. For example, '''e$0001.au''' will rename the files to e0001.au, e0002.au and so on. Use enough zeros in the filename so that all the .au files will have the same number of digits.
+
<li> File > Mass Rename.
 +
<li> In the "Mass Rename Wizard", click in "Target name template" and type the letter '''e''' with a '''$''' after the letter. For example, '''e$0001.au''' will rename the files to e0001.au, e0002.au and so on. Use enough zeros in the file name so that all the .au files will have the same number of digits.
 
<li> Press "Preview", and if the preview looks correct, hit "Rename"</ol>
 
<li> Press "Preview", and if the preview looks correct, hit "Rename"</ol>
<li>On '''Mac OS X''', try Applications > [http://www.macosxautomation.com/automator/ Automator].
+
<li>On '''Mac''', try Applications > [http://www.macosxautomation.com/automator/ Automator].
 +
<li>On '''Linux''', try the file manager [http://en.wikipedia.org/wiki/Thunar Thunar] included in the [http://xfce.org/ xfce desktop] See [http://www.ubuntugeek.com/switch-to-a-lightweight-filemanager.html here] for help running Thunar on the Ubuntu desktop.  
 
</ul>}}
 
</ul>}}
  
 
+
{{note|1='''Linux command-line alternatives for timestamp sorting'''
Also note there is a 2 GB maximum size for any WAV file created from the reconstructed temporary files and there may be errors if this size is exceeded. This implies an upper limit of 2000 .au files. Sometimes (probably due to bugs in the utilities) there can be errors before this limit is reached. In that case you would need to split the .au files in the temporary or_data folder into two or more groups, each containing consecutively numbered files, and recover each group separately. 
+
<ol><li>Open a terminal then "cd" into the directory that contains the .AU files.
 
+
<li> Type the following command in a terminal to sort and rename the files into numerical timestamp order:<br>
=== Audacity Recovery Utility ===
+
'''<nowiki>mkdir "renamed" | find -type f -name "*.au" -printf "cp %h/%f renamed/%h/%TY%Tm%Td-%TH%TM%TS_%f\n"|sh</nowiki>'''
 
+
<li>The file names produced in the "renamed" folder are '''not''' in a consecutive sequence suitable for the Audacity recovery utilities. Instead, use the [https://wiki.audacityteam.org/wiki/Nyquist_Plugins Nyquist] plug-in [https://forum.audacityteam.org/viewtopic.php?f=42&t=59528 Append Import] to import the files end-to-end into Audacity automatically in file name order.  
'''Windows and Linux'''  
+
</ol>
 
+
}}
Follow the instructions on the [http://www.mesw.de/audacity/recovery/ Audacity Recovery Utility] page. On Linux, you may need to install additional libraries before you can use the utility, following the instructions provided.
 
 
 
'''Mac'''
 
 
 
Download the following utilities instead which are ready-compiled with the necessary libraries:
 
 
 
*[http://www.gaclrecords.org.uk/audacity_recovery_osx_ppc.zip for Power PCs]
 
*[http://www.gaclrecords.org.uk/audacity_recovery_osx_intel.zip for Intel Macs]
 
 
 
Then follow the instructions on the [http://www.mesw.de/audacity/recovery/ Audacity Recovery Utility] page from "About the Audacity Recovery Utility" onwards.
 
 
 
=== Aud_Recover command-line recovery utility ===
 
This is a portable command line program for Audacity 1.2 by Tyler Knott which does much the same as the Audacity Recovery Utility but is not written in python/ wxpython, so does not need those libraries in order to compile it.  Due to limitations in the C standard library this program cannot create files larger than 2 GB.
 
 
 
You can download aud_recover version 1.1.1 [http://2by2.info/aud_recover-1.1.1.zip here].  This download contains binaries for Windows (32-bit) and the cross-platform C source code.
 
 
 
To recover files using this program:
 
#Find the first and last files in the recording by listening to them (if you've only done one recording then that should be the first and the last files in the directory).
 
#Place the aud_recover program in your Audacity temp directory
 
#*aud_recover requires several settings to run.  You can either enter them as command-line options (use --help for more information) or interactively by simply running the program. Make sure you enter the name of both the first and last file as a number without leading zeros (for example, "b00001.au" should be entered as "1").
 
#*aud_recover will generate one or more files (depending on how many channels of audio you recorded, usually one for mono and two for stereo).  Import these into Audacity using the Import Raw Data option.  To configure the dialog, follow these directions:
 
#You can determine the sample format (the first drop-down) and the endianness (the second) using the included auinfo.exe. To do this, enter the full file name of one of the original files, for example "b00001.au" (without quotes). 
 
#*The header offset should be zero and the amount to import should be 100%.  No matter how many channels were recorded you should keep it set to 1 (see the next numbered step).
 
#*The sample rate should be set to the sample rate you recorded at (the sample rate given by auinfo is always 44100, even if that is incorrect, due to a bug in Audacity).
 
#*Repeat this step for every output file.
 
#For stereo files set the left channel to left, the right channel to right, then select "Make Stereo Track" from the track dropdown menu to convert it to a stereo track.
 
 
 
The resulting track should be exactly what was recorded before Audacity crashed.
 
 
 
If you have any questions, comments, or bug reports please don't hesitate to [mailto:[email protected]?subject=Aud_Recover email me] (tknott _at_gmail_dot_com).
 
 
 
=== audacity_rescue.sh ===
 
This shell script was created after a crash in order to reassemble a few thousand .au files. It is not perfect but may be simpler to apply (at a bash terminal) than some of the solutions mentioned on this page, particularly for mono recordings.
 
[https://gist.github.com/912222 https://gist.github.com/912222]
 
 
 
''If there is interest in a general purpose tool I am happy to develop it - [http://dylan-evans.github.com/2011/04/11/audacity-rescue.html Let me know]''
 
  
 
<div id="limitations"></div>   
 
<div id="limitations"></div>   
=== Limitations of above Audacity recovery tools ===  
+
=== Limitations of automatic recovery utilities ===  
 
 
* Recovery of unedited mono recordings made in Audacity 1.2 and 1.3 should be correct in most cases. 
 
* Recovery of unedited stereo recordings made in Audacity 1.2 should be correct in most cases. Unedited stereo recordings made in 1.3 may recover with transposed left/right channels in places. This is because the files for the separate channels may have identical timestamps.
 
* If any of the project data has been edited, it is unlikely to recover correctly, especially in Audacity 1.3. 
 
 
 
 
 
== Other Tools / scripts ==
 
This freeware tool can automatically join large numbers of files.  (Note: One Audacity user reported an audible noise at the places where the files were joined.)
 
 
 
* 123 Audio Video Merger: http://www.manitools.com/123avm/
 
 
 
* tail and cat (On Linux/UNIX systems)
 
    - I found that 123 AV Merger gave me exactly what I would get with cat.
 
    I  was able to get around this with the following procedure:
 
    1. I had to throw out all odd-numbered files (1,3,5...)
 
    2. Using tail's byte-count switch "-c" I copied each remaining .au to a new .au.tmp file
 
    3. Using cat I  ran all the .au.tmp files into on long .au
 
    4. Imported the final .au with "Import RAW Data"
 
    5. Exported the track as wav
 
 
 
    I played around with exactly how many bytes to tail until there was no longer any sharp noises at each joint. I don't have that number with me right now - I'll try to get it later.
 
This could be theoretically written into a script. I'll try to add more details later.
 
----
 
<a href="http://sox.sourceforge.net/">sox</a> can concatenate the files together.
 
 
 
Usage: sox file1 .. filen outfile
 
 
 
(Sox can handle up to 32 files at a time.)
 
 
 
e.g. for a mono recording:
 
  % sox b0000*.au b0001*.au b0002*.au junk0.au
 
 
 
After I'm done, I have just several au files to import (a lot fewer than before).
 
----
 
I created a hard-link backup of a directory full of 256 files named e00039df.au etc. with names that did not correspond to modification times, then used sox:
 
 
 
  % cp -la d00 d00.bak
 
  % cd d00
 
  % mv `ls --full-time e*.au|sort|head -n1|cut -d ' ' -f 9` 0.au
 
  % counter=0
 
  % while [ `ls e*.au|head -n1` ]; do
 
  >sox ${counter}.au `ls --full-time e*.au|sort|head -n30|cut -d ' ' -f 9` $[counter+1].au
 
  >rm -f `ls --full-time e*.au|sort|head -n30|cut -d ' ' -f 9` ${counter}.au
 
  >let counter=$[counter+1]
 
  >done
 
 
 
When the operation was completed, I moved the resulting .au file to the next directory full of files (d01 in this case) and renamed it to 0.au, then ran again:
 
 
 
  % counter=0
 
  % while [ `ls e*.au|head -n1` ]; do
 
  >sox ${counter}.au `ls --full-time e*.au|sort|head -n30|cut -d ' ' -f 9` $[counter+1].au
 
  >rm -f `ls --full-time e*.au|sort|head -n30|cut -d ' ' -f 9` ${counter}.au
 
  >let counter=$[counter+1]
 
  >done
 
 
 
rinsed & repeated for 4 directories with a total of 1.2GB
 
----
 
I found it easier to write the following Python script that I used under Mac OS X to recover 1.2GB of data.  It was easier than the above solutions.
 
<pre>
 
% cat recover.py
 
 
 
# python script to recover audacity recording after crash
 
 
 
import os
 
 
 
directory = raw_input('Enter directory where temp data files are: ')
 
 
 
rawfiles = os.listdir(directory)  # grab directory listing
 
 
 
files = []          # only interested in .au files and
 
for i in rawfiles:  # prepend each with the directory name
 
  if i[-3:] == '.au': files.append(directory+'/'+i)
 
 
 
files.sort()  # sort files so the result will be in proper sequence
 
 
 
# open the output file for the recovery
 
fp = open('recover.au','wb')
 
 
 
# write the whole first file because it has the header
 
dd = open(files[0],'rb').read()
 
fp.write(dd)
 
 
 
# for every other file, write from the data offset on
 
for i in files[1:]:
 
  dd = open(i, 'rb').read()[12380:]
 
  fp.write(dd)
 
 
 
# close recovered sound file
 
fp.close()
 
</pre>
 
 
 
I had problems using the above script.  I found that it didn't really write every other file, so if you try to recovery stereo recordings you get a nasty echo effect since every other file is the left or right channel.
 
 
 
<i>The problem with the script above is that you coded the slice wrong:
 
<pre>
 
>>> x=(1,2,3,4,5,6,7,8,9,10)  # sample data
 
>>> x[1:]                    # doesn't do what you wanted
 
(2, 3, 4, 5, 6, 7, 8, 9, 10)
 
>>> x[::2]                    # this gets the odd-numbered items
 
(1, 3, 5, 7, 9)
 
>>> x[1::2]                  # this gets the even-numbered ones
 
(2, 4, 6, 8, 10)
 
</pre>
 
So, you just need to change the line "for i in files[1:]:" to either "for i in files[::2]:" (for the first channel), or "for i in files[1::2]:" (for the other).</i>
 
 
 
I wrote this modified version of the script to try to put the two tracks into two recovery files.  Unfortunately, just importing the recovered files doesn't seem to give you perfect stereo again because of sync issues, possibly due to missing files in the recovery set.  Give it a shot, it might work for you.
 
 
 
<pre>
 
# python script to recover audacity recording after crash
 
 
 
import os
 
 
 
directory = raw_input('Enter directory where temp data files are: ')
 
 
 
rawfiles = os.listdir(directory)  # grab directory listing
 
 
 
files = []          # only interested in .au files and
 
for i in rawfiles:  # prepend each with the directory name
 
  if i[-3:] == '.au': files.append(directory+'/'+i)
 
 
 
files.sort()  # sort files so the result will be in proper sequence
 
 
 
# open the output file for the recovery
 
fp = open('recover.au','wb')
 
 
 
# write the whole first file because it has the header
 
dd = open(files[0],'rb').read()
 
fp.write(dd)
 
 
 
#this is intented for recoverying stereo and the second file should be the
 
# first part of the second track, so write the whole file.
 
 
 
fpp = open('recover2.au','wb')
 
# write the whole second file because it has the header for track 2
 
dd = open(files[1],'rb').read()
 
fpp.write(dd)
 
 
 
#it's stereo, so the .au files should alternate left & right channels, so files
 
#should be written to our two recovery files alternately starting with the 3rd file in our list
 
 
 
#count serves as a quick hack to let us alternate recovery files
 
count = 1
 
#this is just to give a quick count so you can see if the two recovery files got the same number of files added to them
 
track_one_files = 1
 
track_two_files = 1
 
# for every other file, write from the data offset on
 
for i in files[2:]:
 
  if count == 1:
 
#write to first recovery file
 
  dd = open(i, 'rb').read()[12380:]
 
  fp.write(dd)
 
  count = 0
 
track_one_files = track_one_files + 1
 
  else:
 
#write to second recovery file
 
dd = open(i, 'rb').read()[12380:]
 
  fpp.write(dd)
 
count = 1
 
track_two_files = track_two_files + 1
 
 
 
print "Files recovered for track 1:"
 
print track_one_files
 
print "Files recovered for track 2:"
 
print track_two_files
 
# close recovered sound files
 
fp.close()
 
fpp.close()
 
</pre>
 
----
 
I was unable to get sox to work as the above tip instructed.  Sox always complained about a missing operation or misinterpreted the filename of one of the Audacity temp files as a filter to perform on the other files.
 
 
 
So, I used sox in a different way.  I was trying to rescue an hour-long mono recording on a Unix-like system (a Fedora Core 3 GNU/Linux system).  First, I made a copy of the temp directory and its files:
 
 
 
<pre>
 
$ cp -r /tmp/audacity1.2-jbn ~/rescue
 
</pre>
 
 
 
Then I used sox to convert the AU temp files into raw files (headerless files).  Since Audacity had already numbered the files with leading zeroes (and perhaps because I didn't have that many of them to work on), I could use an ordinary shell wildcard to do the work:
 
 
 
<pre>
 
$ for f in b*.au ; do sox ${f} -t raw ${f}.raw ; done
 
</pre>
 
 
 
I concatenated the raw files together to make one hour-long mono raw file.  I had to use raw files to do this, concatenating the AU files together (each with its own header) would have produced a periodic noise (because Audacity was trying to interpret the AU header data as sound data).
 
 
 
<pre>
 
$ cat *.raw > bigfile.raw
 
</pre>
 
 
 
And then I imported the raw file into Audacity specifying the appropriate number and signedness of the samples (16-bit signed PCM, in my case), endianness (Big-endian, in my case), channels (1 channel for mono), and sample rate (44,100 samples per second, in my case).  I wanted to import the whole file (100%) starting from the beginning (0 byte offset).
 
 
 
I was left with a file I could export to WAV, play, and edit normally.
 
 
 
------
 
  
i tried to add the .au files to a winamp playlist ordered by date (ascending)
+
*There is a '''2 GB maximum size for any WAV file created from the reconstructed temporary files'''. This implies no more than 2000 .au files can be recovered. Sometimes (probably due to bugs in the utilities) there can be errors when recovering only 1000 or so files. In that case you would need to split the .au files in the temporary or_data folder into two or more folders, each containing consecutively numbered files, and recover a separate WAV file from each folder. 
then save the output as a wav file
+
* Recovery of unedited mono recordings should be correct in most cases.
this solved my problem. i hope it will help yours.
+
* Recovery of unedited stereo recordings may recover with transposed left/right channels in places. Channel allocation will only be correct if you are using the NTFS (Windows) or [https://en.wikipedia.org/wiki/Ext4 ext 4] (Linux) file system and if your file manager supports sufficiently fine date resolution (see the Windows example above). This is because the files for each channel may have timestamps that are too close together to be correctly distinguished by other file systems. 
(My project was a recording project so the order of files were easily understood)
+
* If any of the project data has been edited, it is unlikely to recover correctly.
  
------
+
== Other Tools / scripts  ==
I also had success with the winamp method using the write to disk output utilityDidn't work for me until I first converted each individual .au into .wav files then converted all the .wav files into a single .wav file.
+
{{note|There is no implication that these tools will necessarily do what you want, nor have they necessarily been tested by Audacity Team.}}  
  
------
+
=== Scripts for GNU/Linux and Mac ===
Yet another way to do it, this time with perl:
 
<pre>
 
#!/usr/bin/perl
 
use strict;
 
use warnings;
 
  
my $limit = 32; # Sox can only read this many files at a time
+
==== audacity_rescue.sh ====
my @files = <*.au>;
+
This [https://gist.github.com/mef/2c90295920dc66f669a6 shell script] can reassemble a few thousand .au files. It may be simpler to apply (at a bash terminal) than some of the solutions mentioned on this page, particularly for mono recordings.
  
my $count = 0;
+
==== SoX ====
while (my $set = join ' ',splice @files,0,$limit) {
+
<ol>
    my $cmd = "sox $set recovered_$count.au";
+
<li>Using [http://sox.sourceforge.net/ SoX], make a copy of the temp directory and its files from a mono recording:
    `$cmd`;
+
{{code|$ cp -r /tmp/audacity1.2-jbn ~/rescue}}
    unlink "recovered_" . ($count - 1) . ".au" if $count;
+
<li>Convert the AU files into raw (headerless) files. The files must already be time-sorted and numbered with leading zeroes:
    if (@files) {
+
{{code|$ for f in *.au ; do sox ${f} -t raw ${f}.raw ; done}}
        unshift @files,"recovered_$count.au";
+
<li>Concatenate the raw files together to make one long raw file. Concatenating the AU files together (each with its own header) would produce noise at the joins between each AU file. 
        $count++;
+
{{code|$ cat *.raw > bigfile.raw}}
    } else {
+
<li>Finally, import the raw file into Audacity specifying the appropriate encoding, endianness, channels and sample rate.
        rename "recovered_$count.au","recovered.au";
+
</ol>
    }  
 
}
 
</pre>
 
Run this in a directory full of .au's...
 
---
 
  
{{CategoryTroubleshooting}}
+
{{CategoryTips}}

Latest revision as of 12:50, 19 August 2021

Warning icon This page has been deprecated.
The information on this page are likely out-of-date and will not be updated in the forseeable future. It may be removed at any time.
If Audacity crashes or the computer loses power, Audacity should normally recover the projects automatically when you restart. The steps on this page describe how to recover audio from the project's _data folder or Audacity's temporary folder if:
  • Automatic Crash Recovery does not work correctly
  • You saved a project without apparent crash, but Audacity was shut down before the AUP project file was written or you do not have a usable AUP file.

The steps on this page will only recover unedited recordings (and stereo recordings may be recovered with sections of left and right channel in the wrong channel).

Warning icon This only works for Audacity 2.4.2 and earlier, It does not work on Audacity 3.0.0 and later which uses a single consolidated unitary project file.
Warning icon If the Automatic Crash Recovery dialog has appeared but recovery is incorrect, do not close the project or save any changes until manual recovery using these instructions is complete.
  • If you need to shut down the computer before manually fixing an incorrect Automatic Crash Recovery, force quit Audacity in the system task manager. This will preserve the temporary data for next launch of Audacity.
  • If you had successfully saved the project just before the crash, it may be simpler to discard the unsaved project in the Automatic Crash Recovery dialog then open the saved AUP file.

Location of the project _data folder

If you saved an AUP project file, the _data folder you need to recover from will be in the directory to which you originally saved the AUP file.

Location of Temporary Folder

If you never saved an AUP project file, you need to recover from Audacity's temporary folder. You can see the exact location in Directories Preferences, otherwise you can see the location in the "TempDir" line in the audacity.cfg settings file. By default the Audacity temporary folder should be as follows.

  • Windows: C:\Users\<your username>\AppData\Local\Audacity\SessionData
  • Mac: /Users/<your username>/Library/Application Support/audacity/SessionData
  • GNU/Linux: /var/tmp/audacity-<your username>

If you are upgrading from previous Audacity, that version's temporary directory may be changed to the relevant safe location above if the previous location was known to be prone to deletion by cleanup applications or system restart.

Bulb icon In order to see the default location of the Audacity temp folder on Windows or Mac you need to show hidden files and folders or type the folder location into your file manager's address bar.
  • Windows: In the tree on the left of Explorer, double-click "Users" then double-click your username, then on the right, open the AppData or Application Data folder, then the "Local" or "Locale Settings" folder and finally the "Temp" folder.

    If you cannot see those folders, you can type %localappdata% into the Explorer address bar then look for the "Temp" folder. Otherwise, see how to show hidden files and folders.

  • Mac: Open Finder, use the "Go" menu, choose "Go to Folder" and type the required path.
    If that does not work, try to make the Finder show its hidden files and folders by entering the following commands in the terminal:
    • defaults write com.apple.finder AppleShowAllFiles TRUE
    • killall Finder
    then relaunch Finder to show the hidden files. Alternatively, try TinkerTool to do the same thing, or you can type Shift-Command-Period(.) to show or hide hidden files and folders in an Open or Save dialog.

Manual recovery

If you only have a few AU files to recover, use the "Import Audio" command to open all the .au files from the Audacity temporary folder or project _data folder. Use shift-click or control-click to select multiple files. The files will be in approximately 6-second chunks and will be on separate tracks in the Audacity screen. Files from stereo tracks will alternate between left and right channels.

  1. Click in the Track Control Panel (by the Mute/Solo buttons) of the topmost track.
  2. Shortcut Z or Select > Region > Ends to Zero Crossings.
  3. Edit > Remove Special > Trim.
  4. Click in the Track Control Panel of the first track you want to join to the topmost track.
  5. Shortcut Z or Edit > Find Zero Crossings.
  6. Shortcut Z or Select > Region > Ends to Zero Crossings.
  7. Click after the end of the topmost track.
  8. Press End on the keyboard.
  9. Click Edit > Paste and the cut track will attach to the end of the topmost track.
  10. Repeat as necessary to join all the tracks onto the topmost track.

Play the result.

Cut and paste as needed if any files are found to be in the wrong order or the wrong channel.

Automatic recovery tools

Tools written for legacy Audacity 1.2 can automate data recovery.

Warning icon All these utilities require the .au files to be input in consecutive alphanumerical order. Audacity names files randomly so files will need to renamed.

Open Audacity's temporary or project _data folder in your system file manager. Sort the files by timestamp order (earliest first), then rename them using a consecutive alphanumerical sequence, lowest number first. An arrangement looking something like this should work:

b001.au 15:56:02
b002.au 15:56:02
b003.au 15:56:10
b004.au 15:56:10
Utilities for renaming files to consecutive alphanumerical order
  • On Windows, Explorer cannot rename to a sequence acceptable to the recovery tools. You can use instead the Mass Rename tool in the 21-day trial Professional or Ultimate versions of xplorer2. These versions will let you recover an unedited stereo recording with exact allocation of left and right channels, if Windows is running the NTFS file system. The free version of xplorer2 cannot guarantee correct channel allocation.
    1. (only in the Professional and Ultimate versions) Click View > Raw Contents to enable maximum date resolution.
    2. Open the required folder in xplorer2 and sort the .au files by time modified as above.
    3. Ctrl + A to select all the files.
    4. File > Mass Rename.
    5. In the "Mass Rename Wizard", click in "Target name template" and type the letter e with a $ after the letter. For example, e$0001.au will rename the files to e0001.au, e0002.au and so on. Use enough zeros in the file name so that all the .au files will have the same number of digits.
    6. Press "Preview", and if the preview looks correct, hit "Rename"
  • On Mac, try Applications > Automator.
  • On Linux, try the file manager Thunar included in the xfce desktop See here for help running Thunar on the Ubuntu desktop.


Linux command-line alternatives for timestamp sorting
  1. Open a terminal then "cd" into the directory that contains the .AU files.
  2. Type the following command in a terminal to sort and rename the files into numerical timestamp order:
    mkdir "renamed" | find -type f -name "*.au" -printf "cp %h/%f renamed/%h/%TY%Tm%Td-%TH%TM%TS_%f\n"|sh
  3. The file names produced in the "renamed" folder are not in a consecutive sequence suitable for the Audacity recovery utilities. Instead, use the Nyquist plug-in Append Import to import the files end-to-end into Audacity automatically in file name order.

Limitations of automatic recovery utilities

  • There is a 2 GB maximum size for any WAV file created from the reconstructed temporary files. This implies no more than 2000 .au files can be recovered. Sometimes (probably due to bugs in the utilities) there can be errors when recovering only 1000 or so files. In that case you would need to split the .au files in the temporary or_data folder into two or more folders, each containing consecutively numbered files, and recover a separate WAV file from each folder.
  • Recovery of unedited mono recordings should be correct in most cases.
  • Recovery of unedited stereo recordings may recover with transposed left/right channels in places. Channel allocation will only be correct if you are using the NTFS (Windows) or ext 4 (Linux) file system and if your file manager supports sufficiently fine date resolution (see the Windows example above). This is because the files for each channel may have timestamps that are too close together to be correctly distinguished by other file systems.
  • If any of the project data has been edited, it is unlikely to recover correctly.

Other Tools / scripts

There is no implication that these tools will necessarily do what you want, nor have they necessarily been tested by Audacity Team.

Scripts for GNU/Linux and Mac

audacity_rescue.sh

This shell script can reassemble a few thousand .au files. It may be simpler to apply (at a bash terminal) than some of the solutions mentioned on this page, particularly for mono recordings.

SoX

  1. Using SoX, make a copy of the temp directory and its files from a mono recording:
    $ cp -r /tmp/audacity1.2-jbn ~/rescue
  2. Convert the AU files into raw (headerless) files. The files must already be time-sorted and numbered with leading zeroes:
    $ for f in *.au ; do sox ${f} -t raw ${f}.raw ; done
  3. Concatenate the raw files together to make one long raw file. Concatenating the AU files together (each with its own header) would produce noise at the joins between each AU file.
    $ cat *.raw > bigfile.raw
  4. Finally, import the raw file into Audacity specifying the appropriate encoding, endianness, channels and sample rate.