Toronto-based multimedia artist Dylan Joshua took this opportunity with both hands after realising his artistic voice wasn’t being fully realised as a graphic designer. There’s a healthy crossover, however, as his efforts in the visual realm seamlessly integrate with his recent musical exploits, and elevate his latest project from beyond merely an EP, to a vivid audiovisual experience titled Hologram.
Sonically it lands in an envelope-pushing, downtempo hip-hop pocket but naturally, there’s so much more to it. Outside of the neon-tinged, tech-dominated dystopian world the project paints, it carries an important overarching message of unity in the face of mental health and it’s challenges. With a cut of the proceeds donated to the Canadian Mental Health Association, Joshua elucidates on his experiences throughout the EP in hope of connecting with likeminded people experiencing the same, noting in the email press release that “This EP is for them.”
googletag.cmd.push(function () { var slot = {"name":"in-post-content-1638421","path":"//4052//earmilk//alternative-rb","sizes":{"mobile":[[300,250]]},"div":"div-gpt-in-post-content-1638421","targets":{"pos":1,"sz":"300x250"}}; var mapping, gptSlot;
if (slot.sizes.desktop) { desktop_size = slot.sizes.desktop; default_size = desktop_size; } else { desktop_size = []; }
if (slot.sizes.tablet) { tablet_size = slot.sizes.tablet; default_size = tablet_size; } else { tablet_size = []; }
if (slot.sizes.mobile) { mobile_size = slot.sizes.mobile; default_size = mobile_size; } else { mobile_size = []; }
mapping = googletag.sizeMapping() .addSize([320, 400], mobile_size) .addSize([728, 200], tablet_size) .addSize([970, 200], desktop_size) .build();
gptSlot = googletag.defineSlot(slot.path, default_size, slot.div) .defineSizeMapping(mapping) .addService(googletag.pubads()) .addService(googletag.companionAds());
/** * Add targeting data. */ _.each(slot.targets, function (target, key) { gptSlot.setTargeting(key, target) });
/** * Add the page/slot targeting data. */ ionegpt.attrs['position'] = slot.name;
_.each(ionegpt.attrs, function (target, key) { gptSlot.setTargeting(key, target) });
googletag.display(slot.div);
renderedGptSlots[slot.div] = gptSlot;
});
The first track, “No Connection” sets the tone of the EP as the project embarks on a relatable, introspective journey through the many shades of his eclectic sound. Teaser singles “Digital Blues” and “8-BIT” promptly follow, maintaining the oceans-deep aesthetic in both lyrics and production, as he continues down a path of honest self-admission and personal discovery. The penultimate track, “Simp,” sees Joshua is at his most vulnerable, spinning a narrative on reaching a significant other’s voicemail at the worst time, with his falsetto perfectly complementing the dreamy, acoustic guitar-led production. Closing out the project, “Can’t Be Coded” reaffirms the projects overall narrative by concluding with a strong message of identity.
At just thirteen minutes in length, Hologram is a multi-faceted, truly exceptional exposé that displays the overflowing creativity of an artist confident in his artistic voice and we can’t wait to see what’s next.
googletag.cmd.push(function () { var slot = {"name":"in-post-content-1638422","path":"//4052//earmilk//alternative-rb","sizes":{"mobile":[[300,250]]},"div":"div-gpt-in-post-content-1638422","targets":{"pos":2,"sz":"300x250"}}; var mapping, gptSlot;
if (slot.sizes.desktop) { desktop_size = slot.sizes.desktop; default_size = desktop_size; } else { desktop_size = []; }
if (slot.sizes.tablet) { tablet_size = slot.sizes.tablet; default_size = tablet_size; } else { tablet_size = []; }
if (slot.sizes.mobile) { mobile_size = slot.sizes.mobile; default_size = mobile_size; } else { mobile_size = []; }
mapping = googletag.sizeMapping() .addSize([320, 400], mobile_size) .addSize([728, 200], tablet_size) .addSize([970, 200], desktop_size) .build();
gptSlot = googletag.defineSlot(slot.path, default_size, slot.div) .defineSizeMapping(mapping) .addService(googletag.pubads()) .addService(googletag.companionAds());
/** * Add targeting data. */ _.each(slot.targets, function (target, key) { gptSlot.setTargeting(key, target) });
/** * Add the page/slot targeting data. */ ionegpt.attrs['position'] = slot.name;
_.each(ionegpt.attrs, function (target, key) { gptSlot.setTargeting(key, target) });
googletag.display(slot.div);
renderedGptSlots[slot.div] = gptSlot;
});
Connect with Dylan Joshua: Facebook | Instagram | Twitter