82

For few days I've been trying to find a voice recorder, but I'm frustrated.

Skype working fine and alsamixer

enter image description here

I'm using pulseaudio.

When I open the below softwares, my microphone stops working, even skype doesn't work. I only hear noise. If I uninstall the softwares and reset pulseaudio it becomes normal again.

Tried Audacity -- I hear noise only.
Tried audio-recorder -- Recording but lots of noise.

I need a good working software to record voice.

Need help.

Abu Abdallah
  • 2,204
  • 6
  • 25
  • 38

9 Answers9

130

You can very simply record audio through terminal using the pre-installed tool arecord.

  1. Open a terminal (Ctrl+Alt+T)
  2. Run the command

    arecord filename.wav
    
  3. Your audio recording has started, press Ctrl+C to stop the recording.

  4. Your voice recording has been saved as filename.wav in your home directory.

EDIT:
If you have multiple inputs you can find them using

arecord -l

which will list hardware devices that can then be selected using the -D flag. Listing looks like...

**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC269VB Analog [ALC269VB Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

When choosing a particular device I used the following to select a USB headset.

arecord -D hw:1,0 -f S16_LE filename.wav    

Note that the device selection was based on the following listing which comes straight from the -l listing.

card 1: Headset [HP Digital Stereo Headset], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
pomsky
  • 68,507
  • 17
    I think this answer deserves to be the chosen answer for it's simplicity and no need to install any external softwares – Surya Teja Karra Feb 10 '16 at 13:43
  • This is nice but it's not clear how to record audio out (like for recording skype,webrtc,etc) – user1133275 Dec 14 '18 at 20:23
  • 3
    man arecord deserves to be quoted : -q --quiet Quiet mode. Suppress messages (not sound :)) – Skippy le Grand Gourou Feb 11 '19 at 13:27
  • 3
    It isn't really clear how the output of -l translates into -D hw:1,0 -f S16_LE. – Laurence Gonsalves Apr 06 '20 at 05:53
  • 5
    arecord will record awful quality without further configuration. For me, arecord -fS24_3LE -r48 test.wav yielded a decent quality. (For speech, one can probably go lower than 48kHz; choosing a "big" format seems key. Be aware that not all can be processed further in all ways! For instance, flac wouldn't accept FLOAT_LE.) – Raphael Jun 05 '20 at 15:46
52

Try Audio Recorder.

Audio Recorder is a recording program, that allows user to record audio from various sources, and allows you to save recording in various formats.

To install, just press Ctrl+Alt+T on your keyboard to open Terminal. When it opens, run the command(s) below:

sudo add-apt-repository ppa:osmoma/audio-recorder
sudo apt-get update
sudo apt-get install audio-recorder

For Ubuntu versions higher than 15.10 there is a new ppa which can be found at https://launchpad.net/~audio-recorder/+archive/ubuntu/ppa

sudo add-apt-repository ppa:audio-recorder/ppa
sudo apt-get update
sudo apt-get install audio-recorder

Make sure your microphone is connected to your computer and well configured. Run this command: alsamixer to check your microphone level.

Also you can use sox to record your voice, it can be installed from the Ubuntu Software Center, r install it from the terminal with this command:

sudo apt-get install sox

Edit

You can also look at Ardour.

Ardour is a powerful digital audio workstation that gives you everything you need to record, edit, mix, and arrange professional audio.Ardour

To download, and more info, check out their website

Other programs to look at are MHWaveEdit, and KWave

Dennis
  • 2,473
Mitch
  • 107,631
  • 1
    It's working but the problem is, it creates noise. How can I remove the noise. – Abu Abdallah Jun 29 '14 at 16:09
  • There nothing that you can do software wise with it. I use a noise canceling microphone, see if that helps. – Mitch Jun 29 '14 at 16:15
  • What is that..? – Abu Abdallah Jun 29 '14 at 16:17
  • Take a look at This. – Mitch Jun 29 '14 at 16:30
  • My microphone works great with skype, no noise. But audio-recorder creates noise. – Abu Abdallah Jun 29 '14 at 16:34
  • Without the low frequency your answer is not for me. Because high frequency makes noise, which was my main problem. – Abu Abdallah Jul 15 '14 at 09:56
  • Take a look at the additions in my answer. – Mitch Jul 15 '14 at 10:45
  • 1
    If any one is using Laptop make sure you try to record from lowest frequency. For Audio Recorder, mp3 doesn't work for me because of high frequency but wav works fine because of low frequency. – Abu Abdallah Jul 15 '14 at 10:54
  • W: The repository 'http://ppa.launchpad.net/osmoma/audio-recorder/ubuntu xenial Release' does not have a Release file. N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. N: See apt-secure(8) manpage for repository creation and user configuration details. E: Failed to fetch http://ppa.launchpad.net/osmoma/audio-recorder/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Not Found E: Some index files failed to download. They have been ignored, or old ones used instead. – Dims Apr 21 '19 at 13:00
  • @Dims Which Ubuntu version are you running? – Mitch Apr 21 '19 at 15:44
11

I always prefer shell commandline, I use below command to record voice:

avconv -f pulse -i default /home/$USER/Music/$(date +"%m%d%Y_%H%M%S_$HOSTNAME")_screencast.wav

to stop it press q

UPDATE:

Ubuntu switched to FFMPEG again as of Ubuntu 15.04 "Vivid Vervet"

The above command will continue to work by replacing avconv with ffmpeg

ffmpeg -f pulse -i default /home/$USER/Music/$(date +"%m%d%Y_%H%M%S_$HOSTNAME")_screencast.wav
kenn
  • 5,162
10

Another one to look for is gnome-sound-recorder, it was added in 2014. It is simple and just records input from the mic.

It is packaged 16.04 in the universe repo (named gnome-sound-recorder).

Zanna
  • 70,465
John Eikenberry
  • 307
  • 3
  • 6
3

If you are looking for only voice recording I'd suggest QARecord. It's a very simple application built with QT.

Mostafiz Rahman
  • 272
  • 5
  • 14
2

Make sure that your microphone sound level is not muted and that you have your microphone selected and turned up in Audacity.

1

ffmpeg + module-echo-cancel

I have managed to achieve good sound quality with low background noise by:

I'm not sure why, but some recording methods don't seem to pick up the noise cancelling, on my tests so far:

  • arecord: no
  • recordmydesktop: no
  • kazam: yes

but it might be a question of passing the right command line option to the ones that didn't.

Another possible advantage of ffmpeg arecord is that it might support more output formats/effects and save that directly to the output file. I'm not sure if this is a good idea (delays due to encoding/effects processing?), but it seems to work, e.g. save to mp3 and add a tremolo effect:

ffmpeg -f alsa -i default -af tremolo=d=0.8 -t 30 out.wav

Maybe if you know how filters work it is possible to do something from ffmpeg itself, e.g. with highpass/lowpass: https://superuser.com/questions/733061/reduce-background-noise-and-optimize-the-speech-from-an-audio-clip-using-ffmpeg

Tested in Ubuntu 20.04.

1

Yet another program to record voice is fmedia. You can start recording with a single command:

fmedia --record --out=rec.flac

and stop recording by pressing Ctrl+C.

fmedia uses ALSA, so it works even if PulseAudio is not installed on your system.

1

I know this is a hack, but it's the solution I opted for after trying quite a few of the solutions here and it worked perfectly.

I used the default voice recorder on my Android phone. There was no background noise (which I had with other software) and the interface was relatively friendly.

To transfer the files to my computer over wifi I used ES File Explorer (see section 16 here).

To convert the files from 3gp to mp3:

sudo apt-get install libav-tools
avconv -i YourInputFileName.3gp -c:a libmp3lame YourOutputFileName.mp3

Or to mass convert all:

cd /path/to/your/folder/
for x in `ls *.3gp`; do avconv -i $x -c:a libmp3lame $x.mp3; done
# If I wasn't too lazy I'd remove the .mp3 extension too.

And to concatenate to one recorded file I used mp3wrap (install also with apt-get)