A Change Is Gonna Come

Sam Cooke

Color ID: #E111E1

Steady 86 BPM Bb major Camelot 6B 3:11

A Change Is Gonna Come by Sam Cooke is a 3:11 song at 86 BPM in the key of Bb major (Camelot 6B). It has a loudness range of 4.82 dB (LRA), a true peak of -0.67 dBTP, and an integrated loudness of -16.362 LUFS. The percussive structure features 139 kick hits, 44 snare hits, and 50 hi-hat hits (kick:snare ratio 3.2:1). The chord progression uses 19 unique chords with a harmonic complexity of 0.00. 21 key changes were detected. The dominant emotional quality is Somber Optimism. Vocals are present in 44% of the song. This profile contains over 190 data points generated by MusicArk's audio intelligence pipeline.

Among the 14 songs in the MusicArk, A Change Is Gonna Come ranks among the lowest for aggressiveness. Its closest match is You Sang To Me by Marc Anthony at 80% overall similarity.

Song shape

Energy, brightness, harmonic tension, and melody contour — with chord progression aligned to the same timeline.

Audio DNA

Key metrics extracted from the audio signal.

Temporal

BPM
86
Tempo variability
0.03
Groove stability
0.23
Swing feel
0.82
Rhythmic density
0.35
Syncopation score
0.48
Beat clarity
0.18

Rhythm

Detected hits from stem analysis

Kick
139
Snare
44
Hi-hat
50

Kick:Snare ratio: 3.2:1

Drum pattern grid

Kick
Snare
Hat

Harmonic

Key
Bb
Mode
major
Camelot
6B
Chord progression complexity
0.00
Modulation events
8
Resolution frequency
0.39
Tonal brightness
0.68

Chord progression

19 unique chords

Chord progression complexity: 0.00

  • A# majorF major at 8.0s
  • F majorA# major at 12.0s
  • A# majorG minor at 20.0s
  • G minorA# major at 32.0s
  • A# majorG minor at 35.9s
  • G minorD minor at 39.9s
  • D minorA# major at 43.9s
  • A# majorG minor at 55.9s
  • G minorA# major at 75.9s
  • A# majorG minor at 87.9s
  • G minorA# major at 95.9s
  • A# majorG minor at 103.8s
  • G minorA# major at 107.8s
  • A# majorG minor at 115.8s
  • G minorA# major at 119.8s
  • A# majorG minor at 123.8s
  • G minorA# major at 143.8s
  • A# majorG minor at 155.8s
  • G minorA# major at 163.7s
  • A# majorG minor at 167.7s
  • G minorA# major at 179.7s

Harmonic tension arc

Pitch

Average pitch height
0.22
Pitch range
1.00
Melody contour
jagged
Interval sharpness
0.25
Repetition score
0.63

Timbre

Spectral centroid
0.19
Spectral brightness
0.10
Spectral flux
0.28
Harmonic richness
0.91
Noise content
0.09
Distortion level
0.42
Transient sharpness
0.55
Warmth / metallic
0.40
Analog / digital feel
0.45

Energy

Loudness (LUFS)
-16.36
Peak loudness
0.97
Dynamic range
0.53
Energy mean
0.98
Energy std
0.12
Energy peak position
0.01
RMS level
0.98
Aggressiveness
0.16
Smoothness
0.80
Urgency
0.18
Loudness range (LRA)

4.82 dB

Higher values indicate more dynamic variation

Energy over time

LUFS per section

Spatial

Stereo width
0.40
Depth distribution
0.49
Reverb size
0.22
Dry / wet balance
0.51
Stereo image motion
0.45
Height perception
0.01

Stereo correlation

Stereo width over time

Arrangement

Layer count mean
0.63
Layer count peak
1.00
Minimalism / maximalism
0.67
Drums presence
0.09
Bass presence
0.45
Harmonic presence
0.91
Melodic presence
1.00
FX presence
0.00

Vocal presence: 44%

Average vocal pitch confidence: 0.28

Layer count over time

Production DNA

Stem balance and song structure from separated tracks.

Vocals
67%
Drums
9%
Bass
19%
Harmony
47%
Vocal Range

— – — (0st)

Drums
Live
Classification
Algorithm confident (95%)
Bass Root

Bb ✓ matches key

Sub-Bass

8%

Rhythmic Foundation

28%

Structure

intro bridge bridge bridge

Emotional Profile

What does this song feel like?

Somber Optimism
  • Valence

    480

    DevastationEuphoria
  • Arousal

    290

    CatatonicExplosive
  • Nostalgia

    780

    Future-facingAching memory
  • Mystery

    180

    TransparentEnigmatic
  • Triumph

    580

    DefeatedVictorious
  • Melancholy

    630

    JoyfulDevastated
  • Sensuality

    120

    CerebralDeeply sensual
  • Inspiration

    680

    NeutralDeeply inspired

Narrative Arc

How the song moves through time.

Timeline

Build Drop Turn Surprise

Archetype:

Intro
Begins with heavy, cinematic orchestral strings — described as eerie and immediately dramatic. The opening signals weight and gravitas before the vocal enters.

Build phases

  • 74% — Percussion enters — analyst describes it as 'dump, dump, dump with the drums' and notes an instrument that sounds like a saxophone. A textural shift introducing rhythmic momentum.

Drop / climax points

  • 74% — Percussion enters — analyst describes it as 'dump, dump, dump with the drums' and notes an instrument that sounds like a saxophone. A textural shift introducing rhythmic momentum. (intensity: 1.00)

Emotional turns

  • 74% — Percussion and horn entry introduces a subtle lift in energy — the instrumentation becomes fuller, shifting the song's texture from sparse and somber to slightly more present.

Surprises

  • 74% — Percussion and horn entry introduces a subtle lift in energy — the instrumentation becomes fuller, shifting the song's texture from sparse and somber to slightly more present.

Listening Context

Our recommendation on when and how to experience this record.

