Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| wiki:scripts_and_tools [2011/06/30 17:06] – emrum | wiki:scripts_and_tools [2017/12/03 11:22] (current) – [Lisalo - Linux Sampler Loader] nilsge | ||
|---|---|---|---|
| Line 19: | Line 19: | ||
| \\ | \\ | ||
| - | ==== lscp2rgd - linuxsampler | + | ==== 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:// | ||
| \\ | \\ | ||
| Line 127: | 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 209: | Line 316: | ||
| . | . | ||
| - | ==== Tips ==== | ||
| + | ==== Extract Audio from Video and recombine ==== | ||
| + | (help by Robin Gareus @lau-ml) | ||
| - | === use a proper python shell === | + | === with ffmpeg |
| - | (by Torben Hohn, 28. September 2010 01:16 ) | + | < |
| + | #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 ===== | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ==== use a proper python shell ==== | ||
| + | \\ | ||
| + | (by Torben Hohn, 28. September 2010 01:16 ) | ||
| + | \\ | ||
| ipython is there for quite some time. | ipython is there for quite some time. | ||
| and i recently discovered bpython | and i recently discovered bpython | ||
| - | [[http:// | + | * [[http:// |
| - | [[http:// | + | * [[http:// |
| this is where the fun starts | this is where the fun starts | ||
| Line 229: | Line 502: | ||
| doctests also pretty much kick ass. | doctests also pretty much kick ass. | ||
| + | \\ | ||
| [[http:// | [[http:// | ||
| + | |||
| + | |||
| + | \\ | ||
| + | \\ | ||
| + | |||
| + | |||
| + | ==== Tip: Pianoteq - software synth - on Linux ==== | ||
| + | \\ | ||
| + | (tip by: Edward Diehl, LAD, 2012-09-02) | ||
| + | \\ | ||
| + | I wanted to mention that Pianoteq does provide a linux VST which does | ||
| + | work in Ardour and Qtractor. | ||
| + | output channels which Ardour does not seem to like (because it expects | ||
| + | stereo output). | ||
| + | name (e.g. Pianoteq.so to Pianoteq_2chan.so) , the plugin will output | ||
| + | only 2 channels and work happily in Ardour. | ||
| + | \\ | ||
| + | \\ | ||
| + | |||
