Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
wiki:scripts_and_tools [2011/06/15 10:04] – create script and tools section as suggested by S. Massy - emrum | wiki:scripts_and_tools [2012/05/10 00:00] – [save and restore irq process priorities] emrum | ||
---|---|---|---|
Line 5: | Line 5: | ||
. | . | ||
+ | |||
+ | ==== wav file to specimen bank (sampler format) script ==== | ||
+ | |||
+ | * see here: [[/ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | ==== lscp2rgd - linuxsampler to rosegarden instrument ==== | ||
+ | |||
+ | * see: [[/ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== midi to hydrogen ==== | ||
+ | |||
+ | * [[/ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | |||
+ | ==== SFZ (sound-bank-definition) to Hydrogen (drumkit xml-file) ==== | ||
+ | |||
+ | |||
+ | * [[/ | ||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== script: create a hydrogen drumkit from wav files === | ||
+ | |||
+ | thanks to Thijs van Severen | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | \\ | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | \\ | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | \\ | ||
+ | |||
==== aj-snapshot - Store ALSA and JACK connections state ==== | ==== aj-snapshot - Store ALSA and JACK connections state ==== | ||
Line 107: | Line 153: | ||
. | . | ||
- | === convert sound files with libsndfile === | + | ==== convert sound files with libsndfile |
- | sndfile-convert | + | |
+ | === convert all FLAC files in a directory to OGA format (vorbis-encoded stream in ogg-container) === | ||
+ | \\ | ||
+ | ** Note: ** There is a simple and excellent GUI tool available for audio conversion: [[http:// | ||
+ | It is included in the ubuntu repository. | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | <code bash> | ||
+ | # | ||
+ | |||
+ | ## UPDATE: | ||
+ | ## there are no options to control that, or compression rate. | ||
+ | ## so rather use " | ||
+ | ## there is also a py-script called " | ||
+ | |||
+ | # initial code by Emanuel Rumpf 2012-04 | ||
+ | # any re-use and modification permitted | ||
+ | |||
+ | # convert all FLAC files in a directory to OGA format | ||
+ | # (compressed, | ||
+ | # | ||
+ | # USAGE: | ||
+ | # first install libsndfile - in ubuntu: | ||
+ | # sudo | ||
+ | # | ||
+ | # copy this script to the files directory, make it executable | ||
+ | # edit config options below if necessary, run it | ||
+ | |||
+ | # TODO: allow file-names with spaces | ||
+ | |||
+ | |||
+ | # CONFIGURE HERE | ||
+ | |||
+ | # select file extension: | ||
+ | EXT_OLD=" | ||
+ | EXT_NEW=" | ||
+ | |||
+ | # select directory for new vfiles | ||
+ | OUT_DIR=" | ||
+ | |||
+ | # add -vorbis parameter to sndfile-convert call | ||
+ | CONVERT_OPT=" | ||
+ | |||
+ | |||
+ | # CODE START | ||
+ | |||
+ | mkdir -p " | ||
+ | |||
+ | # apply to all flac files in current directory | ||
+ | FILES=*${EXT_OLD} | ||
+ | |||
+ | for f in $FILES | ||
+ | do | ||
+ | |||
+ | fn=`basename " | ||
+ | fn=" | ||
+ | |||
+ | comm=" | ||
+ | echo " | ||
+ | $comm | ||
+ | echo "" | ||
+ | |||
+ | done | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | </ | ||
+ | \\ | ||
+ | \\ | ||
+ | < | ||
+ | # There is a possilbe alternative, | ||
+ | # | ||
+ | # warning: this is not verbose | ||
+ | |||
+ | |||
+ | # for all files in current directory (.) execute libsndfile-convert | ||
+ | # | ||
+ | find . -name " | ||
+ | |||
+ | </ | ||
. | . | ||
Line 115: | Line 242: | ||
==== conversion examples with sox ==== | ==== conversion examples with sox ==== | ||
- | FIXME | + | convert a .wav file to raw PCM - here 8bit ('' |
+ | sox INFILE.wav -t raw -r 48k -e signed -b 8 -c 2 OUTFILE.raw | ||
- | . | + | convert raw CD digital audio (16-bit, signed-integer) to floating point wav: |
+ | sox input.cdda -e float output1.wav | ||
+ | |||
+ | generate ('' | ||
+ | sox -n OUTFILE.wav synth 3 sine 300-3300 gain -5 | ||
+ | |||
+ | The format-options must be given before the filename for which they' | ||
+ | Synopsis: | ||
+ | sox [global-options] [format-options] infile1 \ | ||
+ | [[format-options] infile2] ... \ | ||
+ | [format-options] outfile \ | ||
+ | [effect [effect-options]] ... | ||
+ | | ||
+ | Common encoding-types for '' | ||
==== conversion examples with ecasound ==== | ==== conversion examples with ecasound ==== | ||
FIXME | FIXME | ||
+ | |||
+ | . | ||
+ | |||
+ | |||
+ | |||
+ | ==== move regions, markers, temi in an Ardour session ==== | ||
+ | |||
+ | A script to slide every regions, markers, tempi, meters, automations, | ||
+ | |||
+ | " | ||
+ | |||
+ | by Aurélien | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
. | . | ||
Line 130: | Line 287: | ||
==== spaces to underscores ==== | ==== spaces to underscores ==== | ||
- | < | + | < |
#! /bin/bash | #! /bin/bash | ||
# | # | ||
Line 158: | Line 315: | ||
. | . | ||
+ | |||
+ | |||
+ | ==== Extract Audio from Video and recombine ==== | ||
+ | (help by Robin Gareus @lau-ml) | ||
+ | |||
+ | === with ffmpeg === | ||
+ | |||
+ | < | ||
+ | |||
+ | #extract audio | ||
+ | ffmpeg -i orig_video.wmv audio_out.wav | ||
+ | |||
+ | #replace audio | ||
+ | ffmpeg \ | ||
+ | -i orig_video.wmv \ | ||
+ | -i new_audio.wav \ | ||
+ | | ||
+ | -map 0.0 -map 1.0 \ | ||
+ | | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | Details: | ||
+ | run `ffprobe` to see which is the video-track in the .wmv file | ||
+ | usually this is " | ||
+ | | ||
+ | | ||
+ | and " | ||
+ | |||
+ | You may want to add " | ||
+ | Windows Media Audio 2 or whatever audio-codec/ | ||
+ | -codecs | grep " | ||
+ | Audio. | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | BTW. Ardour3 with videotimeline patch can do all this for you. | ||
+ | import, | ||
+ | |||
+ | |||
+ | |||
+ | >> Thanks. It is 0:0 and 0:1 and -b:a=192k I found, but I have some sync problems after recombining tho. Any other ideas? | ||
+ | |||
+ | My gut feeling is to blame ffmpeg' | ||
+ | a bit-exact copy of the original video with your new soundtrack). | ||
+ | |||
+ | < | ||
+ | |||
+ | Try using ' | ||
+ | same quality rather than a bit-exact copy - this often solves muxing | ||
+ | issues but will cause a small loss of either video quality or increased | ||
+ | bandwidth). | ||
+ | |||
+ | </ | ||
+ | |||
+ | and also try a different output format eg. ' | ||
+ | instead of ' | ||
+ | |||
+ | < | ||
+ | |||
+ | you may need both, this should work: | ||
+ | ' | ||
+ | |||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | === with mencoder === | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | \\ | ||
+ | |||
+ | === posssibly other options === | ||
+ | |||
+ | \\ | ||
+ | * kdenlive | ||
+ | * ardour3 + video patch | ||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | |||
+ | ==== JACKdbus - Desktop integration - backend-switching ==== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ==== save and restore irq process priorities ==== | ||
+ | \\ | ||
+ | <code bash> | ||
+ | |||
+ | #!/bin/bash | ||
+ | # | ||
+ | # rtirq_power: | ||
+ | # | ||
+ | # This script is called when a change in power status happens, when | ||
+ | # suspending it saves a list of all irq process priorities, when | ||
+ | # resuming it changes the priorities of the proper irq processes | ||
+ | # to the saved values | ||
+ | # | ||
+ | # Copyright (c) 2012 Fernando Lopez-Lezcano | ||
+ | # | ||
+ | # This program is free software; you can redistribute it and/or | ||
+ | # | ||
+ | # as published by the Free Software Foundation; either version 2 | ||
+ | # of the License, or (at your option) any later version. | ||
+ | # | ||
+ | # This program is distributed in the hope that it will be useful, | ||
+ | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
+ | # | ||
+ | # GNU General Public License for more details. | ||
+ | # | ||
+ | # You should have received a copy of the GNU General Public License along | ||
+ | # with this program; if not, write to the Free Software Foundation, Inc., | ||
+ | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
+ | |||
+ | . " | ||
+ | |||
+ | case $1 in | ||
+ | hibernate|suspend) | ||
+ | /bin/ps -eo rtprio=, | ||
+ | ;; | ||
+ | thaw|resume) | ||
+ | restorestate rtirq | while read IRQPRIO IRQCOMM ; do | ||
+ | if [ -n " | ||
+ | IRQPID=`/ | ||
+ | if [ -n " | ||
+ | PRIO=`/ | ||
+ | if [ ${PRIO} -ne ${IRQPRIO} ] ; then | ||
+ | / | ||
+ | fi | ||
+ | fi | ||
+ | fi | ||
+ | done | ||
+ | ;; | ||
+ | *) exit $NA | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | < | ||
+ | |||
+ | A first try at using a pm-utils script. This script saves the priority state of all irq* processes and restores them after a resume. It only restores the priority for processes that still exist after the resume, and will do nothing for new processes (ie: you plugin a usb card while the computer is sleeping). That would be taken care by my previously posted udev script which would change priority of newly inserted soundcards. I put 05rtirq it in / | ||
+ | |||
+ | </ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | |||
==== Tips ==== | ==== Tips ==== |