File: pitchplay

package info (click to toggle)
cdrkit 9:1.1.11-3
  • links: PTS
  • area: main
  • in suites: bullseye, buster, jessie, jessie-kfreebsd, sid, stretch
  • size: 7,464 kB
  • sloc: ansic: 107,182; perl: 968; sh: 481; makefile: 229; sed: 4
file content (39 lines) | stat: -rwxr-xr-x 1,005 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#! /bin/sh
#
# Script to play audio tracks with different pitches 
# through a soundcard (cdda2wav must have soundcard
# support enabled).
#
# Pitches are specified in percentage with 100% being
# the original pitch, 50% being one octave lower, 200%
# one octave higher.
#
# based on a script from Raul Sobon, who created the pitch
# feature. Thanks Raul.
#
# usage: pitchplay <track a> <pitch a> <track b> <pitch b> ...
#
# example: pitchplay 1 90  3 140  5 50
# will play track 1 with a pitch of 90%,
#           track 3 with a pitch of 140%, and
#           track 5 with a pitch of 50%.
#
CDDA2WAV=icedax
#CDDA2WAVOPTS="-qeNP0 -n75"
CDDA2WAVOPTS="-qeNP0 -n40"

if [ $(( $# % 2 )) -eq 0 ]; then
  while [ $# -ge 2 ]; do
    echo playing track $1 with a pitch of $2%
    $CDDA2WAV $CDDA2WAVOPTS -t $1 -p $2
    RES=$?
    if [ $RES -ne 0 ]; then
      echo "$CDDA2WAV error, return value "$RES". Aborted." >&2
      break
    fi
    shift 2
  done
else
  echo "usage: $0 [<Tracknr> <Pitch>] ..." >&2
fi