A user may enter a restaurant and hear a song that the user would like more information about, and perhaps have access to a mechanism by which the user can purchase the song. The user may perform a search for a musical artist using a mobile device, but this can be time consuming and the user may not know the artist who made the song. Some applications exist that recognize the audio of a played song and attempt to match it to a particular known song. But these apps require that the user has installed such an application and they utilize audio instead of a text input.
According to an implementation of the disclosed subject matter, content may be provided to a venue. A content identifier and a venue identifier may be received. The content identifier may correspond to the content currently playing at the venue. A query to identify the content currently playing at the venue may be received. The query may be based on a scan of a static machine-readable code at the venue. Responsive to the query, a purchase option for the content currently playing at the venue may be provided based on the content identifier and the venue identifier.
In an implementation, content may be provided to a venue. An indication of the content being provided to the venue may be received. A query from a device located at the venue may be received. The query may be based on a static machine readable code at a venue. An identifier of the content at the venue may be provided to the device.
In an implementation, a first content identifier may be obtained that corresponds to past content that played at a venue and it may be stored. A second content identifier may be obtained that corresponds to content currently playing at the venue and it may be stored. A query may be received based on a static machine readable code at the venue. The past content associated with the first content identifier and the content associated with the second content identifier may be provided.
In an implementation, a first indication of the content provided at a venue may be obtained. A second indication of a user device at a venue may be received. A query from the user device for the content at the venue may be received. Responsive to the query, an identification of the content may be provided based on the first indication and second indication.
In an implementation, a content identifier, a venue identifier, and a play time indicator may be received. The content identifier may correspond to content played at the identified venue at the play time indicator. A query may be received based on a scan of a static machine-readable code at the venue. The venue and a time reference may be identified based on the query. A query content identifier may be determined based on the identified venue, the identified time reference, the received content identifier, the received venue identifier and the play time indicator.
According to an implementation, a system is provided that includes a content module configured to provide content to a venue and a processor communicatively coupled to the content module. The processor may be configured to receive a content identifier and a venue identifier, the content identifier corresponding to the content currently playing at the venue. It may receive a query to identify the content currently playing at the venue. The query may be based on a scan of a static machine-readable code at the venue. Responsive to the query, the processor may provide a purchase option for the content currently playing at the venue based on the content identifier and the venue identifier.
In an implementation, a system is provided that includes a content module configured to provide content to a venue and processor. The processor may be configured to receive an indication of the content being provided to the venue. It may receive a query from a device located at the venue. The query may be based on a static machine readable code at a venue. The processor may be configured to provide an identifier of the content at the venue to the device.
A system is provided that includes a database for storing a first content identifier and a second content identifier. The system also contains a processor that is configured to obtain the first content identifier that corresponds to past content that played at a venue and store the first content identifier to the database. The processor may be configured to obtain the second content identifier that corresponds to content currently playing at the venue and store it to the database. The processor may receive a query based on a static machine readable code at the venue. The processor may provide the past content associated with the first content identifier and the content associated with the second content identifier.
In an implementation, a system containing a database and a processor communicatively coupled thereto is provided. The database may store a first indication of content provided at a venue. The processor may be configured to obtain the first indication of the content provided at a venue. It may receive a second indication of a user device at a venue. The processor may receive a query from the user device for the content at the venue. Responsive to the query, the processor may provide an identification of the content based on the first indication and second indication.
A system is provided in an implementation that includes a processor communicatively coupled to a database. The database may store one or more of a content identifier, a venue identifier, and a play time indicator. The processor may be configured to receive the content identifier, the venue identifier, and the play time indicator, the content identifier corresponding to content played at the identified venue at the play time indicator. The processor may receive a query based on a scan of a static machine-readable code at the venue and it may identify the venue and a time reference based on the query. It may determine a query content identifier based on the identified venue, the identified time reference, the received content identifier, the received venue identifier and the play time indicator.
Additional features, advantages, and implementations of the disclosed subject matter may be set forth or apparent from consideration of the following detailed description, drawings, and claims. Moreover, it is to be understood that both the foregoing summary and the following detailed description provide examples of implementations and are intended to provide further explanation without limiting the scope of the claims.
The accompanying drawings, which are included to provide a further understanding of the disclosed subject matter, are incorporated in and constitute a part of this specification. The drawings also illustrate implementations of the disclosed subject matter and together with the detailed description serve to explain the principles of implementations of the disclosed subject matter. No attempt is made to show structural details in more detail than may be necessary for a fundamental understanding of the disclosed subject matter and various ways in which it may be practiced.
Systems and methods are disclosed in which a venue plays songs through a cloud-based service. The songs may be associated with a static QR code or NFC tag such that if the venue changes the songs in the playlist or the playlist itself, the new songs and/or playlist may be associated with the same static tag. One way to track the audio/video playback in a venue is through a scrobbling tool. Another way is for the venue to track the media being provided is to use a microphone in conjunction with song recognition software to provide a track list to a service. A user may scan a static tag at the venue. The tag may encode a web-query that asks, for example, “what song is playing at this venue?” The result of the query may direct the user to an online music vendor or cloud service through which the user can purchase the song.
Implementations of the presently disclosed subject matter may be implemented in and used with a variety of component and network architectures.
The bus 21 allows data communication between the central processor 24 and the memory 27, which may include read-only memory (ROM) or flash memory (neither shown), and random access memory (RAM) (not shown), as previously noted. The RAM is generally the main memory into which the operating system and application programs are loaded. The ROM or flash memory can contain, among other code, the Basic Input-Output system (BIOS) which controls basic hardware operation such as the interaction with peripheral components. Applications resident with the computer 20 are generally stored on and accessed via a computer readable medium, such as a hard disk drive (e.g., fixed storage 23), an optical drive, floppy disk, or other storage medium 25.
The fixed storage 23 may be integral with the computer 20 or may be separate and accessed through other interfaces. A network interface 29 may provide a direct connection to a remote server via a telephone link, to the Internet via an internet service provider (ISP), or a direct connection to a remote server via a direct network link to the Internet via a POP (point of presence) or other technique. The network interface 29 may provide such connection using wireless techniques, including digital cellular telephone connection, Cellular Digital Packet Data (CDPD) connection, digital satellite data connection or the like. For example, the network interface 29 may allow the computer to communicate with other computers via one or more local, wide-area, or other networks, as shown in
Many other devices or components (not shown) may be connected in a similar manner (e.g., document scanners, digital cameras and so on). Conversely, all of the components shown in
More generally, various implementations of the presently disclosed subject matter may include or be implemented in the form of computer-implemented processes and apparatuses for practicing those processes. Implementations also may be implemented in the form of a computer program product having computer program code containing instructions implemented in non-transitory and/or tangible media, such as floppy diskettes, CD-ROMs, hard drives, USB (universal serial bus) drives, or any other machine readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing implementations of the disclosed subject matter. Implementations also may be implemented in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing implementations of the disclosed subject matter. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits. In some configurations, a set of computer-readable instructions stored on a computer-readable storage medium may be implemented by a general-purpose processor, which may transform the general-purpose processor or a device containing the general-purpose processor into a special-purpose device configured to implement or carry out the instructions. Implementations may be implemented using hardware that may include a processor, such as a general purpose microprocessor and/or an Application Specific Integrated Circuit (ASIC) that implements all or part of the techniques according to implementations of the disclosed subject matter in hardware and/or firmware. The processor may be coupled to memory, such as RAM, ROM, flash memory, a hard disk or any other device capable of storing electronic information. The memory may store instructions adapted to be executed by the processor to perform the techniques according to implementations of the disclosed subject matter.
In an implementation, an example of which is provided in
A content identifier and a venue identifier may be received at 320. The content identifier may correspond to the content currently playing at the venue. A content identifier may be, for example, a title, an author, a serial number, an album name, or any combination thereof. For example, a content provider may stream a song entitled Song A. The title of the song may be received and/or stored. A time entry may also be stored with the content identifier and/or the venue identifier. A venue identifier may be, for example, a GPS signal, an IP address, and a device check-in, a radio beacon, and a Bluetooth beacon. For example, a GPS signal may be mapped onto a physical location or otherwise associated with a particular business establishment, name, address, telephone number, web site URL, etc. Thus, a venue identifier may refer to a signal that directly identifies a venue or that may indirectly identify a venue. For example, a user at a venue may receive a signal from a Bluetooth beacon at the user's mobile device (e.g., a smartphone). The beacon may inform the user's device of the venue's name or an alphanumeric sequence that uniquely identifies the venue. The user's device may transmit the venue's identifier with a query or request as described below. A venue identifier may also refer to any alphanumeric sequence (e.g., a business name, telephone number, address). Notably, the content identifier may be transmitted synchronously or asynchronously and each type of identifier may be sent more than one time. For example, a content identifier and venue identifier may indicate that Song A was played at Venue Z and may be stored as a database entry. A subsequent query of the database may also contain a venue identifier. The content identifier and/or the venue identifier may be stored.
A query may be received to identify the content currently playing at the venue at 330. The query may be based on a scan of a static machine-readable code. Machine-readable code may refer, for example, to: a text string, a SMS short code number, a near-field communication (“NFC”) tag, and a quick response (“QR code”) code. For example, a user may submit a query by scanning a QR code located at a table of a restaurant. Scanning the QR code may query a cloud service for what song is currently playing at the venue. The query may include a venue identifier. For example, when the user enters the restaurant (i.e., the venue), the user may utilize or connect with the restaurant's Wi-Fi. The network's identity may constitute a venue identifier according to any implementation disclosed herein and may be sent to a remote server for a response to the query. The user may check-in using a smartphone device or a device at a restaurant. Any query sent from the device may then be effectively stamped as originating from the particular venue into which the device is checked-in. The static machine-readable code itself may indicate that the query is from a particular venue in some configurations.
Responsive to the query, a purchase option for the content currently playing at the venue may be provided based on the content identifier and the venue identifier at 340. The purchase option may be presented by directing the query to a web site that includes the purchase option. For example, in response to the query, a device may receive a link to a web site that contains a purchase option for the content. The purchase option may be received by a device such as a smartphone that is linked to a user's account. The user may have the option of bookmarking the content corresponding to the content identifier returned in response to the query. Bookmarking the content may refer to storing a database entry containing an indication of the content and associating that entry with the user's account. Bookmarking may refer to sending the user an email that informs the user of the content identified in response to the query or the email may contain a link to a web site on which the user may purchase the content.
In some configurations, a query may contain a time reference or a playlist request. The time reference, for example, may be used to refer to a user's time spent in the venue as determined by a device check-in. A playlist may be generated for the venue based on the content identifier and the venue identifier. For example, for each time content is played at the venue, a content identifier may be used to identify the content and the content may be time-stamped. A query may be received for a playlist for the venue or that is querying content played at the venue during a specified time (e.g., the time a user's device is detected at a venue or time between user's device being first detected at the venue and the time of the query). A search may be performed for database entries for the venue between two time references or within a time interval. A playlist may be provided in response to the query representing the content played during the interval in chronological order, for example.
In an implementation, an example of which is provided in
A query may be received from a device located at the venue at 430. The query may be based on a static machine-readable code at the venue as described earlier. An identifier of the content provided to the venue may be provided to the device at 440. The content identifier, as described earlier, may be stored to a database and associated with the venue. The content identifier may have a time stamp to indicate a time reference during which the content was provided to the venue. In some configurations, the query may include a request for content provided to the venue during a specific time frame. A playlist may be generated for the venue based on the content identifier and the time frame requested. For example, a user may request the playlist of content provided to the venue for a particular day. To initiate the query, the user may scan a QR code with a smart phone and be directed to a web site that displays the content currently playing at the venue. The user may be provided an option to show content played within the last hour or the last day. Upon receiving an indication that the user has requested content beyond the currently playing content, a playlist may be generated corresponding to the selected option (e.g., content provided to the venue during the past hour or day). In some configurations, the response to the query may include a purchasing option. The purchase option may direct the query to a web site that includes the purchasing option or it may refer to bookmarking content as described earlier
In an implementation, an example of which is provided in
A query may be received based on a static machine-readable code at the venue at 550. An indication of the past content associated with the first content identifier and the content associated with the second content identifier (e.g., current content as shown in
According to an implementation, an example of which is provided in
The second indication of the user's device at a venue may be utilized to determine the location of the data in a database. For example, a database may contain data entries corresponding to content provided for or streamed to a variety of venues. The query may inquire as to what is currently playing at the venue or the query may specify a time interval. The query may be received by a processor that can access database entries corresponding to the content played and currently playing at the venue. The processor may return one or more database entries based on whether the query specifies a request for content currently playing at the venue, in which case the processor may obtain the last entry in the database, or a request for content played for an interval of time, in which case the processor may obtain database entries corresponding to the time interval. As described above, the response to the query may contain a purchasing option and/or the ability to bookmark the content provided for later retrieval and/or purchase by the user.
In an implementation, an example of which is provided in
As an example, a venue such as an airport may play content for passengers. The identity of the content that is currently playing may be sent to a remote database in the form of a content identifier along with a venue identifier that may uniquely identify the airport as the venue to be associated with the content or content identifier. A play time indicator may be sent to the remote database along with the content and venue identifiers to time stamp the content identifier and venue identifier. A database entry may be made that includes all three of the aforementioned identifiers. A traveler at the airport may scan a QR code near one of the terminals playing content using a smartphone. The smartphone may transmit, as a component of the query, a venue identifier based on the QR code scan and/or a time reference. For example, the time reference may specify a period of time or the current time. The query may be directed toward the database in which the identifiers are stored. The venue and the time reference may be transmitted with the query or as a component thereof and may be used to look-up one or more database entries corresponding to the one or more identifiers provided. A response to the query may be returned in the form of a query content identifier.
In an implementation, an example of which is provided in
According to an implementation, as shown by the example provided in
In an implementation, an example of which is provided in
A system is provided that includes a database 1105 for storing a first indication of content provided at a venue and a processor 1108 communicatively coupled to the database 1105 as shown by the example provided in
An example implementation of a system is shown in
The foregoing description, for purpose of explanation, has been described with reference to specific implementations. However, the illustrative discussions above are not intended to be exhaustive or to limit implementations of the disclosed subject matter to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The implementations were chosen and described in order to explain the principles of implementations of the disclosed subject matter and their practical applications, to thereby enable others skilled in the art to utilize those implementations as well as various implementations with various modifications as may be suited to the particular use contemplated.