June 3, 2013

കമാന്റ്‌‌ ലൈനിൽ നിന്നും ഓഡിയോ റിക്കോർഡിങ്

 കുറച്ചു ദിവസം മുമ്പ് പ്ലേ ചെയ്തുകൊണ്ടിരിക്കുന്ന ഓഡിയോ കുറച്ച് റിക്കോർഡ് ചെയ്യേണ്ട ആവശ്യമുണ്ടായി. സൗണ്ട് സിസ്റ്റം കുറച്ചുനാൾ മുമ്പ് പണിഞ്ഞ് ഒരു വഴിക്കാക്കിയതിനാൽ  audacityയിൽ കാര്യം നടന്നില്ല. എന്നാൽ പിന്നെ കമാന്റ് ലൈൻ തന്നെ ശരണം എന്നു കരുതി ആ വഴിക്ക് അന്വേഷണം തുടങ്ങി. അവസാനം pacat & sox ഉപയോഗിച്ച് താഴെ പറയുന്നതു പോലെ ഓഡിയോ റെക്കോർഡ് ചെയ്യാമെന്ന് ഒരിടത്തു കണ്ടു.
1. ഓഡിയോ ഡിവൈസ് കണ്ടുപിടിക്കുക : ടെർമിനലിൽ നിന്ന്
pacmd list |grep monitor എന്നു റൺ ചെയ്യുക. ഈ കമാന്റ്‌‌ റൺ ചെയ്യുമ്പോൾ താഴെ കാണുന്നവിധം ഔട്ട്പുട്ട് കിട്ടും. അതിൽ  "alsa_output.pci-0000_00_1b.0.analog-stereo.monitor" എന്നതാണ് നമുക്ക് വേണ്ട സിങ്ക് സോഴ്സ്.
        monitor source: 0
        name:
        monitor_of: 0
                device.class = "monitor"
                alsa_output.pci-0000_00_1b.0.analog-stereo.monitor/#0: Monitor of Internal Audio Analog Stereo

2. pacat --record -d  alsa_output.pci-0000_00_1b.0.analog-stereo.monitor| sox -t raw -r 44100 -e signed-integer -L -b 16 -c 2 - "output.ogg" എന്ന കമാന്റിൽ -d ക്കു ശേഷം നേരത്തേ കണ്ടുപിടിച്ച സിങ്ക് സോഴ്സ് കൊടുത്ത് റൺ ചെയ്താൽ ആ സമയത്ത് കമ്പ്യൂട്ടർ പ്ലേ ചെയ്തുകൊണ്ടിരിക്കുന്ന ഓഡിയോ output.ogg എന്ന ഫയലിൽ കിട്ടും. റിക്കോർഡിങ് നിർത്താൻ ctrl+c അമർത്തുക.

ഇനി ഈ .ogg ഫയൽ mp3 ആക്കണമെങ്കിൽ ffmpeg -i output.ogg output.mp3 എന്ന കമാന്റ്‌‌ റൺ ചെയ്താൽ output.mp3 എന്ന mp3 ഫയൽ കിട്ടും.

No comments:

Post a Comment