Best Listening Context:
CinematicBackgroundSocialIntimate
Time of day
Evening
Season
Fall
Best Setting:
Solo & group
Best Listened With:
Speakers
Lyrical Content:
Clean
Repeatability
260 / 1000

AI-Derived Intelligence

Patterns identified by AI analysis.

Hook strength

0.74

Memorability of the main hook.

Innovation score

0.78

How original is this song?

Emotional balance

0.41

How emotionally complex?

Motif uniqueness 0.82
Structural predictability 0.62
Sonic conformity 0.61
Information density 0.34
Hook density 0.52
Narrative curvature 0.71
Geometric sharpness 0.28
Organic / mechanical feel 0.26
Contrast volatility 0.06

Color identity

Ten dimensions derived from the song's audio.

Hue
300.0
Saturation
0.86
Luminance
0.47
Edge sharpness
0.55
Texture granularity
0.35
Gradient motion
0.50
Color depth
0.22
Color layering
0.63
Palette harmony
1.00
Contrast composition
0.53
Complete Data Inventory Every data point available for this song. All data is free and open.

Song

album : "A Change Is Gonna Come - EP"

analysis_version : null

analyst_name : "Andrew Brownlee"

artist : "Sam Cooke"

audio_quality_estimate : "medium"

bpm_feel : null

bpm_feel_note : null

canonical_bpm : 86

canonical_bpm_source : "analyst"

color_generated : true

created_at : "2026-03-20T14:27:21.844551+00:00"

duration_seconds : 191.32

effective_bandwidth_hz : 8415

full_song_confirmed : false

id : "28378e0f-b444-42e7-9fea-33f05bd8a9c2"

isrc : "USA176420220"

published_at : "2026-03-22T21:29:09.138+00:00"

release_year : 1964

search_vector : "'chang':2A,9B 'come':5A,12B 'cook':7A 'ep':13B 'gonna':4A,11B 'sam':6A"

similarity_vector : [0.43066, 0.032156, 0.22921, 0.82314, 0.35323, 0.47727, 0.18335, 0.002678, 0.6832, 0.87985, 0.8, 0.18949, 0.1043, 0.28173, 0.91038, 0.089617, 0.41996, 0.39857, 0.44693, 0.98148, 0.12151, 0.52982, 0.16487, 0.80469, 0.4049, 0.48735, 0.22368, 0.51265, 0.062531, 0.67179, 0.089617, 0.44658]

slug : "a-change-is-gonna-come-sam-cooke"

source_sample_rate : 48000

status : "published"

tier1_complete : true

tier2_complete : true

tier3_complete : true

tier4_complete : true

title : "A Change Is Gonna Come"

updated_at : "2026-03-23T19:17:18.374215+00:00"

validation_complete : false

youtube_url : "https://www.youtube.com/watch?v=wEBlaMOmKV4"

Temporal

analyzed_at : "2026-03-22T19:21:59.777054+00:00"

beat_clarity : 0.18335

beat_strengths : 528 values [0.38376, 0.14327, 0.075161, 0.23603, 0.1195, 0.11889, 0.099694, 0.12723, 0.12935, 0.080444, ...]

beat_timestamps : 528 values [0.53406, 0.88236, 1.2539, 1.6022, 1.9505, 2.2988, 2.6471, 2.9954, 3.3437, 3.7152, ...]

beats_per_bar : null

bpm : 86

bpm_octave_corrected : true

bpm_raw : null

downbeat_timestamps : 132 values [0.53406, 1.9505, 3.3437, 4.8298, 6.2462, 7.709, 9.1254, 10.542, 11.912, 13.305, ...]

energy_shape : "steady"

groove_stability : 0.22921

library_primary : "librosa"

library_secondary : "essentia"

onset_density_curve : 382 values [0, 0.05, 0.05, 0.1, 0, 0, 0, 0, 0, 0, ...]

onset_strength_curve : 392 values [0.00076174, 1.5408, 1.1639, 1.2243, 1.1101, 1.0399, 0.97038, 0.92167, 1.0639, 1.0397, ...]

onset_timestamps : 387 values [0.51084, 1.0913, 1.6022, 1.7415, 11.169, 14.93, 15.395, 15.534, 15.72, 17.136, ...]

per_beat_centroid : 528 values [0.2701, 0.2701, 0.2211, 0.1941, 0.1941, 0.1847, 0.1799, 0.1799, 0.1716, 0.1456, ...]

per_beat_dominant_band : 528 values ["mid", "mid", "mid", "mid", "mid", "mid", "mid", "mid", "mid", "mid", ...]

per_beat_energy : 528 values [0.9503, 0.9503, 1, 0.9514, 0.9514, 1, 1, 1, 1, 1, ...]

raw_librosa_bpm : 172.27

rhythmic_density : 0.35323

swing_feel : 0.82314

syncopation_score : 0.47727

tempo_curve : 527 values [172.27, 161.5, 172.27, 172.27, 172.27, 172.27, 172.27, 172.27, 161.5, 161.5, ...]

tempo_map : [{"bpm":123,"start_seconds":0}, {"bpm":103.4,"start_seconds":30}, {"bpm":80.7,"start_seconds":45}, {"bpm":184.6,"start_seconds":60}, {"bpm":172.3,"start_seconds":75}, {"bpm":184.6,"start_seconds":150}]

tempo_marking : "moderato"

tempo_variability : 0.032156

tempogram : 40,000 values (time–frequency matrix) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...]

time_signature : null

Harmonic

analyzed_at : "2026-03-22T19:22:00.27997+00:00"

camelot_position : "6B"

chord_labels : 391 values ["F#", "Gm", "D#", "A#", "A#", "A#", "A#", "A", "C", "C", ...]

chord_progression_complexity : 0.0026784

chord_timestamps : 391 values [0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, ...]

chromagram : 4704 values [0.71285, 0.20064, 0.12446, 0.13226, 0.22089, 0.51816, 0.28301, 0.1274, 0.5032, 0.50311, ...]

essentia_harmonic_tension_curve : 381 values [0.5, 0.49988, 0.49987, 0.49995, 0.49998, 0.49998, 0.49997, 0.49999, 0.49999, 0.49998, ...]

