|
|
Subscribe / Log in / New account

Development

Digitizing Vinyl Records with Audacity

By Forrest Cook
October 28, 2008

The Audacity sound editor is an excellent application with many uses. Your author recently started working on a long-term project to convert the better parts of his ancient vinyl phonograph record collection to FLAC files so that they could be added to his digital audio library. Audacity was chosen to do the audio recording and processing work.

Prior to undertaking such a project, one must first assemble the appropriate equipment. An older desktop computer with an Athlon 2500 processor and 500MB of RAM was used for the computing platform. Besides a sufficiently powerful CPU, the second most important piece of hardware is a decent sound card. An M-AUDIO Delta 44 was chosen. Standard sound cards should also work, but the Delta 44 has higher quality A-D converters that are mounted external to the computer for lower noise. The Ubuntu Studio distribution was used on the machine, although any current Linux distribution should work.

The turntable is an ancient Technics SL-D3 and a Pioneer SX-780 receiver is used as the phono preamp. One of the Tape Record Outputs from the Pioneer receiver is fed into the Delta 44 sound card with an appropriate set of adapter cables. The turntable's tracking weight, anti-skid settings and platter speed should all be adjusted appropriately. One of the new USB turntables could probably be used here if you don't already have access to the legacy hardware.

The Audacity sound editor needs to be set up by entering the Edit->Preferences menu, the audio quality was set to 44,100 Hz sampling at 16 bits (standard CD quality). Depending on your needs, other sample rates can be used. One of the more important configuration steps involves making sure the Software Playthrough button in the Audio I/O preference window is deselected. On this particular machine, enabling Software Playthrough results in audible sample loss on the recording. Audio monitoring is done through the Pioneer receiver. The audio meter should be enabled on the main Audacity window and the GNOME ALSA sound mixer is used to set the sound card input levels. The machine is now ready to record.

[Audacity]

It is a good idea to make a few test recordings on various album tracks to set the sound card's input level adjustment. A loud track should be played and the input level should be adjusted to achieve fairly high readings on the meter without any clipping.

Unless you only need to extract one track, it is best to record an entire album side in one pass. Recording should be enabled prior to setting the needle on the record, and disabled after the needle has been lifted. Be sure to use an appropriate record cleaner on the disc to get rid of any dust particles.

When an album side has been successfully recorded and the levels look reasonable, it is time to do some trimming. Listen to the beginning of the recording with the volume up a bit, At some point the sound will probably begin with a fade in. Select the audio from the beginning of the recording, past the initial pop from the needle landing in the groove, and ending a few seconds before the first track starts. Delete the selection with Edit->Delete. Next, select from the new beginning to where the sound begins. Use Effect->Fade In to make a smooth transition from quiet to the beginning of the audio. Perform a similar edit at the end of the album side. Delete everything from a few seconds beyond the last sound to the end of the recording and put a Fade Out at the end of the side.

If your album has a few clicks and pops, now is the time to remove them. Select the entire recording with Edit->Select->All and de-click with Effect->Click Removal. The default click filter settings seem to work fairly well.

The next step involves putting labels at the beginning of each song, assuming the album's material is not one long track. First, create a label track with Tracks->Add New->Label Track. Hit the << rewind button and type Control-B, this puts a label at the beginning of the recording. Move through the album side and put more labels at the middle of each song transition. It is a good idea to zoom in and put the label on a wave zero-crossing point to prevent clicks at the beginnings of individual tracks. If you zoom in, you can often see a change in wave patterns that is left over from the master tape splice. The recording should now look something like the first frame of the Audacity Images.

It is a good idea to listen carefully to the entire recorded album side. If the recording has any obnoxiously loud clicks and pops that weren't removed with the Click Removal step, Audacity can smooth them out. To smooth out a click, locate the offending waveform by playing and pausing, then zoom in multiple times until the click is visible. Select a small region around the click (< 128 samples) and use Effect->Repair to smooth out the waveform. Zoom out and play the area where the click removal was performed to verify the operation. Audacity is very forgiving, if you don't like the results of the click removal or make another type of mistake, Edit->Undo will reverse most operations. An example Repair operation is shown in the Audacity Images.

