ThaiTux.info - multimedia https://thaitux.info/taxonomy/term/46 audacity: บันทึกการลดเสียงรบกวน https://thaitux.info/node/854 <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><dl> <dt>กรณีเสียงรบกวนอยู่เป็นพื้นหลัง</dt> <dd> <li>ให้เลือกช่วงที่เป็นเสียงรบกวนพื้นหลัง -&gt; Effect -&gt; Noise Removal -&gt; Get Noise Profile</li> <li>เลือกทั้งหมด -&gt; Effect -&gt; Noise Removal -&gt; OK</li> </dd> <dt>กรณีเสียงรบกวนไม่ใช่เสียงที่คงที่ แต่ขี่อยู่บนเสียงพูด</dt> <dd> <li>เลือกทั้งหมด -&gt; Effect -&gt; Plug ins -&gt; Vocal Remover (for center-panned vocals)...</li> <li>Effect -&gt; Noise Removal -&gt; Get Noise Profile</li> <li>ปิดแทรกนี้ทิ้ง แล้วเปิดใหม่</li> <li>เลือกทั้งหมด -&gt; Effect -&gt; Noise Removal -&gt; OK</li> </dd> </dl> </div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Topic:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/46">multimedia</a></div><div class="field-item odd"><a href="/taxonomy/term/297">audacity</a></div></div></div> Tue, 26 Aug 2014 03:13:19 +0000 wd 854 at https://thaitux.info https://thaitux.info/node/854#comments bash script: แบ่งไฟล์สื่อออกเป็นหลาย ๆ ส่วน https://thaitux.info/node/699 <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>เห็น<a href="http://forum.ubuntuclub.com/forum/topic,17074.0.html">คำถามเกี่ยวกับการแบ่งไฟล์สื่อออกเป็นหลายส่วนที่ ubuntuclub.com</a><br /> ด้วยต้องการคลายเครียด จึงวางแผนลงมือเขียนสคริปต์ โดยคิดให้สคริปต์มีการทำงานดังต่อไปนี้</p> <ol> <li>หาความยาวสื่อ ด้วยโปรแกรม ffmpeg ด้วยคำสั่ง<br /> <pre>ffmpeg -i "$INFILE" 2&gt;&amp;1 | grep "Duration" | cut -d ' ' -f 4 | sed s/,//</pre></li> <li>หาความยาวแต่ละส่วน (ความยาวสื่อ ÷ จำนวนส่วนที่จะแยก)</li> <li>ใช้ mencoder มาตัดส่วน -ss คือ seek ไปยังตำแหน่ง, -endpos คือให้ประมวลผลเท่าใด (เป็นขนาดก็ได้ เป็นจำนวนเฟรมก็ได้ เป็นค่าเวลาก็ได้)</li> </ol> <p>เสร็จแล้วเขียนออกมาหยาบ ๆ และทดสอบไปเล็กน้อยว่าใช้งานได้จริงแล้วเลยเอามาบันทึกไว้กันลืมเสียหน่อย</p> <p>โดยผลลัพธ์ที่ได้ออกมาเป็นสคริปต์ sep_media.sh เป็นดังนี้:</p> <p><b>sep_media.sh:</b></p> <pre> <i><b>#!/bin/bash</b> # # Script for separate media file by MENCoder # by Thanomsub Noppaburana &lt;donga.nb@gmail.com&gt; # Usage: sep_media.sh # Example: # For separate Doraemon.avi into 20 parts with prefix "Doraemon_Part" # sep_media.sh Doraemon.avi Doraemon_Part 20 #</i> INFILE="$1" OUTFILEPREFIX="$2" TOTALPART="$3" EXTENSION="" [ ! -z "$INFILE" ] &amp;&amp; EXTENSION="`echo "$INFILE" | awk -F . '{print $NF}'`" <i>## ----------------------------------------------------------------- ## ## functions declaration ## ----------------------------------------------------------------- ##</i> <b>usage()</b> { echo echo -e "Usage:" echo -e "\t`basename $0` " echo -e "Example:" echo -e "\tFor separate Doraemon.avi into 20 parts with prefix \"Doraemon_Part\"" echo -e "\tsep_media.sh Doraemon.avi Doraemon_Part 20" echo } <b>getTotalLength()</b> { echo `ffmpeg -i "$INFILE" 2&gt;&amp;1 | grep "Duration" | cut -d ' ' -f 4 | sed s/,// | awk -F: '{ print ($1*3600)+($2*60)+$3 }'` } <b>getEachPartLength()</b> { echo $1:$2 | awk -F: '{ print $1/$2 }' } <b>separateMedia()</b> { TOTALPART=$1 TOTALLENGTH=$2 EACHPARTLENGTH=$3 for ((i=0;i&lt;$TOTALPART;i++)) do STARTPOS=`echo $i $EACHPARTLENGTH | awk '{print ($1*$2)+0.01}'` echo "=====================================================================================================" echo " Separating media part $i: $OUTFILEPREFIX$i.$EXTENSION : " echo "-----------------------------------------------------------------------------------------------------" mencoder -of lavf -oac copy -ovc copy -o $OUTFILEPREFIX$i.$EXTENSION -ss $STARTPOS -endpos $EACHPARTLENGTH $INFILE echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" done } <i>## ----------------------------------------------------------------- ## ## main program ## ----------------------------------------------------------------- ##</i> if [ -z "$INFILE" -o -z "$OUTFILEPREFIX" -o -z "$TOTALPART" ]; then usage exit 0 fi TOTALLENGTH=`getTotalLength` EACHPARTLENGTH=`getEachPartLength $TOTALLENGTH $TOTALPART` separateMedia $TOTALPART $TOTALLENGTH $EACHPARTLENGTH </pre><h3>วิธีใช้งาน:</h3> <p>ตัวอย่างเช่น ต้องการแยก Doraemon.avi เป็น 20 ส่วน โดยให้ไฟล์ที่โดนแยกนำหน้าด้วยชื่อ "Doraemon_Part"</p> <pre>sep_media.sh Doraemon.avi Doraemon_Part 20</pre><p>ซึ่งก็จะได้ผลลัพธ์เป็นแฟ้ม Doraemon_Part0.avi ถึง Doraemon_Part19.avi ออกมา เป็นต้น</p> <h3>ดาวน์โหลด:</h3> <p>ผู้สนใจสามารถดาวน์โหลดไปใช้ได้เลยครับ <a href="http://www.fileden.com/files/2010/2/18/2766294/sep_media.sh">ดาวน์โหลดสคริปต์ sep_media.sh</a><br /> จากนั้นเซฟไว้ใน search path และอย่าลืมตั้ง permission ให้ประมวลผลได้ก่อน ด้วยคำสั่ง</p> <pre>sudo chmod ugo+x /path/to/sep_media.sh</pre><p>เป็นอันพร้อมใช้งานครับ ^_^</p> </div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Topic:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/46">multimedia</a></div><div class="field-item odd"><a href="/taxonomy/term/96">bash</a></div><div class="field-item even"><a href="/taxonomy/term/97">tip</a></div></div></div> Tue, 10 Aug 2010 06:34:01 +0000 donga 699 at https://thaitux.info https://thaitux.info/node/699#comments debian: บันทึกการแปลงไฟล์ amr เป็น mp3 https://thaitux.info/node/697 <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>มีงานต้องแปลงไฟล์เสียงสกุล amr ไปเป็น mp3 เพื่อแจกจ่าย พบปัญหาว่า</p> <ul> <li>เมื่อแปลงแล้วจะเกิดเสียง hiss มาก</li> <li>เสียงต้นฉบับเบามาก</li> <li>lame ไม่รู้จัก amr</li> </ul> <p>ทางแก้ไขคือ</p> <ul> <li>ปัญหาเสียง hiss เกิดจากการแปลงด้วยออปชั่นปกติหรือเพิ่มออปชั่นที่ไปเพิ่มคุณภาพเสียง แก้ด้วยการใช้ lame โดยใส่ออปชั่นว่าไม่ต้องพยายามเพิ่มลดอะไรจากต้นฉบับ <code>-q9</code></li> <li>ปัญหาเสียงเบา แก้ด้วยการ normalize</li> <li>ปัญหา lame ไม่รู้จัก amr แก้ด้วยการแปลงจาก amr เป็น wav ก่อน ด้วย ffmpeg แล้วจึงแปลงเป็น mp3 ด้วย lame</li> </ul> <p>โปรแกรมที่ต้องการใช้งานคือ ffmpeg, normalize-audio, lame จาก <a href="http://debian-multimedia.org">debian-multimedia.org</a><br /> (ผมใช้ squeeze ให้เปลี่ยนตามที่ใช้จริง)</p> <pre>$ <strong>sudo vi /etc/apt/sources.list</strong></pre><pre>... deb http://www.debian-multimedia.org squeeze main non-free ...</pre><pre>$ <strong>sudo apttiude update</strong></pre><pre>$ <strong>sudo aptitude install ffmpeg normalize-audio lame</strong></pre><p> คำสั่งที่ใช้คือ</p> <pre>$ <strong>for i in *amr; do ffmpeg -i "$i" /tmp/x.wav normalize-audio /tmp/x.wav lame -q9 /tmp/x.wav /PATH/TO/NEW/FILE/${i%amr}mp3" rm /tmp/x.wav done</strong> </pre><p> จะได้ไฟล์ mp3 ที่คุณภาพและขนาดไฟล์ใกล้เคียงกับต้นฉบับ amr และไม่มีเสียง hiss ตามต้องการ</p> </div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Topic:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/46">multimedia</a></div><div class="field-item odd"><a href="/taxonomy/term/159">mp3</a></div><div class="field-item even"><a href="/taxonomy/term/195">lame</a></div><div class="field-item odd"><a href="/taxonomy/term/318">amr</a></div><div class="field-item even"><a href="/taxonomy/term/319">ffmpeg</a></div></div></div> Tue, 20 Jul 2010 06:34:25 +0000 wd 697 at https://thaitux.info https://thaitux.info/node/697#comments multimedia https://thaitux.info/node/474 <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>บันทึกการทำงานเกี่ยวกับไฟล์ภาพ เสียง และวิดีโอ</p> </div></div></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Topic:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/46">multimedia</a></div></div></div> Sat, 16 Feb 2008 11:39:05 +0000 wd 474 at https://thaitux.info https://thaitux.info/node/474#comments