harmonic_tension_curve : 381 values [0.5, 0.49988, 0.49987, 0.49995, 0.49998, 0.49998, 0.49997, 0.49999, 0.49999, 0.49998, ...]

hpcp_over_time : 4704 values [0.71285, 0.20064, 0.12446, 0.13226, 0.22089, 0.51816, 0.28301, 0.1274, 0.5032, 0.50311, ...]

hpcp_vector : [0.35964, 0.99921, 0.18111, 0.55611, 0.11783, 1, 0.21792, 0.11382, 0.74994, 0.16756, 0.81967, 0.12683]

key : "Bb"

key_change_from : ["A# major", "F major", "A# major", "G minor", "A# major", "G minor", "D minor", "A# major", "G minor", "A# major", "G minor", "A# major", "G minor", "A# major", "G minor", "A# major", "G minor", "A# major", "G minor", "A# major", "G minor"]

key_change_timestamps : [7.988, 11.981, 19.969, 31.951, 35.944, 39.938, 43.932, 55.914, 75.883, 87.864, 95.852, 103.84, 107.83, 115.82, 119.81, 123.81, 143.78, 155.76, 163.75, 167.74, 179.72]

key_change_to : ["F major", "A# major", "G minor", "A# major", "G minor", "D minor", "A# major", "G minor", "A# major", "G minor", "A# major", "G minor", "A# major", "G minor", "A# major", "G minor", "A# major", "G minor", "A# major", "G minor", "A# major"]

key_confidence : 0.87985

key_map : [{"key":"Bb","mode":"major","start_seconds":0}, {"key":"G","mode":"minor","start_seconds":40}, {"key":"Bb","mode":"major","start_seconds":50}, {"key":"G","mode":"minor","start_seconds":70}, {"key":"Bb","mode":"major","start_seconds":80}, {"key":"G","mode":"minor","start_seconds":130}, {"key":"Bb","mode":"major","start_seconds":140}, {"key":"G","mode":"minor","start_seconds":170}, {"key":"Bb","mode":"major","start_seconds":180}]

mode : "major"

mode_detail : null

mode_family : "major"

modulation_events : 8

non_western_scale : false

resolution_frequency : 0.38641

tonal_brightness : 0.6832

tonnetz_curves : 2352 values [-0.064785, 0.027616, -0.025637, -0.078183, -0.091469, -0.083493, 0.05539, 0.22232, 0.17539, 0.097253, ...]

Pitch

analyzed_at : "2026-03-22T19:22:00.628618+00:00"

average_pitch_height : 0.21644

interval_sharpness : 0.24552

melody_contour : 381 values [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...]

melody_contour_type : "jagged"

pitch_confidence_curve : 392 values [0.072243, 0.93549, 0.42055, 0.10484, 0.06099, 0.014261, 0.010056, 0.015013, 0.01005, 0.010046, ...]

pitch_contour_hz : 392 values [151.44, 1596.9, 1553.4, 630.25, 236.27, 192.1, 234.91, 272.14, 60.984, 0, ...]

pitch_contour_midi : 392 values [8.6897, 91.316, 90.83, 53.551, 58.235, 47.198, 58.135, 60.549, 16.122, 0, ...]

pitch_range : 1

repetition_score : 0.63398

Timbre

analog_digital_feel : 0.44693

analyzed_at : "2026-03-22T19:22:01.30196+00:00"

brightness_curve : 381 values [0.19602, 0.19924, 0.17044, 0.13891, 0.13687, 0.13767, 0.14147, 0.12075, 0.11884, 0.1252, ...]

distortion_level : 0.41996

fft_spectrum_256 : 76,800 values (256 bands × 300 frames) [0, 0.4192, 0.3675, 0.2671, 0.3175, 0.3544, 0.347, 0.3518, 0.3865, 0.3006, ...]

harmonic_energy_curve : 392 values [0.00083396, 0.050033, 0.070824, 0.052045, 0.076697, 0.096347, 0.086095, 0.079874, 0.083877, 0.093325, ...]

harmonic_percussive_ratio_curve : 392 values [0.92474, 0.91697, 0.86447, 0.85125, 0.89808, 0.85477, 0.79436, 0.83623, 0.81272, 0.80829, ...]

harmonic_richness : 0.91038

mel_spectrogram_compressed : 64,000 values [0, 0, 0.36773, 0.40138, 0.29145, 0.29064, 0.38984, 0.36925, 0.35646, 0.33328, ...]

mfcc_curves : 5,096 values [-1041.6, -804.02, -624.84, -597.07, -472.17, -361.4, -336, -394.28, -387.71, -316.43, ...]

mfcc_delta_curves : 5,096 values [3.4818, 13.467, 2.2246, 4.307, 7.6197, 2.8754, -0.67654, -3.4913, 3.8323, 0.33934, ...]

mfcc_delta2_curves : 5,096 values [1.2924, -1.2191, -0.28799, 0.2773, 0.087153, 0.0063527, -0.54901, 0.4937, 0.36374, -0.78469, ...]

mfcc_mean : [0, 1, 0.89597, 1, 0.60147, 0.84027, 0.51197, 0.79636, 0.47527, 0.58281, 0.42521, 0.67268, 0.37522]

mfcc_std : [1, 1, 1, 0.78949, 0.6967, 0.57045, 0.61782, 0.39712, 0.48353, 0.62051, 0.60246, 0.43376, 0.45336]

noise_content : 0.089617

percussive_energy_curve : 392 values [0.00007646, 0.0050524, 0.010799, 0.0091157, 0.0087683, 0.016296, 0.022209, 0.015489, 0.019129, 0.022148, ...]

spectral_bandwidth_curve : 392 values [0.015575, 0.078899, 0.085969, 0.087573, 0.086293, 0.084738, 0.093026, 0.089774, 0.086591, 0.096845, ...]

spectral_brightness : 0.1043

spectral_centroid : 0.18949

