2 Soepkip The Next Generation
3 ----------------------------------------------------
4 by Eric Lammerts <eric@lammerts.org>
9 https://github.com/eric321/soepkiptng
14 * file format support:
15 - MP3 (including id3/id3v2 tag reading, id3v2 tag writing)
16 - Ogg-Vorbis (including Vorbis comment reading/writing)
17 - flac (including Vorbis comment reading/writing)
18 - CD/DA (reading directly from CD, using cdparanoia)
20 - raw (headerless 44.1kHz/16bit/2ch/little-endian files)
21 - Video (everything supported by MPlayer: MPEG, AVI, ASF, WMV, Quicktime,
23 - midi/mod (using TiMidity++)
27 - WMA & RealAudio (all formats that are supported by your mplayer)
29 * supports playing Shoutcast streams (MP3 / Ogg Vorbis)
30 * player uses real-time scheduling and memory locking for uninterrupted music
31 playback; zero silence period between two songs (very nice for consecutive
33 * song information is kept in a MySQL database, but can be written back
34 to mp3 files (using ID3v2) or ogg/flac files (using vorbis comments) too.
35 * lyrics support; Lyrics can be entered manually or downloaded automatically
36 from http://www.purelyrics.com and http://www.lyricsdomain.com.
37 They can be read from and written to mp3 files using id3v2 tags.
38 * volume correction to avoid clipping
39 * plays from request queue; plays random songs if nothing is on the request
41 * versatile web interface:
42 - supports browsing, searching, requesting songs,
43 killing current song, editing song information etc.
44 - very fast (thanks to mod_perl)
45 - configurable look (CSS style)
46 - tested with Netscape, Mozilla, Konqueror, Opera & MSIE.
47 * commandline interface
48 * partial emulation of a Music Player Daemon on port 6600
49 (http://www.musicpd.org/doc/protocol/), for use with Conky
50 (http://conky.sourceforge.net/)
57 (3.23 recommended; 3.22 cannot do case-insensitive regexps)
64 - TermReadKey (optional)
66 * programs for decoding the various sound formats:
67 - mp3: madplay >= 0.15.0 (http://www.mars.org/home/rob/proj/mpeg/)
68 - midi/mod: TiMidity++ (http://www.goice.co.jp/member/mo/timidity/)
69 - wav, flac, ogg, ac3, aac, alac, shorten, ape: mplayer
70 - CD/DA: requires cdparanoia (http://www.xiph.org/paranoia/)
71 - Video: requires MPlayer (http://http://www.mplayerhq.hu/)
72 * programs for tag reading/writing:
74 - ogg: ogginfo, vorbiscomment
76 The webinterface used to run under Apache using mod_perl, but I've switched
77 to running as a separate webserver. The Apache method may still work, but is
78 now completely untested.
80 Perl modules can be installed directly from CPAN by starting "perl -MCPAN
81 -e shell" (you must answer some configuration questions if you do this for
82 the first time) and typing "install Some::Module".
85 On a Debian or Ubuntu system you can install all the necessary software with
89 - libcompress-zlib-perl
91 - libmpeg-mp3info-perl or libmp3-info-perl
92 - libterm-readkey-perl (optional)
94 - madplay (for mp3 support)
96 - flac (for flac support; >= 1.04)
97 - vorbis-tools (for Ogg-Vorbis support)
99 - cdparanoia (optional; for CD-DA support)
100 - libcddb-get-perl (optional; for CD-DA support)
105 * compile the helper applications:
106 cd src; make; sudo make install
107 The binaries will be placed in the 'bin' subdirectory.
108 * create the database:
109 sudo mysql -u root < soepkiptng_create.my
110 * reload the grant tables:
111 sudo mysqladmin reload
112 * copy soepkiptng.conf.example to either:
113 - /etc/soepkiptng.conf
115 - any file named in $SOEPKIPTNG_CONFIGFILE
116 (or edit soepkiptng.lib if you want a different location)
117 * edit the config file to taste
118 * make the directory /var/local/soepkiptng and make sure
119 it's writable for the user that will run soepkiptngd
120 * run soepkiptng_update to add songs to the database
121 * run soepkiptngd -d to start playing with debugging on.
122 If everything works alright, start it without -d to run it in the
123 background. Debugging output is then sent to
124 /var/local/soepkiptng/soepkiptng.err, which is automatically rotated if
125 the size reaches 64Kbyte. Make sure file permissions in
126 /var/local/soepkiptng are OK. If you sometimes run soepkiptngd as root and
127 sometimes as non-root you can expect problems.
128 * run soepkiptng_httpd -d to start the webinterface. By default it runs on
130 If everything works alright, start it without -d to run it in the
132 * for status display through conky, put something like this in your .conkyrc:
133 ${mpd_artist} - ${mpd_title} (${mpd_album}, \#${mpd_track}) ${mpd_elapsed}/${mpd_length}
134 If you don't want soepkiptngd to listen on port 6600, add mpd_port=0 to
140 * write man pages for all scripts & executables
141 * better interface / web interface for 'see also' feature
142 * clean up Shoutcast support (separate table, multiple urls per name with
144 * lirc support (IR remote)
145 * play directly from urls
146 * smb support (playing/updating directly from Windoze shares)
148 * ripping integration
149 * multiple soepkiptng daemons & request queues
150 * remote playing using esd (Enlightenment Sound Daemon), http streaming or
152 * message input that will be played using a text-to-speech program
153 * user-level access control (limit access to database editing / song requests)
155 * make music format more modular; maybe support xmms plugins (well, they suck)
156 * silence before random songs
157 * fade-out/fade-in in pause/resume
158 * cleanup Xing VBR info detection (it's a quick hack now)
159 * scan VBR mp3s without Xing VBR header for length
160 * Ogg-Vorbis embedded songinfo support (reading/writing)
161 * cleanup resampling & mono->stereo conversion
162 * smooth transition between 2 songs (interpolation)
163 * synchronize update of statusfile with cdrplay
164 * CD-DA support: don't re-enter info into db every time you click "CD-DA"
165 maybe use persistent info and cddb disc_id?
172 soepkiptng is (c) copyright 2000-2010 Eric Lammerts <eric@lammerts.org>
174 This program is free software; you can redistribute it and/or modify
175 it under the terms of the GNU General Public License, version 2, as
176 published by the Free Software Foundation.
178 This program is distributed in the hope that it will be useful,
179 but WITHOUT ANY WARRANTY; without even the implied warranty of
180 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
181 GNU General Public License for more details.
183 A copy of the GNU General Public License is available on the World Wide Web
184 at `http://www.gnu.org/copyleft/gpl.html'. You can also obtain it by
185 writing to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
186 Boston, MA 02111-1307, USA.