At this point, it is time to split the album side into individual audio files. Select File->Export Multiple, chose the desired export format such as WAV, select Split files: based on labels and Name files: Numbering consecutively. Click the Export button and click Audacity will render the individual track files. Audacity can create .mp3 and .flac files at this point, or that can be done at a later time. At this point, you exit Audacity and save any edit information if you think you will need to work on the recording later.

The same operations are performed on the B-side of the record. Your author likes to use a short BASH script to rename the Audacity-generated file names to his own name scheme. The track files are all grouped together in one directory, converted to FLAC format with the command FLAC *.wav. A meta-data text file is created with digitizing notes, track titles and any other information that you wish to save. Lastly, all of the files are played one more time to verify that there are no problems. The original album side tracks can now be safely deleted to reclaim some disk space.

With enough editing effort, it is possible to make a digital copy of a vinyl record that sounds better than the original. Performing all of the above steps on a large collection of albums is a big undertaking, but the reward comes in turning a hard to play discrete music library into an easy to play digital library.

For furthur information on this topic, see the followup article.

Comments (9 posted)

System Applications

Audio Projects

Rivendell 1.1.0 released

Version 1.1.0 of Rivendell has been announced. "Rivendell is a full-featured radio automation system targeted for use in professional broadcast environments. It is available under the GNU General Public License." Several new capabilities have been added in this release.

Full Story (comments: none)

Database Software

MySQL 5.1.29-rc has been released

Version 5.1.29-rc of the MySQL DBMS has been announced. "We are proud to present to you the MySQL Server 5.1.29-rc release, a new "release candidate" version of the popular open source database. Bear in mind that this is still a "candidate" release, and as with any other pre-production release, caution should be taken when installing on production level systems or systems with critical data."

Full Story (comments: none)

MySQL 6.0.7 Alpha has been released

Version 6.0.7 Alpha of the MySQL DBMS has been announced. "MySQL 6.0 includes two new storage engines: the transactional Falcon engine, and the crash-safe Maria engine."

Full Story (comments: none)

PostgreSQL Weekly News

The October 26, 2008 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.

Full Story (comments: none)

sqlmap: 0.6.1 released (SourceForge)

Version 0.6.1 of sqlmap has been announced, it includes new features and bug fixes. "sqlmap is an automatic SQL injection tool. Once it detects a SQL injection on the target host you can perform an extensive back-end DBMS fingerprint, enumerate users, password hashes, privileges, databases, dump DBMS tables/columns and much more."

Comments (none posted)

Networking Tools

IPtables-tng version 2.1 for kernel-2.6.25.* released (SourceForge)

Version 2.1 of IPtables-tng has been announced. "iptables-TNG (The Next Generation of iptables) An environment that can use from different packet classification algorithm (eg. tuple) to support large rulesets (more than 10,000 rules) for high bandwidth networks. New release of iptables-tng for kernel-2.6.25 and iptables-1.4.1 is ready."

Comments (none posted)

Printing

CUPS 1.4b1 released

Version 1.4b1 of CUPS, the Common Unix Printing System, has been announced. "The first beta release of CUPS 1.4 is now available from: http://www.cups.org/software.php The new release adds over 65 changes and new features to CUPS 1.3.x."

Comments (none posted)

Web Site Development

Upcoming Django releases

The Django web development platform project has announced the upcoming release schedule. "With Django 1.0 out the door and a successful inaugural DjangoCon behind us, it's time to look ahead to the future, which includes two releases: * Django 1.1, currently targeted for release in March 2009. * Django 1.0.1, currently targeted for release next month."

Comments (none posted)

Miscellaneous

DebXO 0.3 released

Version 0.3 of DebXO, a Gnome/Debian distribution for the OLPC XO laptop, has been announced. "Here's a (mostly) bugfix release of DebXO. There was a nasty bug related to JFFS2 and kernel upgrades in 0.2; this release fixes it."