spectral_centroid_curve : 392 values [0.016249, 0.27007, 0.22108, 0.19406, 0.1847, 0.17992, 0.17159, 0.14563, 0.13396, 0.14489, ...]

spectral_contrast_curves : 2744 values [31.532, 40.518, 36.399, 34.496, 35.507, 34.857, 33.912, 31.748, 43.82, 40.35, ...]

spectral_entropy_curve : 392 values [0.1251, 0.36618, 0.45916, 0.51119, 0.5562, 0.59806, 0.61654, 0.57488, 0.58516, 0.60805, ...]

spectral_flatness : 0.006342

spectral_flatness_curve : 392 values [0.86168, 9.0091e-9, 8.7316e-8, 3.7538e-7, 8.6547e-7, 0.000002936, 0.0000040093, 0.0000027695, 0.0000016538, 0.0000041926, ...]

spectral_flux : 0.28173

spectral_kurtosis_curve : 392 values [0.32745, 0.82594, 0.49837, 0.52752, 0.51758, 0.53662, 0.4329, 0.55325, 0.43621, 0.38905, ...]

spectral_rolloff_curve : 392 values [0.028832, 0.2925, 0.28878, 0.27358, 0.25144, 0.23642, 0.24944, 0.23, 0.21252, 0.23651, ...]

spectral_skewness_curve : 392 values [0.76923, 0.56157, 0.69221, 0.71961, 0.65407, 0.66389, 0.67792, 0.761, 0.69514, 0.67837, ...]

transient_sharpness : 0.5528

warmth_metallic_index : 0.39857

zero_crossing_rate_curve : 392 values [0.0089983, 0.27416, 0.23026, 0.20722, 0.20322, 0.19631, 0.19341, 0.16771, 0.15534, 0.17006, ...]

Energy

aggressiveness_index : 0.16487

analyzed_at : "2026-03-22T19:22:02.013172+00:00"

average_loudness_lufs : -16.362

bass_treble_ratio_curve : 392 values [0.94658, 0.014507, 0.0031193, 0.034238, 0.088381, 0.067327, 0.054737, 0.067922, 0.17353, 0.18153, ...]

crest_factor_curve : 392 values [0.94353, 0.028992, 0.027083, 0.038986, 0.036353, 0.032272, 0.032878, 0.033769, 0.030691, 0.030451, ...]

danceability : 0.9471

dynamic_range_db : 41.53

dynamic_range_score : 0.52982

energy_curve : 392 values [0, 0.95031, 1, 0.95141, 1, 1, 1, 1, 1, 1, ...]

energy_curve_bass : 392 values [0.0000020957, 0.000091413, 0.000068237, 0.00020639, 0.0009306, 0.0024806, 0.0025215, 0.002246, 0.0068344, 0.012222, ...]

energy_curve_brilliance : 392 values [1.901e-7, 0.00085547, 0.0011877, 0.00021403, 0.00058801, 0.00095554, 0.00070269, 0.00053711, 0.00035267, 0.00060774, ...]

energy_curve_high : 392 values [0.0000035021, 0.010787, 0.016528, 0.0081085, 0.01049, 0.017019, 0.016082, 0.012137, 0.012784, 0.025554, ...]

energy_curve_low_mid : 392 values [5.5716e-7, 0.000018863, 0.000024026, 0.00071621, 0.0042433, 0.0050541, 0.0040906, 0.0037812, 0.012222, 0.01636, ...]

energy_curve_low_mid_6 : 392 values [1.8326e-7, 0.00001106, 0.000014329, 0.0010506, 0.0079256, 0.010333, 0.02566, 0.041514, 0.029485, 0.02399, ...]

energy_curve_mid : 392 values [0.000023764, 0.037179, 0.073515, 0.03877, 0.077413, 0.12921, 0.11837, 0.093888, 0.096391, 0.11944, ...]

energy_curve_mid_6 : 392 values [0.000027304, 0.042761, 0.084555, 0.044414, 0.085883, 0.1411, 0.1078, 0.060076, 0.085314, 0.11624, ...]

energy_curve_sub : 392 values [0.0000054627, 0.00049688, 0.00038585, 0.00038206, 0.00044619, 0.00039881, 0.00031593, 0.00034737, 0.00034389, 0.00040437, ...]

energy_curve_sub_bass : 392 values [0.000013158, 0.0008068, 0.00056909, 0.00061681, 0.00066161, 0.00065749, 0.00046917, 0.00046127, 0.00049368, 0.00060378, ...]

energy_curve_upper_mid : 392 values [0.000004208, 0.012746, 0.019628, 0.0099233, 0.01259, 0.020424, 0.019459, 0.01468, 0.015634, 0.031327, ...]

energy_mean : 0.98148

energy_peak_position : 0.0051151

energy_rate_of_change : 392 values [0, 0.95031, 0.04969, -0.048594, 0.048594, 0, 0, 0, 0, 0, ...]

energy_std : 0.12151

essentia_energy_curve : 381 values [0.014691, 0.218, 0.27704, 0.21229, 0.31934, 0.3925, 0.36144, 0.33187, 0.38506, 0.38108, ...]

integrated_loudness_lufs : -16.36

loudness_curve_perceptual : 392 values [0, 0.95031, 1, 0.95141, 1, 1, 1, 1, 1, 1, ...]

loudness_range_lra : 4.82

lufs_per_section : [-16.96, -16.41, -17.07, -16.57, -16.77, -17.08, -16.46, -15.41, -15.38, -15.63, -16.02, -16.93, -17.1, -18.04, -16.69, -14.81, -16.65, -16.57, -16.54, -16.95]

peak_loudness : 0.97182

rms_level : 0.98148

smoothness_index : 0.80469

true_peak_dbtp : -0.67

urgency_index : 0.18463

waveform_peaks_max : 1000 values [-0.0000036144, -0.0000036144, 0.077549, 0.13346, 0.24463, 0.29205, 0.26955, 0.22521, 0.16248, 0.19206, ...]

waveform_peaks_min : 1000 values [-0.0000036144, -0.0000036144, -0.085205, -0.16221, -0.21018, -0.27408, -0.23235, -0.22584, -0.17703, -0.16801, ...]

