Rhythms of Influence
MAT 259, 2024
Shaw Xiao

Concept
My concept is to analyze the impact of specific music festivals in Seattle (such as Capitol Hill Block Party, Bumbershoot, Belltown Bloom Festival, Beyond Wonderland Seattle, and Northwest Folklife), on the popularity of various music genres in the Seattle Public Library's collection. While acknowledging the shift in music consumption to digital platforms, this project aims to examine how checkouts of CDs, DVDs, and books across different music genres have fluctuated over the years from 2015 to 2023.

Query
This query provides a detailed view of the checkouts of different music genres for each day from 2015 to 2023, as a source of data for viewing specific festival dates.

    SELECT 
        YEAR(cout) AS year,
        MONTH(cout) AS month,
        DAY(cout) AS day,
        COUNT(IF(spl_2016.subject.subject LIKE '%jazz%',
            1,
            NULL)) AS 'jazz',
        COUNT(IF(spl_2016.subject.subject LIKE '%rock%',
            1,
            NULL)) AS 'rock',
        COUNT(IF(spl_2016.subject.subject LIKE '%electronic%'
                OR spl_2016.subject.subject LIKE '%electronica%',
            1,
            NULL)) AS 'electronic',
        COUNT(IF(spl_2016.subject.subject LIKE '%pop%',
            1,
            NULL)) AS 'pop',
        COUNT(IF(spl_2016.subject.subject LIKE '%country%',
            1,
            NULL)) AS 'country',
        COUNT(IF(spl_2016.subject.subject LIKE '%folk%',
            1,
            NULL)) AS 'folk',
        COUNT(IF(spl_2016.subject.subject LIKE '%soul%',
            1,
            NULL)) AS 'soul',
        COUNT(IF(spl_2016.subject.subject LIKE '%blues%',
            1,
            NULL)) AS 'blues',
        COUNT(IF(spl_2016.subject.subject LIKE '%funk%',
            1,
            NULL)) AS 'funk',
        COUNT(IF(spl_2016.subject.subject LIKE '%rap music%'
                OR spl_2016.subject.subject LIKE '%hip hop%',
            1,
            NULL)) AS 'hip hop'
    FROM
        spl_2016.subject
            JOIN
        spl_2016.outraw ON spl_2016.outraw.bibNumber = spl_2016.subject.bibNumber
    WHERE
        (itemtype LIKE '%cd%'
            OR itemtype LIKE '%dvd%'
            OR itemtype LIKE '%bk%')
            AND deweyClass LIKE '78%'
            AND YEAR(cout) BETWEEN 2015 AND 2023
    GROUP BY year , month , day
    ORDER BY year , month , day;
    

Preliminary sketches
My 3D space is structured around time-based data columns: the X-axis denotes the year, the Y-axis is the month, and the Z-axis is the day. Within this space, nodes symbolize the daily checkout numbers of various music genres over an eight-year span. My visual concept of the nodes is inspired by fireworks, chosen for their dynamic and celebratory qualities, mirroring the vibrancy and impact of music on cultural festivities. The rotation speed and size of visual elements according to checkout volume.




Process
To differentiate among the 10 queried music genres, a palette of 10 distinct colors will be applied, with a filtering option to isolate genre-specific data for analysis.



For a more detailed analysis of checkout situations on specific dates, an input box function is integrated into the GUI, allowing viewers to input the information of year, month, and date for an observation of the genre's checkout pattern on specific year/month/date.



To highlight the periods of music festivals, I also integrated a special dynamic firework effect to represent data fluctuations. This effect can visually emphasize the festivals' influence on music genre popularity.






Final result
Video



Use toggle button to switch dark/light mode.










Code
All work is developed within Processing
Source Code + Data