Soulseek | |
Developer: | Nir Arbel |
Released: | [1] [2] |
Programming Language: | C++, Qt |
Operating System: | Microsoft Windows, and macOS and Linux in the newest Qt client |
Language: | English, Dutch, French, German, Italian, Russian, Spanish, Polish, Estonian |
Genre: | Peer-to-peer file sharing |
License: | Proprietary freeware |
Soulseek is a peer-to-peer (P2P) file-sharing network and application, used mostly to exchange music.
The current Soulseek network is the second to have been in operation, the same management runs both. The older network, used up to version 156 of the client, was shut down after significant user inactivity. Version 157 of the client was the last for Microsoft Windows only, and work on it ceased in 2008. Its replacement, SoulseekQt, is available for Windows, macOS, and Linux.[3] SoulseekQt has slightly different functionality compared to the 157 client interface.[4]
As a peer to peer (P2P) file sharing program, the accessible content is determined by the users of the Soulseek client, and what files they choose to share. The network has historically had a diverse mix of music, including underground and independent artists, unreleased music, such as demos and mixtapes, bootlegs, live tracks, and live DJ sets, but releases from major and independent labels can also be found.[5]
Soulseek depends on a pair of central servers. One server supports the original client and network Version 156, with the other supporting the newer network (functioning with clients 157 and Qt).[6] While these central servers are key to coordinating searches and hosting chat rooms, they do not actually play a part in the transfer of files between users, which takes place directly between the users concerned. (See Single Source Downloads below).
Users can search for items; the results returned being a list of files whose names match the search term used.[7] Searches may be explicit or may use wildcards/patterns or terms to be excluded. For example, searching for blue suede -shoes will return a list of files whose names containing the strings blue and suede, but files containing the string shoes in their names will be excluded.
A feature specific to the Soulseek search engine is the inclusion of the folder names and file paths in the search list. This allows users to search by folder name. For example, typing in experimental will return all the files that are contained in folders having that name, providing quick access to bands and albums in a determined musical genre.
The list of search results shows details, such as the full name and path of the file, its size, the user who is hosting the file, together with that users' average transfer rate, and brief details about the encoded track itself, such as bit rate, length, etc. The resulting search list may then be sorted in a variety of ways and individual files (or folders) chosen for download.
The Soulseek protocol search algorithms are not published, as those algorithms run on the server.
Soulseek does not support multi-source downloading or "swarming" like other post-Napster clients, and must fetch a requested file from a single source. (By contrast, swarming allows a requested file to be sourced from a number of users who have that file, thus pieces of the file may be downloaded concurrently from a number of sources, typically giving improved performance.)
All Soulseek clients contain a ban feature whereby selected users may be banned from requesting files. This is in response to users who might be free-riding (i.e. taking files from others without sharing any files themselves) or who might be causing a nuisance for other reasons, such as a personal argument through the chat facilities or just taking up a user's bandwidth by downloading too many files, or simply on the whim of the banning user. Banning can be a contentious subject, and was the subject of much discussion in the user forums particularly in the early days . Users with download privileges can still be banned.
While Soulseek, like other P2P clients, allows a user to download individual files from another by selecting each one from a list of search results, a Download Containing Folder option simplifies the downloading of entire albums. For example, a user who wishes to facilitate the distribution of an entire album may place all tracks relating to the album together in a folder on the host PC, and the entire contents of that folder (i.e. all the album's track files) can then be downloaded automatically one after the other using this one command.
The Soulseek client features two file transfer monitoring windows where the progress of files being uploaded and downloaded can be monitored and controlled.
Users may complete a profile which contains basic free-form text information (e.g. basic information about themselves or their 'file transfer rules') together with a list of things they like, a list of things they dislike, and optionally an image file. These items may then be viewed by other users when selecting the username from a list of members in a chat room or a list of files returned by a search.
The list of items a user likes may also be used to obtain global rankings for that item in the Soulseek community or to obtain recommendations from other users who have the same items in their list of things they like.
The Soulseek 156, 157 and Qt clients provide a "wishlist" feature which functions like a stored search. Search terms are input as entries in a wishlist and each wishlist entry is then periodically executed as a search automatically by the client software, returning results as appropriate.
While the Soulseek software is free, a donation scheme exists to support the programming effort and cost of maintaining the servers. In return for donations, users are granted the privilege of being able to jump ahead of non-donating users in a queue when downloading files (but only if the files are not shared over a local area network).
Like numerous other software titles, Soulseek has a set of forums where users may seek help on a variety of topics, such as technical aspects of using the software. Separate forums now support clients 156 and 157, and Qt. The first blog was created in the latter part of 2003.
Soulseek is entirely financed by donations, with no advertising or user fees. Nir Arbel writes, as of July 1, 2008:
In 2003 the artist Sapphirecut contacted Soulseek in an effort to stop the group's music from being shared amongst users; when Soulseek's server host Verio became aware of the situation, they dropped the network and it was unavailable for weeks.
Soulseek claims to be against copyright violation and that the purpose of their service is to promote unsigned artists.This is a quote from their homepage:
Soulseek was taken to court in 2008 by two French music industry groups. The groups alleged that Soulseek is designed to permit unauthorized access to copyrighted works.[8]
The original Soulseek user base around 2000 was composed mostly of members of the IDM mailing list,[9] and most of the music first found on Soulseek was underground electronic music or music created by the users themselves. Aided by Soulseek users, the developer Nir Arbel released new versions of the client very frequently, in response to user requests for new features or bug fixes.
There is no known published usage data. Soulseek got a first boost in 2001 when Napster was closed down and then a second boost in 2002 when the site Audiogalaxy was closed down. Nir Arbel stated in an interview published December 26, 2003 that there were, at that time, over a million registered usernames and that 80,000–100,000 users log on during peak hours.[10] The increase in Soulseek users after the shutdown of Audiogalaxy was plainly evident from a before-and-after comparison of chat room populations. Before the shutdown of its competitor, Soulseek's most-joined chat rooms averaged 50 or so people. After the shutdown, the population of these chat rooms increased to 100 or more.
Soulseek is more of a community than a simple file sharing client. In Soulseek, users can connect with other users with similar music tastes to share files and to chat. Users even have the ability to create their own chat rooms and invite other users with similar tastes to discuss their favorite music. Many musicians from the electronic scene are themselves too part of this Soulseek community. In summer 2004, Soulseek users from all the world met in Augsburg, Germany. Every year since then, that meeting still takes place at a digital arts festival called Lab30 (30 being the street number of the Abraxas Theater) in Augsburg, Germany, organized by longtime Soulseek user Manfred Genther and other Augsburg locals. This festival focuses on showcasing digital musicians, digital artists, and netlabels from all over the world. Many Soulseek artists have performed at the festival, and a large number of them have performed live for the first time there. Lab30 has steadily grown in size since the first event and continues to be a meeting place for the musicians and users of Soulseek. Attendees usually come from all over Europe and the United States. Lab30 is a well known event in Augsburg and widely supported and cherished by the Augsburg music and art scene.
Many of the original Soulseek users are also music producers, and Soulseek Records (not to be confused with "SLSK Records") was formed in 2002.
The first release was 139, which ran for about 12 months from 2002–03. Following a change in servers, a new version was released to coincide with this event. Whilst the main interface has largely remained unchanged since its inception, additional features such as the chat room 'ticker' were introduced into the 156 version.
Version 156 first appeared in 2005.[11] A second 'test' version of the server, version 157, was set up shortly afterwards, which became the primary client in 2008.
Since July 6, 2008, there have been two versions of the Soulseek client, with entirely different users, user groups, and files. The older version, v.156 is progressively being wound down,[12] but still operates as of August 2011, albeit with few users. Users are not obligated to upgrade, and new users may still inadvertently download the 156 client.
The 157 "test" network has been around since 2005, to circumvent poor search capability on the 156 client. The v.157 test 12c was released in November 2007. All recent versions have several bugs which can hang or cause the system to stop searching or downloading.
The client SoulseekQT Public Build 1 was released in 04/19/2011.[13]
For the older clients (156 and 157) no official client was developed for non-Windows operating systems, but a number of unofficial third-party clients existed at the time. Development of third-party clients was discouraged (but not prohibited), as coding errors or explicit circumvention of network rules in third-party clients had, at times, a drastic negative impact on the Soulseek network.
Nicotine+ is an actively maintained fork of the now defunct Nicotine client. Nicotine+ uses a grahical interface, and runs under GNU/Linux, *BSD, Solaris, Windows, and macOS.[14] It is currently maintained by a team of volunteers with its source hosted on GitHub.[15] It uses Gtk+ 3, Python 3, and supports UPnP. Stable[16] and unstable[17] packages are available for Alpine Linux Edge, Arch Linux, Debian, Fedora, Gentoo, Manjaro, NixOS, OpenBSD, Parabola, Solus, T2 SDE and Void Linux.[18] Nicotine+ is also available as a Flatpak, as of release version 2.0.0[19] and Snap.
Nicotine+'s defunct predecessor Nicotine also ran on all Unix-based systems, such as Mac OS X, and on Microsoft Windows.[20] It is in turn based on the original PySoulSeek project. It may still be available from some package distributors on Linux-based systems.[21]
PySoulSeek was a Soulseek client written in Python that runs under Linux/FreeBSD/Solaris and other Unix-based operating systems. PySoulSeek runs under Mac OS X but with some difficulty.[22]
slskd and Museek+ are Soulseek clients utilizing a client-server model,[23] though the latter is no longer under development.
Seeker is a Soulseek client for modern Android devices. GoSeek was a Soulseek client for older Android devices (before Android Nougat).
MewSeek was originally iSlsk, a Soulseek client for iPod Touch and iPhone clients running jailbroken versions of iOS. MewSeek no longer supports Soulseek.
Clients for Mac OS X included Soulseex (ssX)[24] and iSoul.[25] iSoul was based on an earlier client called Solarseek.[26]