Full Story (comments: none)

Desktop Applications

Animation Software

PySwfdec 0.8.0 announced

Version 0.8.0 of PySwfdec has been announced, it features an API update and improved documentation. "Swfdec is the library for decoding and rendering Flash animations. It is still in heavy development. The intended audience are developers or people using it for pretested Flash animations (think embedded here). If you use it on unknown content, expect it to have issues and don't be surprised if it crashes. If you encounter such a crash however, make sure to file a bug immediately. PySwfdec is a wrapper which exposes the Swfdec API to the python world."

Full Story (comments: none)

synfig 0.61.09 released

Version 0.61.09 of synfig, a vector-based 2D animation package, has been announced. "Synfig version 0.61.09 was released on October 21st 2008. It is the result of several months of contributions by the free software community. It has security fixes, far fewer bugs, several usability enhancements, a few new features and other improvements."

Full Story (comments: none)

Audio Applications

Ardour 2.6.1 released

Version 2.6.1 of the Ardour multi-track audio workstation system has been announced. "A bit sooner than expected, we have a fix for one very notable and ugly bug that was still affecting 2.6 (plugin automation tracks would be drawn in the wrong place on the screen). As a result, Ardour 2.6.1 is now available."

Comments (none posted)

Audacity 1.3.6 released

Version 1.3.6 of the Audacity audio editor has been announced. "This release highlights exciting new capabilities developed by our students in Google Summer of Code (GSoC) 2008: * FFmpeg support (downloadable separately) permits import and export of a much wider range of file formats, including WMA, M4A and AC3, plus import of audio from video files * On-demand loading of uncompressed files eliminates the wait before files can be played or edited * Linked audio and label tracks allow labels to move with their corresponding audio when cutting, pasting or changing speed or tempo * Hierarchical plug-in grouping for built-in plug-ins".

Comments (none posted)

Business Applications

Announcing Sarasvati Workflow

The Sarasvati project has been announced. "Sarasvati is an open source workflow/business process management engine for Java and Haskell. It is currently in beta, and is already suitable for use in many projects."

Full Story (comments: none)

Desktop Environments

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at gnomefiles.org.

Comments (none posted)

KDE Software Announcements

The following new KDE software has been announced this week: You can find more new KDE software releases at kde-apps.org.

Comments (none posted)

Xorg Software Announcements

The following new Xorg software has been announced this week: More information can be found on the X.Org Foundation wiki.

Comments (none posted)

Desktop Publishing

LyX version 1.6.0 RC4 and RC5 released

Versions 1.6.0 RC4 and RC5 of LyX, a GUI front-end for the TeX typesetter, have been announced. "LyX 1.6.0 will be the culmination of 14 months of hard work since the release of the LyX 1.5 series. We sincerely hope you will enjoy the result. As usual with a major release, a lot of work that is not directly visible has taken place. The core of LyX has seen more cleanups and some of the new features are the direct results of this work."

Full Story (comments: 1)

Electronics

Announcing the GECKO3 System-on-Chip Co-Design Environment

OpenCollector.org has announced the GECKO3 System-on-Chip Co-Design Environment. "The GECKO system is a general purpose hardware/software co-design environment for real-time information processing or for system-on-chip (SoC) solutions. The GECKO system supports a new design methodology for system-on-chips, which necessitates co-design of software, fast hardware and dedicated real-time signal processing hardware."

Comments (none posted)

GUI Packages

pyFltk 1.1.3 has been released.

Version 1.1.3 of pyFltk has been announced. "This is a maintenance release of pyFltk, supporting fltk-1.1.9 and Python2.6. Changes include various bug fixes, and added wrappers for add_fd and remove_fd. PyFltk is a Python wrapper for the fltk GUI toolkit, allowing for the simple and easy creation of GUIs from Python. Supported platforms include Windows, Unix, Mac."

Full Story (comments: none)

Interoperability

Wine 1.1.7 announced

