Concert Reviews
Maybe it was a change in ownership at The Factory or maybe it was just a sign of maturity, but Erykah Badu did not keep the crowd waiting on her 52 birthday show.
By Andrew Sherman
February 25, 2023
Erykah Badu shone at her Friday night birthday show at the Factory in Deep Ellum.Andrew Sherman
We have a favor to ask
We're in the midst of our summer membership campaign, and we have until August 25 to raise $5,500. Your contributions are an investment in our election coverage – they help sustain our newsroom, help us plan, and could lead to an increase in freelance writers or photographers. If you value our work, please make a contribution today to help us reach our goal.
Progress to goal
$5,500
$4,400
Audio By Carbonatix
`,`
Related
- The Roots Continued to Subvert Expectations With an Irving concert
`,`
Related
- Kings of Leon Found the Fun in Its Fort Worth Debut
`,`
Related
- Allen Stone Brings a Funk Revival to Dallas and Gets Personal With Fans
`,`
Related
- Dallas Punched Its Ticket to 'Loserville' With Limp Bizkit
`,`
Related
- Video: Selena’s 1994 Dallas Concert at the State Fair of Texas
`,`
Related
- Grupo Frontera Returns to DFW All Grown Up
`,`
Related
- Chrissie Hynde and The Pretenders Still Rock Harder Than You
`,`
Related
`,`
Related
- Peso Pluma Showcased Latin, Mexican Pride in Fort Worth Concert
` ];
Maybe it was the change in ownership at The Factory or maybe it was just a sign of maturity, but Erykah Badu did not keep the crowd waiting on her 52nd birthday show.
The notoriously late performer celebrated her annual birthday bash on Friday in Deep Ellum by taking the stage at 10:30 p.m. But some things were unchanged: The show had a lineup of incredible talent.
The concert was hosted by Legendary Baller and opened with Dallas's own Marc Rebillet, sporting his trademark bathrobe and insane energy. Despite his recent collaboration with Badu, and his own massive fame, it seemed like most of the crowd was unfamiliar with Rebillet. But his performance brought everyone in.
Even Ms. Badu jumped onstage and danced with the artist known as "Loop Daddy," giving the crowd an early thrill. He turned out to be the perfect opener.
click to enlarge
Ms. Badu's style was on full display.
Andrew Sherman
From there, Zach Witness took the crowd through a hip-hop journey and brought out a gallery of emcees including Spaceboifresh, Big X The Plug, Maxocreme and Texas favorite Bun B.
WuTang's own Raekwon was definitely a crowd favorite, and he set the stage for the queen of neo-soul.
click to enlarge
Marc Rebillet, American sex symbol.
Andrew Sherman
But Friday night was definitely Erykah's night. Ms. Badu came out in the most Badu way possible, sporting a mirrored top hat, white furs and fringe off her arms. Her gold teeth sparkled; she was gorgeous and wasted no time taking the mic and owning the room.
The audience was in sheer ecstasy and hung on her every note. "I Want You," was a highlight, but the house came down for "Bag Lady."
And just as the party had gotten off to an early start, it came to an early end, wrapping up before midnight.
Badu seemed to have gotten her birthday wish yet again, and she's coming off an incredible year, with a recent Vogue cover and a continuously growing fan base despite not releasing any new music in years.
The singer was visibly in an excellent mood throughout the night, and it's no surprise: This city is hers, and she only gets better with age.
click to enlarge
Marc Rebillet poses for the crowd.
Andrew Sherman
click to enlarge
Marc Rebellet times 3.
Andrew Sherman
click to enlarge
Erykah dances during Marc Rebillet's set.
Andrew Sherman
click to enlarge
Zach Witness gave a mini-tour of hip-hop.
Andrew Sherman
click to enlarge
Legendary Baller hosted the party.
Andrew Sherman
click to enlarge
A very happy crowd at The Factory.
Andrew Sherman
click to enlarge
DJ Zach Witness sets the mood.
Andrew Sherman
click to enlarge
Space Boi Fresh with an inspirational song.
Andrew Sherman
click to enlarge
Maxokream with the dance moves.
Andrew Sherman
click to enlarge
BigX Tha Plug was high energy.
Andrew Sherman
click to enlarge
The crowd was ready for a party.
Andrew Sherman
click to enlarge
Bun B was a crowd favorite.
Andrew Sherman
click to enlarge
Raekwon owned the stage.
Andrew Sherman
click to enlarge
Raekwon showing Dallas some love.
Andrew Sherman
click to enlarge
Erykah Badu takes over.
Andrew Sherman
click to enlarge
Everyone was on their feet for Ms. Badu.
Andrew Sherman
click to enlarge
Happy Birthday to an icon.
Andrew Sherman
click to enlarge
Musical director and Dallas's own Daniel Jones.
Andrew Sherman
click to enlarge
Some sass from the Queen.
Andrew Sherman
click to enlarge
As always, Eryka's band was on point.
Andrew Sherman
click to enlarge
Erykah held nothing back on her 52nd birthday.
Andrew Sherman
click to enlarge
Badu embodied style and grace.
Andrew Sherman
click to enlarge
Badu was as intense as ever.
Andrew Sherman
click to enlarge
The spotlight belonged to Erykah Badu.
Andrew Sherman
') let lineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() if (jQuery(element).prop('tagName').match(/HIDDEN/i) !== null) { jQuery(element).children('div').last().css({ marginBottom: `${lineHeight*2}px` }); } else { jQuery(element).css({ marginTop: `${lineHeight*2}px`, marginBottom: `${lineHeight}px` }); } // const insertionBlockClass = `fdn-paragraph-insertion-block`; const styleElementHook = `fdn-paragraph-insertion-styles`; jQuery(element).addClass(insertionBlockClass); if (jQuery(`[${styleElementHook}]`).length === 0) { jQuery('div.fdn-content-body, div #storyBody').append('
') const paragraphLineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() const styleElement = jQuery(`
`); const styleText = ` div.fdn-content-body br+.${insertionBlockClass}:not([hidden]), div #storyBody br+.${insertionBlockClass}:not([hidden]) { margin-top: ${paragraphLineHeight*2}px; margin-bottom: ${paragraphLineHeight}px; } div.fdn-content-body br+.${insertionBlockClass}[hidden] > div:last-of-type, div #storyBody br+.${insertionBlockClass}[hidden] > div:last-of-type { margin-bottom: ${paragraphLineHeight*2}px; } ` styleElement.text(styleText); jQuery('head').append(styleElement); } // } } jQuery(element).insertBefore(this.paragraphEndNodes[index]); } else { console.warn('Foundation.ParagraphTool.insertElemenAt: invalid insertion index', index); } } this.insertElemenAtEnd = function (element) { if (this.paragraphEndNodes.length) { let lastNode = this.getNodeAtIndex(this.paragraphEndNodes.length -1); if (this.isDoubleBrParagraphBreak(lastNode) || this.isBrParagraphBreakBeforeBlockElement(lastNode)) { if (jQuery(element).get(0).tagName.match(/SCRIPT/i) !== null) { jQuery('
').insertAfter(this.paragraphEndNodes[index]); jQuery('
').insertAfter(this.paragraphEndNodes[index]); } else { jQuery('div.fdn-content-body, div #storyBody').append('
') let lineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() if (jQuery(element).prop('tagName').match(/HIDDEN/i) !== null) { jQuery(element).children('div').last().css({ marginBottom: `${lineHeight*2}px` }); } else { jQuery(element).css({ marginTop: `${lineHeight*2}px`, marginBottom: `${lineHeight}px` }); } } } } this.bodyContainer.append(element); } this.getNodeAtIndex = function (index) { return this.paragraphEndNodes[index]; } }
`); } var paragraphCount = myParagraphTool.getParagraphEndNodeCount(); // No need to insert if there aren't enough paragaphs if (paragraphCount >= parseInt(item.requiredCountToDisplay)) { // Matches specific paragraph insertion indexes if (item.insertPoint.match(/^\d+$/) !== null) { var insertIndex = parseInt(item.insertPoint) - 1; // Insert within content if (insertIndex < paragraphCount) { myParagraphTool.insertElemenAtIndex(componentElement, insertIndex); } // Append to the end if the insert point is beyond the paragraph count else { myParagraphTool.insertElemenAtEnd(componentElement) } } // Matches for 1/2, 1/4, 2/3, 5/6, etc else if (item.insertPoint.match(/^[1223456]\/[23456]$/) !== null) { var fractionMatch = new RegExp(/^([123456])(?:\/)([23456]$)/); var fractionPart = parseInt(item.insertPoint.match(fractionMatch)[1]); var fractionWhole = parseInt(item.insertPoint.match(fractionMatch)[2]); var fractionValue = fractionPart / fractionWhole; var fractionIndex = Math.floor(myParagraphTool.paragraphEndNodes.length * fractionValue) - 1; myParagraphTool.insertElemenAtIndex(componentElement, fractionIndex); } // Matches for every Nth insertion point else if (item.insertPoint.match(/^\d*th$/i) !== null) { var intervalIndex = parseInt(item.insertPoint.match(/^(\d*)th$/i)[1]); var startingIndex = parseInt(item.startingPoint) - 1; var insertionMax = parseInt(item.maxInsertions) || 100; var insertionCount = 0; for (var i = startingIndex; i < myParagraphTool.paragraphEndNodes.length && insertionCount < insertionMax; i++) { if ((i - startingIndex) % intervalIndex === 0) { let currentNode = myParagraphTool.getNodeAtIndex(i); const clonedComponent = componentElement.clone(); myParagraphTool.insertElemenAtIndex(clonedComponent, i); insertionCount++; } } } } }); Foundation.Content['16012607'].setupInlineComponents = function () { return true; }; if (typeof callback === 'function') { callback(); } }, 200); } Foundation.Content['16012607'].previewInsertionPoints = function () { var myParagraphTool = Foundation.Content['16012607'].paragraphTool myParagraphTool.paragraphEndNodes.each((index, item) => { const insertionPointPlaceholder = jQuery(`
`) myParagraphTool.insertElemenAtIndex(insertionPointPlaceholder, index); }); return 'Paragraph insertion placeholders applied.'; }