waveform_rms_envelope : 3818 values [0.0000025558, 0.0000036144, 0.0000036144, 0.0000036144, 0.0000036144, 0.0000036144, 0.0000036144, 0.0000036144, 0.0000088644, 0.0078621, ...]

Spatial

analyzed_at : "2026-03-22T19:22:02.191492+00:00"

depth_distribution : 0.48735

dry_wet_balance : 0.51265

height_perception : 0.0052

mid_energy_curve : 381 values [0.01468, 0.21793, 0.27701, 0.21226, 0.31929, 0.39246, 0.36137, 0.33185, 0.38501, 0.38104, ...]

phase_coherence_curve : 381 values [0.6514, 0.51566, 0.47915, 0.35916, 0.35796, 0.41125, 0.45134, 0.45032, 0.37648, 0.41749, ...]

reverb_size : 0.22369

side_energy_curve : 381 values [0.013223, 0.2727, 0.31919, 0.2441, 0.39996, 0.45432, 0.43468, 0.41138, 0.47752, 0.47506, ...]

stereo_correlation_curve : 381 values [0.79529, 0.62503, 0.67976, 0.61948, 0.48645, 0.55759, 0.5372, 0.52021, 0.49972, 0.49051, ...]

stereo_image_motion : 0.4525

stereo_width : 0.4049

stereo_width_curve : 381 values [0.2971, 0.36995, 0.35093, 0.35049, 0.37019, 0.35199, 0.36079, 0.36776, 0.36788, 0.36909, ...]

Arrangement

analyzed_at : "2026-03-22T19:22:02.339934+00:00"

bass_presence : 0.44658

drums_presence : 0.089617

fade_out : false

fx_presence : 0.0042313

harmonic_presence : 0.91038

intro_end_seconds : 0.56

is_instrumental_estimate : false

layer_count_mean : 0.62531

layer_count_over_time : 392 values [0.92571, 0.2381, 0.32762, 0.65524, 0.96, 0.99429, 0.98667, 0.86476, 0.96952, 0.98286, ...]

layer_count_peak : 1

melodic_presence : 1

minimalism_maximalism_score : 0.67179

novelty_curve : 392 values [0.075736, 0.096246, 0.17396, 0.15523, 0.10863, 0.11426, 0.14641, 0.092412, 0.12412, 0.10719, ...]

outro_start_seconds : 188.59

repetition_pairs : []

self_similarity_matrix : 10,000 values [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...]

silence_count : 2

silence_map : [{"end":0.46,"start":0,"duration":0.46}, {"end":190.78,"start":188.99,"duration":1.79}]

total_silence_seconds : 2.25

vocal_activity_map : 389 values [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...]

vocal_energy_ratio : 0.7283

Stems

analysis_bass_centroid_curve : 389 values [0.44177, 0.35499, 0.33143, 0.34059, 0.3343, 0.33013, 0.35545, 0.34438, 0.41078, 0.36963, ...]

analysis_bass_energy_curve : 389 values [0.00019486, 0.00021158, 0.00022349, 0.00023972, 0.00028563, 0.00030684, 0.0003511, 0.00031904, 0.00063026, 0.00045334, ...]

analysis_bass_pitch_contour_hz : 389 values [398.99, 398.99, 358.35, 251.31, 268.69, 130.11, 372.47, 234.09, 312.26, 376.72, ...]

analysis_bass_pitch_contour_midi : 389 values [67.306, 67.306, 61.18, 44.55, 45.35, 21.948, 62.895, 39.502, 52.675, 66.278, ...]

analysis_created_at : "2026-03-22T19:22:03.038928+00:00"

analysis_drum_onset_strengths : 233 values [0.32816, 0.13863, 0.41253, 0.14719, 0.22557, 0.16814, 0.2415, 0.18257, 0.19028, 0.13697, ...]

analysis_drum_onset_timestamps : 233 values [8.6293, 9.8667, 11.168, 16.043, 17.088, 18.101, 19.157, 19.851, 20.181, 20.544, ...]

analysis_drum_pattern_confidence : 0.31184

analysis_drum_pattern_type : "irregular"

analysis_drums_centroid_curve : 389 values [0.43661, 0.38197, 0.36849, 0.36807, 0.35682, 0.34764, 0.35085, 0.34976, 0.33877, 0.34081, ...]

analysis_drums_energy_curve : 389 values [0.00054286, 0.00066833, 0.00069955, 0.00060202, 0.00065798, 0.00073441, 0.00071767, 0.00066659, 0.0006932, 0.00073791, ...]

analysis_hihat_timestamps : [19.157, 21.184, 23.275, 25.312, 29.088, 29.387, 29.419, 31.456, 33.515, 34.528, 35.573, 37.675, 39.755, 40.448, 40.715, 41.792, 42.827, 43.189, 43.52, 45.899, 46.603, 46.912, 47.637, 58.411, 60.501, 62.603, 64.683, 66.752, 70.987, 72.053, 73.088, 75.157, 81.472, 91.605, 95.755, 96.437, 96.715, 112.78, 121.14, 123.2, 127.37, 133.61, 135.68, 137.75, 150.3, 162.82, 171.2, 175.42, 177.56, 179.78]

analysis_kick_timestamps : 139 values [8.6293, 11.168, 16.043, 18.101, 19.851, 20.181, 20.544, 20.885, 21.952, 22.219, ...]

analysis_other_centroid_curve : 389 values [0.39895, 0.16423, 0.14438, 0.12521, 0.11414, 0.11396, 0.11427, 0.10823, 0.099098, 0.10562, ...]

analysis_other_energy_curve : 389 values [0.0022638, 0.167, 0.23594, 0.17836, 0.25787, 0.32971, 0.31098, 0.27723, 0.31011, 0.33331, ...]