Version 1.1.7 of Wine has been announced. Changes include: "Improved device management for DOS drives, Many Richedit fixes, Various installer fixes, particularly for IE 7, First steps of Direct3D 10 implementation and Various bug fixes."

Comments (none posted)

Multimedia

Elisa Media Center 0.5.16 released

Version 0.5.16 of Elisa Media Center has been announced. "This release brings its usual lot of bug fixes and introduces new features, some of which were long awaited. Here are the main highlights: - Search videos in Youtube - Same level of support for subtitles in Linux and Windows - Updated Polish and Italian translations."

Full Story (comments: none)

Office Suites

KOffice 2.0 Beta 2 released (KDE.News)

Version 2.0 Beta 2 of KOffice has been announced. "The KOffice Team has announced the release of KOffice version 2.0 Beta 2, the second beta version of the upcoming version 2.0. The goal for the second beta is to show progress made since beta 1, as well as to gather feedback from both users and developers on the new UI and underlying infrastructure."

Comments (none posted)

Digital Photography

Caliph and Emir: Lire 07 released (SourceForge)

Version 0.7 of Lire has been announced. Lire is part of Caliph and Emir: "Java & MPEG-7 based tools for annotation and retrieval of digital photos and images, supporting semantic annotation and content based, meta-data based and semantic image retrieval. The sub project Lire offers a library for content based image retrieval. Lire 0.7 is a major release fixing a lot of bugs and introducing several new features including new descriptor, a simplified way to use descriptors by introducing new generic searchers and indexers as well as an generalized interface for image descriptors."

Comments (none posted)

Video Applications

Theora 1.0 RC2 announced

Version 1.0 RC2 of Theora, a video CODEC, has been announced. "Apologies are in order for the delay in getting 1.0 Final out, but the big word in the 1.0 release is STABILITY. The core team has found some last minute bugs that needed ironing out and they are being taken care of. In spite of this, we are close to see a proper release very soon and, as a stop-gap, all the latest developments have been collected into a new Release Candidate which you are invited to try."

Full Story (comments: 2)

Languages and Tools

Perl

Parrot 0.8.0 released

Version 0.8.0 of Parrot has been announced, it includes some new features and bug fixes. "On behalf of the Parrot team, I'm proud to announce Parrot 0.8.0 "Pareto Principle." Parrot is a virtual machine aimed at running all dynamic languages."

Full Story (comments: none)

Python

NumPy 1.2.1 released

Version 1.2.1 of NumPy, a package for scientific computing with Python, has been announced. "This bugfix release comes almost one month after the 1.2.0 release. Please note that NumPy 1.2.1 requires Python 2.4 or greater."

Full Story (comments: none)

Python-URL! - weekly Python news and links

The October 27, 2008 edition of the Python-URL! is online with a new collection of Python article links.

Full Story (comments: none)

IDEs

Pydev 1.3.23 released

Version 1.3.23 of Pydev has been announced, it adds new capabilities and bug fixes. "PyDev is a plugin that enables users to use Eclipse for Python and Jython development -- making Eclipse a first class Python IDE -- It comes with many goodies such as code completion, syntax highlighting, syntax analysis, refactor, debug and many others."

Full Story (comments: none)

Pydev 1.3.24 Released

Version 1.3.24 of Pydev and Pydev Extensions have been announced. "This is a high-priority release to fix some blocker bugs (that's why it was released in such a short time from the last release)".

Full Story (comments: none)

Version Control

Announcing repo - the multiple Git repository tool

Shawn O. Pearce has announced the release of repo, the multiple Git repository tool. "repo is a Python application to bind together Git repositories, something like "git submodule", except it can track a project's branch rather than a specific Git commit. repo is also able to natively import a tarball or zip file and use it to initialize a repository from an upstream source, then apply git based changes on top of that tarball. In other words, repo is (more or less) built to manage an OS distribution, in Git."

Full Story (comments: none)

Page editor: Forrest Cook
Next page: Linux in the news>>


Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds