This is directed to an application for providing a preview of audio elements, such as songs.
Today's electronic devices, such as desktop computers and portable music players, are capable of storing a large amount of media. For example, users commonly maintain large collections of music on their electronic devices.
Because music collections may be expansive, locating songs that suit a user's current mood may be difficult. To find music of interest, users often initiate a shuffle mode to randomly play songs, skipping songs that are not of interest. Alternatively, users may create playlists containing songs that the user expects to enjoy when played together and when in certain frames of mind. However, only if a user happens to have a playlist suitable for the user's current mood would such a feature be useful.
Systems, methods, and machine-readable media (e.g., computer-readable media) are disclosed for providing an audio preview of music on an electronic device, such as a portable media player (e.g., Apple's iphone or ipod). For simplicity, an audio preview of various songs provided in accordance with the principles of the invention may sometimes be referred to as a “scan preview.” The scan preview may, among other things, allow users to browse a large number of songs quickly, enable users to easily and effectively locate a particular song from a large collection of songs, and may enable users to identify songs and create playlists on-the-fly that suit the user's current mood.
In some embodiments of the invention, a scan preview can involve successively playing portions of songs (or “snippets”) from different categories or music groups. This way, a user can experience different types of songs to determine which type suits the user's current mood, for example. The different categories may be different genres, artists, albums, release dates, download dates, or song speeds (e.g., by beats per minute (BPM)). The electronic device providing the scan preview may play a snippet of one song in a category before moving to the next category, or may play snippets from multiple songs (e.g., 2, 5, 10, or 25 songs) in the same category before moving to the next category. In some embodiments, the electronic device may play snippets of songs until a user selection of a song is received, at which time the electronic device can take any of a variety of suitable actions (e.g., create a playlist based on the selected song).
In some embodiments, a user can control the progression of the song snippets in the scan preview. For example, the user can control the length of each snippet that is played or the category of music that is previewed. In some embodiments, to provide user control, the electronic device can provide a user-controllable pointer. The user-controllable pointer may be scrollable through the different categories. For example, the categories may be distributed along a sliding bar, and the user may move the pointer with respect to the sliding bar to select a particular category. The electronic device can determine the position of the pointer, identify one of the categories based on the current position, and select and play a portion of a song in the identified category. To change the song being previewed, the user can select a different category using the pointer. Upon detecting movement of the pointer, the electronic device can select and play a portion of a different song in the newly selected category.
In some embodiments, the user-controllable pointer may be able to scroll through multiple positions associated with the same category. For example, the electronic device can provide a sliding bar having multiple positions associated with the same category, or may provide a different graphical representation of the category. When the user-controllable pointer is at a first position with respect to the sliding bar, the electronic device may play a portion of a first song in the category. The user may move the pointer to preview a different song. Upon detecting the pointer's movement with respect to the sliding bar, the electronic device may select a second song in the same category. By allowing a user to preview multiple songs in the same category, the user is given ample opportunity to determine whether songs of that category are currently of interest.
Optionally, the electronic device may select the second song at random. As used herein, selecting a second element “at random” or “randomly” refers to choosing an element that is not necessarily adjacent to the first element. The term is not intended to suggest pure randomness or even pseudo-randomness. For example, here, the electronic device can select any song in the same category, and not just the next song in the user's music library. A shuffle mode may be one example of a technique for randomly selecting songs.
In some embodiments, a scan preview may progress between song snippets automatically without user input. For example, an electronic device can define several music groups, where each music group includes a plurality of songs. In some embodiments, each music group may include songs that a server, for example, determines are most suitable to be played with one another. Groups of this nature may be referred to sometimes as “seed-generated” clusters, because a server (or other electronic device) may use one song as a seed to identify other songs that belong in the same music group. Once the music groups are defined, the electronic device can play, in succession, a portion of one song from each of the music groups. During the scan preview, the user can select a song that is playing, and the electronic device can, for example, create a playlist that includes songs related to the music group of the selected song. For example, the playlist can include some or all of the songs in that music group.
The above and other aspects and advantages of the invention will be apparent upon consideration of the following detailed description, taken in conjunction with accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
Systems, methods, and machine-readable media are provided for providing an audio preview (or “scan preview”) of music.
Server 102 may include any suitable types of servers that can store and provide data to client device 104 (e.g., file server, database server, web server, or media server). Server 102 can store media and other data (e.g., metadata associated with the media), and server 102 can receive data download requests from client device 104. For example, server 102 can receive requests to obtain music, such as one or more songs. Responsive thereto, server 102 can locate and provide the requested songs as well as metadata associated with the songs (e.g., seed-generated information, genre, artist, album, album cover art, release date, BPM information).
In some embodiments, server 102 can obtain and process data from one or more client devices 104. For example, server 102 can collect information on playlists created by users of various client devices 104. Using the collected information, server 102 can determine which songs are commonly grouped or played with one another. Upon request by a particular client device 104, server 102 can use this information to create playlists from the songs stored on the particular client device 104 and can provide the created playlists to client device 104. This feature may sometimes be referred to as the “seed-based clustering” feature, and the music groups created by this feature may sometimes be referred to as seed-generated clusters, regardless of whether a seed is actually used to create the clusters. That is, it should be understood that server 102 can create playlists or music groups using any suitable technique, including but not limited to seeding each playlist or music group with an initial song.
Server 102 can communicate with client device 104 over communications link 103. Communications link 103 can include any suitable wired or wireless communications link, or combinations thereof, by which data may be exchanged between server 102 and client 104. For example, communications link 103 can include a satellite link, a fiber-optic link, a cable link, an Internet link, or any other suitable wired or wireless link. Communications link 103 may enable data transmission using any suitable communications protocol supported by the medium of communications link 103. Such communications protocols may include, for example, Wi-Fi (e.g., a 802.11 protocol), Ethernet, Bluetooth (registered trademark), radio frequency systems (e.g., 900 MHz, 2.4 GHz, and 5.6 GHz communication systems), infrared, TCP/IP (e.g., and the protocols used in each of the TCP/IP layers), HTTP, BitTorrent, FTP, RTP, RTSP, SSH, any other communications protocol, or any combination thereof.
Client device 104 can include any electronic device capable of playing audio (e.g., music, podcasts, interviews) to a user and may be operative to communicate with server 102. For example, client device 104 can include a portable media player (e.g., an ipod), a cellular telephone (e.g., an iphone), pocket-sized personal computers, a personal digital assistance (PDA), a desktop computer, a laptop computer, and any other device capable of communicating via wires or wirelessly (with or without the aid of a wireless enabling accessory device).
Referring now to
Control circuitry 202 can control the operation and various functions of device 200. For example, control circuitry 202 can identify songs to play to a user, and can direct audio output 214 to play the identified songs. As described in detail below, control circuitry 202 can control the components of electronic device 200 to provide a scan preview of music in accordance with the principles of the invention. Control circuitry 202 can include any components, circuitry, or logic operative to drive the functionality of electronic device 200. For example, control circuitry 202 can include one or more processors acting under the control of an application.
In some embodiments, the application can be stored in memory 204. Memory 204 can include cache memory, Flash memory, read only memory (ROM), random access memory (RAM), or any other suitable type of memory. In some embodiments, memory 204 can be dedicated specifically to storing firmware for control circuitry 202. For example, memory 204 can store firmware for device applications (e.g., operating system, scan preview functionality, user interface functions, and other processor functions).
Storage 206 can be any suitable type of storage medium offering permanent or semi-permanent memory. For example, storage 206 can include one or more storage mediums, including for example, a hard drive, Flash, or other EPROM or EEPROM. Storage 206 can be used by electronic device 200 to store music, such as a collection of songs, and other media. Storage 206 can store information or metadata associated with the media, such as user-generated or automatically-created playlists, seed-generated clusters and other music groupings, genre, artist, album, album cover art, date, BPM, or any other suitable information for each stored song. In some embodiments, the media and associated information can be obtained from a server, such as server 102 of
Bus 210 may provide a data transfer path for transferring data to, from, or between control circuitry 202, memory 204, storage 206, communications circuitry 208, and some or all of the other components of electronic device 200.
Communications circuitry 208 can enable electronic device 200 to communicate with other devices, such as to a server (e.g., server 102 of
Input interface 212, audio output 214, and display 216 can provide a user interface for a user to interact with electronic device 200. Input interface 212 may enable a user to provide inputs and feedback to electronic device 200. Input interface 212 can take any of a variety of forms, such as one or more of a button, keypad, dial, click wheel, touch screen, or accelerometer. Audio output 214 provides an interface by which electronic device 200 can provide music and other audio elements to a user. Audio output 214 can include any type of speaker, such as computer speakers or headphones. Display 216 can present visual media (e.g., graphics such as album cover, text, and video) to the user. Display 216 can include, for example, a liquid crystal display (LCD), a touchscreen display, or any other type of display.
Electronic device 200 can provide a scan preview of various audio elements to a user. For simplicity, the embodiments of the invention will be described in terms of providing a scan preview of songs. However, this is not intended to be limiting, and it should be understood that the scan preview may be used with other types of audio elements, such as audio interviews or podcasts.
A scan preview provided in accordance with the principles of the invention can involve playing portions, or snippets, of songs in succession to provide the user with a preview of each song. The songs selected for the scan preview may be from a variety of categories, such as songs in different genres, from different artists, from different albums, from different seed-generated clusters, released in different time periods, or downloaded by the user at different times or seasons. This way, the user can preview different types of music to determine which type is currently of interest.
In some embodiments, electronic device 200 can allow the user to control the progression of the scan preview. For example, electronic device 200 may enable a user to control the length of time that each song snippet is played or to control which category of music to preview.
Turning first to
Electronic device 200 can provide a sliding bar 320 with pointer 322, which together provide additional information on the song being previewed. In particular, sliding bar 320 may be able to slide right or left with respect to pointer 322 such that pointer 322 can point to any of a number of positions along bar 320. Each of the positions on sliding bar 320 may be associated with a different category. In this embodiment, categories 324 may be different genres (e.g., pop, hip-hop, rap, electronic, reggae, country, blues, punk, grunge, and alternative). Positions 328, for example, can be associated with the hip-hop genre. In some embodiments, electronic device 328 might only display a subset of categories 324 at a given time due to, for example, size constraints on display screen 300.
At any given time, pointer 322 can point to a particular position along sliding bar 320. The position may be associated with the genre of the song currently being previewed. For example, while electronic device 200 plays a hip-hop song from KanYe West, pointer 322 may point to one of positions 328 associated with the hip-hop genre. Because the songs are organized along bar 320 based on genre, the scan preview illustrated in
In some embodiments, pointer 322 may be at a fixed position on display screen 300 (e.g., centered), and sliding bar 320 may be controlled by a user using input interface 212 (
The disclosed embodiments of the invention will sometimes be described in terms of moving or controlling pointer 322 instead of bar 320. This is merely to simplify the description of the disclosed embodiments. In some embodiments, electronic device 200 may fix the positions and genres on bar 320 and may allow a user to change the location of pointer 322 along bar 320.
In response to a user's request to move pointer 322 with respect to bar 320, electronic device 200 can select the next song to play in the scan preview. This next song may be in the same or in a different genre than the current song depending on the position of pointer 322. For example, as the user moves pointer 322 rightwards towards the rap genre, electronic device 320 may initially select hip-hop songs for the scan preview until pointer 322 passes into the area of bar 320 associated with rap songs, at which time electronic device 200 may select songs for the scan preview that are in the rap genre.
Each time a new song is selected by electronic device 200 for the scan preview, electronic device 200 can replace album cover 310 with the cover art associated with the new song's album. In addition, electronic device 200 can play a portion of this new song until, for example, a user input is received to reposition pointer 322. Thus, by moving pointer 322 slowly or quickly, or by starting or stopping its movement, a user can control the amount of time that each song is played in the scan preview. This can provide a similar effect as turning the knob of a radio dial. Also, by moving pointer 322 towards or away from particular genres, the user can control the category of songs being played in the scan preview.
Electronic device 200 may have a large number of songs in one or more of the genres. It may therefore be impractical to provide a preview of every song in a particular genre before pointer 322 is able to point to another genre. In some embodiments, electronic device 200 may assign a predetermined number or a maximum number of positions along bar 320 for each genre. For example, electronic device 200 can provide 10 positions for each genre—then, at most 10 songs can be previewed in one genre (e.g., hip-hop) before songs from another genre (e.g., rap) are selected. Electronic device 200 may use any suitable number other ten (e.g., 1, 5, 20, or 25).
In some embodiments, electronic device 200 may display a number of ticks 326 along bar 320, which may or may not be equivalent to the number of positions that pointer 322 can point to. The number of ticks 326 for each genre can indicate the number of songs available in that genre. In some embodiments, the genres can be spaced evenly along bar 320 and the density of ticks 326 can indicate the number of songs available in each genre. For example, in
Because only a few of the songs in a particular genre may be selected for the scan preview in each rotation, electronic device 200 may need a mechanism for choosing which songs to preview. Electronic device 200 can select songs using any suitable approach. In some embodiments, electronic device 200 can select the songs randomly. This way, songs that are previewed back-to-back are less likely to be from the same artist or from the same album, and the user can sample a variety of songs in the same genre. In some embodiments, the songs in a genre can be selected according to a random shuffle mode, where the same song is not selected until all other songs in the same genre have been selected. In these embodiments, electronic device 200 may provide previews of different songs not only while pointer 322 scans through a particular genre a first time, but also in subsequent scans through that genre (e.g., when the user circles through all of the other genres and eventually returns to this genre).
Electronic device 200 can play any suitable portion of a selected song as an audio preview. For example, electronic device 200 can start the preview at the beginning of the song. In other embodiments, electronic device 200 may start the preview at its most famous part, at the chorus of the song, or at a part most representative of the overall song or of the feeling/mood of the song. The information indicating where to begin the preview may be a time stamp, and may be part of the metadata associated with the song. In some embodiments, electronic device 200 may receive the time stamp from a server, such as server 102 (
Electronic device 200 can be operative to receive a user selection of a song in the scan preview. For example, electronic device 200 may interpret a user input from input interface 212 during the preview of a particular song as a selection of that particular song. Electronic device 200 can take a variety of different actions responsive to a user selection of a song. For example, electronic device 200 can use the selected song to generate a playlist of similar or related songs. To create the playlist, in some embodiments, electronic device 200 can select songs from the same genre as the selected song (since bar 320 is organized by genre), or electronic device 200 can use the selected song as a seed to create a seed-generated cluster of songs that are related or go well together.
In other embodiments, responsive to the user selection of a song, electronic device 200 can provide a menu of options related to the selected song (e.g., a menu with songs in the same genre, from the same artist, or from the same album as the selected song). In still other embodiments, electronic device 200 can filter songs stored on electronic device 200 by the genre of the selected song, and can enable the user to further filter the remaining songs by another attribute. For example, responsive to the user selection of a song from the genre-based scan preview of
As described above, in some embodiments, electronic device 200 may provide an artist-based scan preview responsive to a user selection from a genre-based scan preview. For example, electronic device 200 may provide display screen 400 (with album cover art for a John Legend album) in response to a user selection of an R&B song by John Legend while pointer 322 (
Referring now to
Display screen 500 may have any of the features and functionalities of display screen 300 described above in connection with
Background album covers 512 may be associated with potentially upcoming songs in the scan preview. For example, responsive to a user input to move pointer 522 left one position, electronic device 200 may change the song being played in the scan preview from a hip-hop song associated with album cover 510 to a different hip-hop song associated with album cover 514 (immediately to the left of album cover 510). Visually, album covers 510 and 512 may each shift left one position such that album cover 514 replaces album cover 510 as the cover art displayed in the prominent foreground position, and a new album cover is shifted into the leftmost position. Electronic device 200 may respond similarly to a user input to move pointer 522 to the right.
Electronic device 200 may provide a visual preview of potential upcoming songs in the scan preview using any suitable technique, including but not limited to the foreground/background technique shown in
It should be understood that display screens 300, 400, and 500 (
It should also be understood that an electronic device configured in accordance with the invention does not need to provide any visual display or user control of the progression of a scan preview. For example, in some embodiments, an electronic device can play each song in a scan preview for a predetermined amount of time (e.g., 5 seconds, 10 seconds), where each successive song or group of songs are chosen from a different category (e.g., different seed-generated cluster, genre, artist, album, date released, date downloaded, BPM). An automatically-progressing scan preview may have any of the non-visual features described above in connection with
A scan preview provided in accordance with the principles of the invention can be initiated using any suitable approach. In some embodiments, a scan preview can be invoked without use of a display. For example, a scan preview can be initiated by pressing a particular button or set of buttons on the user device, or by taking a specific set of actions (e.g., by pressing a button and shaking the electronic device). While any type of scan preview may be initiated in this way, automatically-progressing scan previews may advantageously be initiated using this technique, because use of the display may be avoided throughout the scan preview.
In other embodiments, a scan preview may be initiated from a music menu displayed by an electronic device.
Turning first to
Returning to step 706, if the electronic device instead determines that a scan preview has not been requested from the music main menu, process 700 continues to step 714. At step 714, the electronic device determines whether the user has selected to filter music by attribute (e.g., using options 620 of
Then, at step 718, the electronic device can determine whether a scan preview has been requested from the attribute submenu. If no scan preview is requested, process 700 can move to step 710 and end. Otherwise, at step 720, the electronic device can initiate an attribute-based scan preview (e.g., a genre-based from a genre submenu or an artist-based scan preview from an artist submenu). In some embodiments, the electronic device may provide an attribute-based scan preview using some of the steps of the flowchart in
Process 800 begins at step 802. At step 804, the electronic device can provide a pointer that is scrollable through various categories (e.g., different genres, artists, release date, download date, or song speed (e.g., BPM)). For example, the electronic device can display the categories along a sliding bar, and the pointer may be controllable by the user with respect to the sliding bar. Then, at step 806, the electronic device can determine a current position of the pointer, and at step 808, the electronic device can identify a category based on the current position. For example, the electronic device can determine which category the pointer is currently pointed to along the sliding bar.
Process 800 can then continue to step 810, where the electronic device selects a song in the identified category. In some embodiments, the song may be selected at random (e.g., using a shuffle feature). Then, at step 812, the electronic device may play a portion of the song. The portion may be selected to be representative of the entire song, or may, for example, be a distinguishable or most famous part of the selected song.
Continuing to step 814, the electronic device can determine whether the user-controllable pointer has been moved by the user. If so, process 800 can return to step 806 so that the electronic device can determine the new current position of the pointer. The electronic device may then, at step 808, identify that the category for the new current position is the same or different from the previously selected category. The category may be the same, for example, if the sliding bar includes multiple positions for the same category, and the user has moved the pointer between two such positions. In this scenario, the song selected at step 810 will be in the same category as the last song played. In some embodiments, the new song may be selected at random so that the new song is not necessarily the next song in the user's music library.
Returning to step 814, if the electronic device determines that the pointer has not be moved by the user, process 800 can continue to step 816. At step 816, the electronic device can determine whether the song playing at step 812 has been selected by the user. If the portion of the selected song completes without being selected by the user, process 800 can return to step 810, and another song in the same category can be chosen. Alternatively, the electronic device may continue to play the song or repeat the same song until the song is selected or until the pointer is moved. Returning to step 816, if the electronic device determines instead that the song playing at step 812 has been chosen by the user, the electronic device can take an action based on the selected song.
Steps 818, 820, and 822 show three different options that the electronic device may take in response to a song selection. The choice of options may be based on the configuration of the electronic device or on the current settings of the electronic device. As one option, at step 818, the electronic device may create a playlist based on the selected song. For example, the electronic device can filter the songs in the user's collection of songs to only those in the same category as the selected song. This option may be used, for example, if the electronic device is executing an attribute-based scan. As another example, the electronic device can use the selected song as a seed for a server to, for example, determine other songs that are suitable to be played with the selected song.
Instead, the electronic device can execute step 820 after the song being previewed is chosen by the user. At step 820, the electronic device can provide a menu of options based on the selected song. For example, the electronic device can provide a list of albums or songs from the same artist as the selected song, which a user can review to identify songs of interest.
As an alternative to step 818 and step 820, the electronic device can execute step 822 and provide the user with the ability to further filter songs based on a different attribute. For example, if the current categories are organized based on different genres, the electronic device can filter the songs down to only those of the selected song's genre. The electronic device can then repeat the steps of process 800 using a different attribute, such as artists in that genre, to further filter the songs based on a particular artist. In some embodiments, the electronic device may execute step 822 when the electronic device is implementing a hierarchical scan preview. After the electronic device executes step 818, step 820, or step 822, process 800 can move to step 824 and end.
Referring now to
Process 900 starts at step 902. At step 904, the electronic device can define or identify various music groups. The music groups may be, for example, seed-generated clusters that are defined at a server (e.g., server 102 of
Then, at step 906, the electronic device can select a song from a first one of the music groups. The song can be selected at random so that, for example, any of the songs in that music group can be selected for previewing. At step 908, the electronic device can play a portion of the selected song. The portion can be any suitable part of the selected song, such as starting at the beginning of the song, or the portion can be representative of the entire song, the most popular part of the song, or a part of the song that is more distinguishable or identifiable about the song. The portion may be of a predetermined length (e.g., 3 seconds, 5 seconds, 10 seconds).
Process 900 can continue to step 910, where the electronic device determines whether a user input has been received while the portion of the song is playing. If a user input is received, the electronic device, at step 912, can create a playlist based on the selected song. For example, in one embodiment, the electronic device can create a playlist that includes some or all of the songs in the music group that the selected song belongs in. If the music groups are based on seed-generated clusters, this may produce a similar effect as seeding the seed-based clustering feature with the selected song, and may be advantageous since it creates a playlist of songs that go well together without requiring the user to take any arduous tasks. Process 900 can then continue to step 914 and end.
Returning to step 910, if the electronic device determines instead that a user input is not received while the portion of the selected song is playing, process 900 moves to step 916. At step 916, the electronic device can determine whether a song from each of the music groups defined at step 904 has been selected and played. If not, the electronic device can move to step 918, which enables the electronic device to provide a preview of the next music group (e.g., a music group yet to be previewed). In particular, after step 918, process 900 may return to step 906, where the electronic device selects a song from the next music group and plays a portion of this song at step 908. In some embodiments, the electronic device may cross-fade between the preview of the song from the first music group and the preview of the song from the next music group to ensure that the transition does not appear too abrupt or unexpected to the user.
By returning to step 906 each time a user input is not received, the electronic device can provide, in succession, a preview of one song from each music group. This way, the user is able to experience a snippet from different music groups until the user identifies a song (and therefore a music group) that is of interest to the user. In some embodiments, the preview of each song may be of the same, predetermined length (e.g., 5 seconds, 10 seconds), and the electronic device may cross-fade each of the song transitions. In this manner, the electronic device can provide a scan preview that automatically and seamlessly progresses between song snippets. This may produce an audio effect similar to using the scan feature of a radio.
Returning to step 916, if the electronic device determines that one song has been selected from each of the music groups, then the user has not yet selected a song even after hearing a preview from every music group (e.g., every seed-generated cluster). In this case, process 900 moves to step 920, allowing the electronic device to again provide a preview from the first music group. In particular, after step 920, process 900 can move back to step 906, where the electronic device can select another song from the first music group. This allows the electronic device to iterate through and provide audio previews from each music group a second time.
Each song selected at step 906 during the second and subsequent iterations may be selected at random. In some embodiments, this involves the electronic device choosing a song that has not yet been played in the scan preview, if possible. This gives the user a second chance or more to experience each music group, potentially allowing the user to find a music group of interest. In some embodiments, the electronic device can continue to iterate through each music group in this manner until a user input is received or until the user terminates the scan preview.
An electronic device operating based on process 900 provides, in each iteration through the music groups, a preview of only one song in each music group. In other embodiments of the invention, the electronic device may provide a preview of multiple songs (e.g., 5, 10, 20 bsongs) in each music group during each iteration. That is, the electronic device may play multiple songs from the same music group back-to-back before providing previews for songs in another music group.
The electronic device can select one song from each music group to play during a first iteration through the music groups. Each song selection can be made from its respective music group at random. In one operating scenario, this random selection may cause the electronic device to select the second song from Cluster A (Song A), the fourth song from Cluster B (Song B), and the third song from Cluster C (Song C). As illustrated in the timing diagram of
If no user input is received while snippets of Songs A, B, or C are played, the electronic device can provide a snippet of another song from each of Clusters A, B, and C. The electronic device can select a second song from Cluster A (identified in
The electronic device can iteratively play snippets of songs from Clusters A, B, and C in this manner until a user input is received or until the user terminates the scan preview. During the third and subsequent iterations, the electronic device can continue to select different songs from each music group until this is no longer possible. For example, on the fifth iteration through Clusters A, B, and C, the electronic device may reselect Song B from Cluster B, because Cluster B has only four songs to choose from.
The described embodiments of the invention are presented for the purpose of illustration and not of limitation, and the invention is only limited by the claims which follow.