analysis_snare_timestamps : [9.8667, 17.088, 21.227, 27.36, 43.851, 47.936, 47.979, 50.059, 52.117, 56.331, 68.864, 74.144, 77.269, 79.371, 83.573, 85.984, 100.18, 102.28, 104.38, 106.49, 108.6, 110.69, 114.93, 115.98, 117.02, 119.07, 124.35, 125.31, 128.39, 129.43, 131.52, 139.81, 141.97, 144.09, 145.15, 148.22, 154.84, 160.27, 162.37, 164.89, 166.95, 169.08, 171.25, 183.18]

analysis_updated_at : "2026-03-22T19:22:04.745439+00:00"

analysis_vocal_centroid_curve : 389 values [0.48225, 0.44342, 0.37089, 0.42432, 0.40597, 0.40101, 0.39548, 0.40958, 0.40594, 0.38398, ...]

analysis_vocal_energy_curve : 389 values [0.00024296, 0.00026973, 0.00028089, 0.00024216, 0.00024766, 0.00028986, 0.00026726, 0.00022135, 0.00030329, 0.00029733, ...]

analysis_vocal_pitch_confidence : 389 values [0.13293, 0.4613, 0.16723, 0.32457, 0.1584, 0.040887, 0.033857, 0.055884, 0.07146, 0.044347, ...]

analysis_vocal_pitch_contour_hz : 389 values [1867.3, 1309.2, 1227, 1404.9, 1201.6, 1200.2, 911.94, 1780.4, 1997.6, 998.79, ...]

analysis_vocal_pitch_contour_midi : 389 values [88.984, 80.875, 80.132, 89.038, 86.392, 78.378, 43.457, 84.845, 95.192, 47.596, ...]

analysis_vocal_vibrato_extent : 11.73

analysis_vocal_vibrato_presence : 0.94692

analysis_vocal_vibrato_rate : 8.5227

bass_energy_curve : 381 values [0.0004, 0.0005, 0.0005, 0.0005, 0.0006, 0.0007, 0.0008, 0.0008, 0.0016, 0.0008, ...]

bass_line_complexity : 1

bass_pitch_mean : 80.01

bass_prominence : 0.1893

bass_rms : 0.029149

bass_root_note : "Bb"

bass_sub_ratio : 0.0781

created_at : "2026-03-20T15:40:10.642493+00:00"

drums_classification_confidence : 0.95

drums_classification_source : "algorithm_confident"

drums_energy_curve : 381 values [0.001, 0.0013, 0.0013, 0.0011, 0.0012, 0.0014, 0.0013, 0.0013, 0.0013, 0.0014, ...]

drums_is_programmed : false

drums_onset_density : 1.2213

drums_pattern_complexity : 0.056

drums_prominence : 0.0923

drums_rms : 0.01421

drums_timing_variance : 0.27126

harmonic_vocal_balance : 0.589

key_bass_agreement : true

key_validated : true

other_energy_curve : 381 values [0.0149, 0.2234, 0.284, 0.2172, 0.3265, 0.4011, 0.3687, 0.3389, 0.3937, 0.3896, ...]

other_harmonic_density : 0.9987

other_prominence : 0.4685

other_rms : 0.072146

other_spectral_centroid : 0.0661

rhythmic_foundation : 0.2815

section_map : [{"type":"intro","end_seconds":29.5,"start_seconds":0}, {"type":"bridge","end_seconds":83,"start_seconds":29.5}, {"type":"chorus","end_seconds":88.5,"start_seconds":83}, {"type":"verse","end_seconds":102.5,"start_seconds":88.5}, {"type":"bridge","end_seconds":146,"start_seconds":102.5}, {"type":"chorus","end_seconds":161,"start_seconds":146}, {"type":"verse","end_seconds":167,"start_seconds":161}, {"type":"bridge","end_seconds":190.5,"start_seconds":167}]

separation_model : "htdemucs_ft"

separation_time_seconds : 6.2

stem_separation_quality : 0.8573

stems_available : true

updated_at : "2026-03-22T19:22:04.634647+00:00"

vocal_breathiness : 0.3053

vocal_effort_curve : 381 values [0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0002, 0.0004, 0.0003, ...]

vocal_pitch_curve : []

vocal_pitch_mean : 0

vocal_pitch_std : 0

vocal_prominence : 0.6715

vocal_range_high_hz : 0

vocal_range_high_midi : 0

vocal_range_low_hz : 0

vocal_range_low_midi : 0

vocal_range_semitones : 0

vocal_rms : 0.10341

vocal_vibrato_depth : 0

vocal_vibrato_rate : 0

vocal_voiced_ratio : 0

Color

algorithm_version : "1.0"

color_depth : 0.2237

color_layering : 0.6253

contrast_composition : 0.5298

edge_sharpness : 0.5528

generated_at : "2026-03-22T19:22:05.035496+00:00"

gradient_motion : 0.4983

hex : "#E111E1"

hue : 300

luminance : 0.4727

oklch_chroma : 0.30171

oklch_hue : 327.01

oklch_lightness : 0.6413

palette_harmony : 0.9973

saturation : 0.8626

texture_granularity : 0.3532

AI-Derived (Tier 2)

analog_digital_feel : null

claude_model : "claude-sonnet-4-6"

color_temperature_curve : 392 values [0.68664, 0.82919, 0.83664, 0.82935, 0.83664, 0.83664, 0.83664, 0.83664, 0.83664, 0.83664, ...]

contrast_volatility : 0.064376

danceability_curve : 392 values [0.046075, 0.69838, 0.59519, 0.6036, 0.57906, 0.558, 0.5371, 0.52248, 0.56516, 0.55794, ...]

derivation_prompt_version : "1.0"

derived_at : "2026-03-20T14:53:44.951352+00:00"

emotional_balance : 0.41

emotional_intensity_curve : 392 values [0.24496, 0.5198, 0.51963, 0.50212, 0.51756, 0.51252, 0.50522, 0.50551, 0.50142, 0.50262, ...]

genre_conformity_score : 0.61

geometric_sharpness : 0.28

hook_density : 0.52

hook_strength : 0.74

innovation_score : 0.78

motif_uniqueness : 0.82

motion_velocity_mapping : 392 values [0, 0.56115, 0.59049, 0.56179, 0.59049, 0.59049, 0.59049, 0.59049, 0.59049, 0.59049, ...]

narrative_curvature : 0.71

organic_mechanical_feel : 0.26

particle_density_mapping : 392 values [0.62188, 0.15995, 0.22009, 0.44018, 0.64492, 0.66795, 0.66283, 0.58094, 0.65132, 0.66027, ...]

signal_entropy : 0.34

structural_predictability : 0.62

tempo_feel : null

tempo_feel_confidence : null

tempo_feel_note : null

tension_curve_composite : 392 values [0.15406, 0.46506, 0.46523, 0.45635, 0.44617, 0.44497, 0.44289, 0.4364, 0.43349, 0.43622, ...]

textural_complexity_curve : 392 values [0.51524, 0.39128, 0.44604, 0.56993, 0.65486, 0.6777, 0.68096, 0.63189, 0.6664, 0.67727, ...]

visual_brightness_curve : 392 values [0, 0.80776, 0.85004, 0.80873, 0.85002, 0.85, 0.85001, 0.85001, 0.85, 0.85, ...]

warmth_metallic_index : null

Emotional (Tier 3)

analyst_confirmed : true

analyst_id : "daef3c29-b712-473c-b01e-346323d60aea"

arousal : 290

arousal_confidence : 0.78

confirmed_at : "2026-03-22T21:29:09.138+00:00"

created_at : "2026-03-22T21:26:41.705792+00:00"

dominant_emotion : "somber optimism"

inspirational_confidence : 0.83

inspirational_quality : 680

melancholy_confidence : 0.85

melancholy_index : 630

mystery_confidence : 0.72

mystery_index : 180

nostalgia_confidence : 0.87

nostalgia_index : 780

sensuality_confidence : 0.65

sensuality_index : 120

triumph_confidence : 0.8

triumph_index : 580

updated_at : "2026-03-22T21:33:00.453+00:00"

valence : 480

valence_confidence : 0.85

Context (Tier 3)

analyst_confirmed : true

analyst_id : "daef3c29-b712-473c-b01e-346323d60aea"

confirmed_at : "2026-03-22T21:29:09.138+00:00"

created_at : "2026-03-22T21:26:41.781852+00:00"

explicit_lyrics : false

family_friendly : true

headphones_speakers : "speakers"

listening_context : ["cinematic", "background", "social", "intimate"]

listening_context_confidence : 0.87

repeatability_confidence : 0.82

repeatability_score : 260

seasonal_feel : ["fall"]

seasonal_feel_confidence : 0

solo_group : "both"

time_of_day : ["evening"]

time_of_day_confidence : 0.62

updated_at : "2026-03-22T21:26:41.781852+00:00"

Narrative (Tier 3)

analyst_confirmed : true

analyst_id : "daef3c29-b712-473c-b01e-346323d60aea"

arc_confidence : 0.75

arc_notes : null

build_phases : [{"confidence":0.82,"description":"Percussion enters — analyst describes it as 'dump, dump, dump with the drums' and notes an instrument that sounds like a saxophone. A textural shift introducing rhythmic momentum.","source_excerpt":"around like 2 minutes, 25 seconds. You got the little dump, dump, dump with the drums. It seems like I'm not sure what the instrument is. It sounds like a saxophone.","timestamp_normalized":0.74}]

confirmed_at : "2026-03-22T21:29:09.138+00:00"

created_at : "2026-03-22T21:26:41.857391+00:00"

drop_climax_points : [{"confidence":0.82,"description":"Percussion enters — analyst describes it as 'dump, dump, dump with the drums' and notes an instrument that sounds like a saxophone. A textural shift introducing rhythmic momentum.","source_excerpt":"around like 2 minutes, 25 seconds. You got the little dump, dump, dump with the drums. It seems like I'm not sure what the instrument is. It sounds like a saxophone.","timestamp_normalized":0.74}]

emotional_turning_points : [{"confidence":0.62,"shift_type":"complex","description":"Percussion and horn entry introduces a subtle lift in energy — the instrumentation becomes fuller, shifting the song's texture from sparse and somber to slightly more present.","source_excerpt":"around like 2 minutes, 25 seconds. You got the little dump, dump, dump with the drums. It sounds like a saxophone.","timestamp_normalized":0.74}]

intro_energy : "Begins with heavy, cinematic orchestral strings — described as eerie and immediately dramatic. The opening signals weight and gravitas before the vocal enters."

overall_arc_type : "sustained"

resolution_phase : null

surprise_moments : [{"confidence":0.62,"shift_type":"complex","description":"Percussion and horn entry introduces a subtle lift in energy — the instrumentation becomes fuller, shifting the song's texture from sparse and somber to slightly more present.","source_excerpt":"around like 2 minutes, 25 seconds. You got the little dump, dump, dump with the drums. It sounds like a saxophone.","timestamp_normalized":0.74}]

updated_at : "2026-03-22T21:26:41.857391+00:00"

Cultural (Tier 3)

analyst_confirmed : true

analyst_credit : "Andrew Brownlee"

analyst_id : "daef3c29-b712-473c-b01e-346323d60aea"

confirmed_at : "2026-03-22T21:29:09.138+00:00"

created_at : "2026-03-22T21:26:41.924149+00:00"

cultural_context_notes : null

cultural_origin : null

listening_notes : null

production_era : null

updated_at : "2026-03-22T21:26:41.924149+00:00"

External (Tier 4)

acrcloud_id : null

apple_music_id : "1440495265"

apple_music_url : "https://music.apple.com/us/album/a-change-is-gonna-come/1440495264?i=1440495265"

external_bpm_reference : null

external_key_reference : null

external_source : null

fetched_at : "2026-03-20T14:27:24.772151+00:00"

genius_id : 78533

genius_url : "https://genius.com/Sam-cooke-a-change-is-gonna-come-lyrics"

lyrics : 909 characters "[Verse 1]\nI was born by the river\nIn a little tent\nOh, and just like the river, I've been runnin'\nEver since\n\n[Chorus]\nIt's been a long\nA long time comin', but I know\nA change gon' come\nOh, yes, it will\n\n[Verse 2]\nIt's been too hard livin'\nBut I'm afraid to die\n'Cause I don't know what's up there\nBe"…

lyrics_annotations : [{"id":10930920,"fragment":"It’s been a long\n A long time comin’, but I know\n A change gon’ come\n Oh, yes, it will","annotations":[{"body":{"plain":"Despite his frustration with racism, Sam Cooke’ was hopeful that the America of the future would provide equality for Black people.\n\n“A Change is Gonna Come” was released in 1964, right in the middle of the American Civil Rights Movement, a collective stride towards ending racial discrimination and injustice perpetuated against Black people. In these times, Black citizens were segregated and forced to use separate schools, bathrooms, water fountains, and more. Spanning over many years, and seeing a wide variety of supporters and leaders, the journey was nothing short of arduous."}}]}, {"id":2338952,"fragment":"Lor’, there been times that I thought\n I couldn’t last for long\n But now, I think I’m able to\n Carry on","annotations":[{"body":{"plain":"Although Sam shares some bad experiences in this song there is an undertone of optimism. He mentions rough times when he didn’t believe that he would be able to continue living, but despite the fact that he has faced hardships and challenges he still has hope that change will come. He envisions a future world without any racism and segregation."}}]}, {"id":1883221,"fragment":"It’s been too hard livin’\n But I’m afraid to die\n ’Cause I don’t know what’s up there\n Beyond the sky","annotations":[{"body":{"plain":"Living in mid-twentieth century America is hard for Cooke. Racial segregation and discrimination toward blacks is omnipresent even after the passing of the Emancipation Proclamation in 1863, which freed blacks from slavery.\n\nBecause of this, it is very likely Cooke suffered emotionally and maybe even physically as a result. But he is unwilling to let himself die either because he is doubtful that an afterlife exists or if there is a afterlife, it will be filled with racial discrimination and segregation.\n\nThis was released as a single a few months after Cooke died. He was shot by a motel owner who claimed he was raping a young girl in one of the rooms.\n\nA lot of controversy surrounded his death; Cooke owned his own record label and publishing company, and some people thought he was killed as part of a plot."}}]}, {"id":1883209,"fragment":"I was born by the river\n In a little tent","annotations":[{"body":{"plain":"Perhaps in reference to the Born-Again Church baptisms, where they submerge you in a river. Sam Cooke was brought up in and first performed with these Churches.\n\nAlso, by way of metaphor, in reference to the River Jordan (which now separates Israel and Jordan): black orators in the civil rights era would often draw comparisons between the state of black people under Jim Crow and the Jews under Egypt and Rome – as attested in the Old and New Testaments, with which the population at large were commonly familiar.\n\n\n\nIt’s more or less literally true, too: he was born in Clarksdale, Mississippi."}}]}, {"id":1300920,"fragment":"I go to the movie\n And I go downtown\n Somebody keep tellin’ me\n “Don’t hang around”","annotations":[{"body":{"plain":"Refers to Jim Crow laws which dictated the public lives of blacks in the south. In this case, Cooke is saying that there are certain places he cannot hang around because whites will force him to leave.\n\nThese laws were originally put in place to segregate blacks and whites “separately, but equally,” (as dictated by the Supreme Court case Plessy vs. Ferguson ) but instead provided institutional acceptance of racism.\n\nCooke had a famous run-in with Jim Crow laws in Louisiana about a year before the release of this song, when his band tried to register at a whites only hotel. This event may have provided inspiration for this lyric line."}}]}, {"id":1300910,"fragment":"It’s been a long\n A long time comin’, but I know\n A change gon’ come\n Oh, yes, it will","annotations":[{"body":{"plain":"Blacks had been subjugated in the U.S. since the 17th century, and were still ‘kept down’ by whites when Cooke wrote this song in the early sixties thanks to institutional racism.\n\nBut, Cooke believed that a day would come where blacks and whites can exist as equals. Bob Dylan’s song “Blowing in the Wind” is said to have inspired him to believe that this was possible."}}]}, {"id":1300909,"fragment":"Oh, and just like the river, I’ve been runnin’\n Ever since","annotations":[{"body":{"plain":"Because he was a Black man born in the United States, he has had to “run” in order to succeed in a world dominated by whites.\n\nAdditionally, his family – like many black families fleeing the Jim Crow laws of the south as part of the Great Migration – moved to north, to seek a better fortune. When Cooke was 2, his family moved from Mississippi to Chicago."}}]}, {"id":1300893,"fragment":"Then I go to my brother\n And I say, “Brother, help me please”\n But he winds up\n Knockin’ me\n Back down on my knees","annotations":[{"body":{"plain":"This line refers to Blacks in the United States who did not openly support the Civil Rights Movement. Often, these people were afraid of violent retribution, and preferred to keep their fellow men “on their knees” in front of whites to avoid conflict.\n\nCooke’s record producers were especially guilty of this. They were more interested in keeping him popular among white listeners, than allowing him to speak out against race-related injustices in his music. This song was the first politically charged recording of Cooke’s, and was his way of “getting off of his knees.”\n\nIronically, the track was initially buried on the B-side of a semi-popular single by his producers. Rather than being released to stand on its own, the executives were too worried it would degrade Cooke’s popularity with whites."}}]}]

musicbrainz_id : null

spotify_id : null

spotify_uri : null

updated_at : "2026-03-23T19:17:18.374215+00:00"

Full array data available: Download complete JSON →

For programmatic access across multiple songs: MusicArk API (coming soon)

Use this data

Audio-reactive visuals (TouchDesigner, Notch, Unreal Niagara, Resolume) · DJ mixing & Camelot compatibility · Music production analysis · Emotional scoring for sync licensing · AI and ML training · Data journalism and music research

Browse any song profile for the full analysis. Download the complete dataset for any song as JSON. For batch access across the full catalog, the MusicArk API is coming soon.