Every performance at the 2023 Grammy Awards, from worst to best (2023)

Yahoo Entertainment

Sign up

Position

Sign upto view your email

(Video) 2023 GRAMMYs: The Biggest Moments & Performances From Music's Biggest Night
  • Entertainment
  • anniversary party
  • Retrieving Roles
  • Under the covers
  • game changer
  • The list
  • The never-to-be
  • Are the children okay?
  • Interviews
  • Video
  • Shopping
      {promoMarkup}{notifMarkup}

    {CenterNavMsg notification}

    ',panelPlantillaVacío='

  • {emptyPanelMsg}

  • ',panelErrorTemplate='

    {Error message}

    ',panelParentTemplate='

    ',notifOnboardPromoTemplate='

  • Every performance at the 2023 Grammy Awards, from worst to best (3)

    (Video) Watch the HIP-HOP 50 Medley Part 1 | 2023 GRAMMYs

    {notifOnboardMsg}

  • ',EXPANDED_PANEL="panel_expandido",ERROR_PANEL="panel_error",NotificationView=function(){function e(n,t){classCallCheck(this,e);var i=this;i._config=n,i._panelNode= null,i._store=t}return createClass(e,[{key:"_generatePanelMarkup",value:function(e,n){var t=this._config,i=void 0,o=void 0;"indefinido" !=typeof window&&(i=window.Notification&&"default"===window.Notification.permission,o=t.promos.bypassEligibleClassCheck||hasClass(document.body,t.promos.eligibleBodyClass));var s=t. promos.enableNotifOnboard&&i&&o?notifOnboardPromoTemplate:"";if(s){var r=t.promos.showYahooLogo?"":"yns-no-logo";s=s.replace("{notifOnboardBtnLabel}",t.promos. notifOnboardBtnLabel).replace("{notifOnboardMsg}",t.promos.notifOnboardMsg).replace("{subscriptionTopic}",t.promos.subscriptionTopic).replace("{noLogoClass}",r).replace("{promoLogo} ",t.promos.promoLogo)}var a=n.newCount>t.panel.maxCount?n.newCount:"",c=t.panel.notificationCenterPath,l=c?"":constants.panelHideElement,d= t.panel.headerMsg?": "+constants.panelHideElement,u=c?constants.panelPaddingBtm:"",p=void 0;n.count?p=n.markup:p=panelEmptyTemplate.replace("{ EmptyPanelMsg} ",t.panel.emptyPanelMsg);return e=e.replace("{notifMarkup}",p).replace("{promoMarkup}",s).replace("{hideClass}",l).replace (" {notifCenterLink}",c).replace("{paddingClass}",u).replace("{headerMsg}",t.panel.headerMsg).replace("{hideHeaderClass}",d).replace(/ {notificationCenterNavMsg }/g,t.panel.notificationCenterNavMsg).replace(/{newCount}/g,a)}},{key:"render",value:function(e,n){var t=this;if( t. _panelNode){var i=void 0,o=t._panelNode,s=void 0,r=void 0;switch(e){case EXPANDED_PANEL:i=panelTemplate,r=t._store.getNotifications(),s =t ._generatePanelMarkup(i,r),o.innerHTML=s;break;case ERROR_PANEL:s=(i=panelErrorTemplate).replace("{errorMsg}",t._config.panel.errorMsg),o.innerHTML= s} n&&n()}άλλο n&&n(νέο Σφάλμα("Χωρίς γονικό πίνακα"))}},{key:"createPanelParentNode",value:function(e){e&&(e.innerHTML=panelParentTemplate,this._panelNode=document. getElementById(constants.panelNodeId))}},{key:"updateBadgeNode",value:function(e){if(e){var n=this._store.getNotifications().newCount,t=this._config.badge. maxCount;if(n){var i=n>t?t+"+":n;e.innerHTML=i}άλλο e.innerHTML=""}}},{key:"addStyles",value:function(e ){if(e&&"indefinido"!=tipo de ventana){var n=document.getElementById(this._config.panel.styleTagId);n||((n=document.createElement("style")).type= " text/css",n.id=this._config.panel.styleTagId,n.innerText=e,document.head.appendChild(n))}}}]),e}(),EXPANDED_PANEL$1="panel_expandido" , ERROR_PANEL$1="panel_error",PanelController=función(){función e(n,t,i){classCallCheck(this,e);var o=this;o._store=t,o._view=i,o. _config =n;var s=o._config.panel;o._panelParentNode=document.querySelector(s.parentSelector),o._badgeNode=o._config.badge.selector&&document.querySelector(o._config.badge.selector),o . _indicatorNode=s.indicatorSelector&&document.querySelector(s.indicatorSelector)}επιστρέφει createClass(e,[{key:"createPanelParentNode",value:function(){this._view.createPanelParentNode(this._panelParent_Node.BetlementElementnode.Bet. (constants.panelNodeId)}},{key:"refreshPanelNode",value:function(e,n){var t=this;addClass(t._notifPanelNode,constants.panelLoading),t._store.fetchNotifications(e,(function (e,i){var o=window.wafer&&window.wafer.baseo&o.destroy(t._notifPanelNode),e?t._notifPanelNode.innerHTML||(t._view.render(ERROR_PANEL$1),addClass(t. _notifPanelNode, konstanten.panelLoading)):(t._view.render(EXPANDED_PANEL$1),t._view.updateBadgeNode(t._badgeNode),t._showBadge(),t._showIndicator(),t._view.addStyles(i. css) ),removeClass(t._notifPanelNode,constants.panelLoading),o&&o.sync(t._notifPanelNode.parentNode),n&&n(e,i)}))}},{clave:"resetBadge",valor:función() {var e=this;e._store.resetNewCount(),e._view.updateBadgeNode(e._badgeNode),addClass(e._badgeNode,e._config.badge.hideClass)}},{clave:"_showIndicator",valor :function (){this._indicatorNode&&(this._store.getNotifications().newCount?addClass(this._indicatorNode,this._config.panel.indicatorClass):removeClass(this._indicatorNode,this._config.panel.indicatorClass))}} {clave:"_showBadge",valor:función(){var e=this;e._store.getNotifications().newCount?removeClass(e._badgeNode,e._config.badge.hideClass):addClass(e._badgeNode ,e ._config.badge.hideClass)}}]), e}(),config={προσφορές:{eligibleBodyClass:"display-push-promos",enableNotifOnboard:!0,bypassEligibleClassCheck:!1,notifOnboardBtnLabel:"Notificarme ",notifnboard : „Empfehlen Sie Benachrichtigungen über die letzte Stunde und aktuelle Historien“,promoLogo:“https://s.yimg.com/cv/apiv2/ae/news/circle_bell.png“,showYahooLogo:!0,subscriptionTopic:“gondor“_homerun },σήμα:{hideClass:"",maxCount:5,επιλογέας:""},πίνακας:{emptyPanelMsg:"Keine neuen Benachrichtigungen".,errorMsg:"",headerMsg:"Benachrichtigungen",imageTag:"img :40x40 | 2|80",indicatorClass:"yns-indicator",indicatorSelector:null,maxCount:6,notificationCenterNavMsg:"Alle Benachrichtigungen anzeigen {newCount}",notificationCenterPath:"",notificationTypes:"",parentSelectorS,"ParentSelectorTynoagnt": ",theme:"default"},service:{attemptCount:1,attemptDelay:2,url:null,resetUrl:null,isRMP:!1,responseType:"json",timeout:1500}},Main= Funktion () {function e(n){classCallCheck(this,e);var t=this;t.config=t._parseConfig(n),t._validateRequiredConfigs()&&(t._request=new NotificationRequest(t.config ) ,t ._store=neuer NotificationStore(t.config,t._request),t._view=neuer NotificationView(t.config,t._store),t._panelController=neuer PanelController(t.config,t._store,t . _view),t._panelController.createPanelParentNode(),t._assignHelperMethods())}επιστρέφουν createClass(e,[{key:"_parseConfig",value:function(e){var n={};for(var t στο objectAssign (n,config),n)if(n.hasOwnProperty(t)){var i=n[t],o=e[t];"object"===(void 0===i?"indefinido " :_typeof(i))?objectAssign(i,o):n[t]=e[t]}return n}},{key:"_validateRequiredConfigs",value:function(){var e=this.config; επιστροφή !(!e.panel.parentSelector||!e.service.url)}},{key:"_assignHelperMethods",value:function(){var e=this;e.helpers={refreshPanelNode:e._panelController. refreshPanelNode .bind(e._panelController),resetBadge:e._panelController.resetBadge.bind(e._panelController),resetIndicator:function(){removeClass(e._panelController._indicatorNode,e.config.panel.indicatorClass)}}}] ),e}(),notificationClient_module_min=Principal,notificationClient={NotificationClient:notificationClient_module_min},CONSUMPTION_STORAGE_KEY="lnct",NotifClient=function(){function e(){var e,n;this. ybarElem=document.getElementById("ybar"),this.partnerClasses=null===(n=null===(e=this.ybarElem)||void 0===e?void 0:e.className) | |void 0===n?void 0:n.match(/ybar-variant-([a-z]*)/),this.client=new NotificationClient.NotificationClient(this.getConfig())}return e.prototype . refreshPanel=function(){var e,n,t,i=this,o={lastUpdate:this.getTimeStamp()||this.setTimeStamp(),loadInHpViewer:!0,includePersonalized:this.personalized},s= ( null===(e=window.YAHOO)||void 0===e?void 0:e.context)||(null===(n=window.Af)||void 0===n ? void 0:n.context)||{};return s.region&&s.lang&&&(o.lang=s.lang,o.region=s.region),(null===(t=this.partnerClasses)| |void 0===t?void 0:t.length)&&(o.partner=this.partnerClasses[1]),new Promise((function(e,n){i.client.helpers.refreshPanelNode({matrixParams :o},(function(t,i){t&&(logError("Fehler bei der Aktualisierung der Benachrichtigung:",t),n(t)),e(i)}))}))},e.prototype . resetBadge= function(){this.client.helpers.resetBadge(),this.setTimeStamp()},e.prototype.getConfig=function(){var e,n,t,i,o,s={promos:{ berechtigtBodyClass: "display-push-promos",enableNotifOnboard:!0},σήμα:{selector:"#notif-badge",hideClass:"ybar-notification-hidden"},πίνακας:{emptyPanelMsg:"Keine neuen Benachrichtigungen" . ,errorMsg:"Weitere Informationen erhalten Sie".,headerMsg:"Benachrichtigungen",maxCount:5,parentSelector:"#ybarNotificationBody",notificationTypes:"breakingNews"},υπηρεσία:{url:"/tdv2_fp.Hotification/api. getHistory",isRMP:!1}},r=document.getElementById("Benachrichtigungsinhalt"),a=null===(e=null==r?void 0:r.dataset)||void 0= = =e ?void 0:e.config,c={};if(a){"att"===(null===(n=this.partnerClasses)||void 0===n?void 0 : n[ 1])&&(s.promos.showYahooLogo=!1);pruebe{var l=JSON.parse(a);c=__assign({},l),this.personalized=1===l. personalize }catch(e){logError("Fehler bei der Analyze der Benachrichtigungskonfiguration",e)}r&&delete r.dataset.config}var d=this.mergeConfigs(s,c);return(null===(t= this .partnerClasses) ||void 0===t?void 0:t.longitud)&&"yahoo"!==(null===(i=this.partnerClasses)||void 0===i?void 0 : i[1 ])&&(null===(o=d.promos)||void 0===o?void 0:o.subscriptionTopic)&&delete d.promos.subscriptionTopic,d},e.prototype.mergeConfigs = συνάρτηση(e ,n){var t=__assign({},e);for(var i in e)t[i]=__assign(__assign({},e[i]),n[i]); επιστροφή t}, e.prototype.getTimeStamp=function(){var e;return null===(e=window.localStorage)||void 0===e?void 0:e.getItem(CONSUMPTION_STORAGE_KEY)},e .prototype.setTimeStamp =función(){var e,n=""+Math.floor((nueva fecha).getTime()/1e3);return null===(e=window.localStorage)||void 0= ==e| |e.setItem(CONSUMPTION_STORAGE_KEY,n),n},e}();new NotifClient;var reInit=function(){new NotifClient},ybarRapid,ybarRapidInterval,ybarRapidErrMsg="",beaconQueue=[],noop=fu ){},logRapidError=function(){window.removeEventListener("vor dem Herunterladen",logRapidError),""!==ybarRapidErrMsg&&logError("Rapid nicht auf der Seite gefunden",nuevo error(ybarRapidSpaidErr) (ε) {var n=void 0;if(e&&e.length>0)for(var t=0;t

    0){if(ybarRapid.addModules(o,!1,i),beaconQueue.length>0)for(e=0;e90&&fireImageBeacon("performance",e)}catch(e){}}),1e3)}))},measureInit=measure("ybar-init");initYbar(),measureInit.stop(),initPerformanceMetricsBeaconListener(), initRapid(),initErrorBeaconListener();var selected$1="_yb_jyo68",Css$9={"right element":"_yb_1czoi",selected:selected$1,"ybar-mod-topnavigation":"_yb_fubkt","ybar-mod -topnavigation-teaser-imp":"_yb_ubf2y"},DOCUMENT_NODE_TYPE=9;if("undefiniert"!=typeof Item&&!Element.prototype.matches){var proto=Element.prototype;proto.matches=proto.matchesSelector| |proto.mozMatchesSelector||proto.msMatchesSelector||proto.oMatchesSelector||proto.webkitMatchesSelector}συνάρτηση πιο κοντά(e,n){for(;e&&e.nodeType!==DOCUMENT_NODE_TYPE;){if("function" .coincidences&&e.coincidences(n))return e;e=e.parentNode}}var nearest_1=nearest;function _delegate(e,n,t,i,o){var s=listener.apply(this,arguments );return e.addEventListener(t,s,o),{destroy:function(){e.removeEventListener(t,s,o)}}}delegatefunction(e,n,t,i,o){return" function"= = typedee.addEventListener?_delegate.apply(null,arguments):"function"==τύπος t?_delegate.bind(null,document).apply(null,arguments):("string"==τύπος e&&( e= έγγραφο. querySelectorAll(e)),Array.prototype.map.call(e,(function(e){return _delegate(e,n,t,i,o)})))}function listener(e,n ,t ,i ){return function(t){t.delegateTarget=closest_1(t.target,n),t.delegateTarget&&i.call(e,t)}}was delegate_1=delegate,ListNode=function(e){this .data =e ,this.next=null,this.prev=null},LinkedList=function(){function e(){this.head=null,this.tail=null}return e.prototype.push=function( e) { var n=new ListNode(e);return this.head?this.tail?(n.prev=this.tail,this.tail.next=n,this.tail=n):(this.tail= n, this. tail.prev=this.head,this.head.next=this.tail):(this.head=n,n.next=this.tail),n},e.prototype.size=function( ){ für ( var e = 0, n = αυτό το κεφάλι, n;) e += 1, n = n. Επόμενο ; επιστροφή e } , e . Πρωτότυπο . getHead = συνάρτηση ( ) { return this . head } , e Πρωτότυπο. getTail = συνάρτηση ( ) { return this . ουρά } , π . Πρωτότυπο . get = συνάρτηση (e) {if (e >= this. size ()) return null; για ( var n = 0 , t = this . head ; ( null == t ? void 0 : t . next ) & & n0&&Array.prototype.forEach.call(e,(function(e){e.onerror=function(){e.onerror=null,e.style.display="none"}}))},fixLogoOutline=function(e,n){e&&(hideOutlineOnMouseDown("#ybar-logo","#ybar-logo",n),n.onDestroy((function(){e.classList.remove("ybar-show-outline"),e.classList.remove("ybar-hide-outline")})))},logoClick=function(e,n){n&&e.addElementListener(n,"click",(function(){e.triggerEvent("logo-click")}))},init$3=function(e,n){n.logoImages&&hideLogosOnError(n.logoImages),n.wrapper&&(fixLogoOutline(n.wrapper,e),logoClick(e,n.wrapper))};initModule("ybar-mod-logo",(function(e){var n={wrapper:document.getElementById("ybar-logo"),logoImages:document.querySelectorAll(".".concat(Css$6["logo-image"]))};init$3(e,n)}));var overlay="_yb_63mxf",tooltip="_yb_tr85p",tooltip__text="_yb_1c9e3",tooltip__voice="_yb_jzk04",tooltip__web="_yb_aesbg",dark="_yb_891b8",darker="_yb_tvuzx",light="_yb_1mzct",midnight60="_yb_17hz2",Css$5={"dropdown-open":"_yb_6q0t3","merchant-is-selected":"_yb_1d2dj",overlay:overlay,"selected-merchant-clear-button":"_yb_ch9pr","shops-buttons":"_yb_mnykw","styled-select":"_yb_1k2uw",tooltip:tooltip,"tooltip--show":"_yb_5un21",tooltip__text:tooltip__text,tooltip__voice:tooltip__voice,tooltip__web:tooltip__web,dark:dark,darker:darker,light:light,midnight60:midnight60},range=function(e,n){var t=Math.max(e,n),i=Math.min(e,n),o=Math.abs(t-i);return __spreadArray([],__read(new Array(o+1)),!1).map((function(e,n){return i+n}))},openSearchOverlay=function(e,n,t){var i=e.getConfig().bucketConfig,o=(void 0===i?{}:i).enable_search_ui,s=void 0!==o&&oif(n.ybar){n.ybar.classList.add("ybar-searchbox-assist-fullscreen"),document.documentElement.classList.add("ybar-overlay"),document.body.classList.add("ybar-overlay-noscroll");beaconClick("ybar","websrch","",{elm:"expand",subsec:"searchbox",itc:"1"}),setTimeout((function(){n.searchInput instanceof HTMLInputElement&&(t&&(n.searchInput.value=t),n.searchInput.focus(),s&&n.searchInput.click())}))}},closeSearchOverlay=function(e){var n;null===(n=e.ybar)||void 0===n||n.classList.remove("ybar-searchbox-assist-fullscreen"),document.documentElement.classList.remove("ybar-overlay"),document.body.classList.remove("ybar-overlay-noscroll"),e.searchInput instanceof HTMLInputElement&&(e.searchInput.value="",e.searchInput.blur())},initMweb=function(e,n){"smartphone"===e.getConfig().device&&(e.addElementListener(n.searchBoxPlaceholder,"click",(function(){openSearchOverlay(e,n)})),e.addElementListener(n.searchBoxPlaceholder,"keydown",(function(t){var i=t,o=i.keyCode,s=i.key,r=range(65,90),a=__spreadArray(__spreadArray([],__read(range(58,57)),!1),__read(range(96,105)),!1),c=__spreadArray(__spreadArray([],__read(r),!1),__read(a),!1).includes(o);(32===o||13===o||c)&&(t.preventDefault(),t.stopPropagation(),openSearchOverlay(e,n,c?s:""))})),n.searchBoxBackButton&&(e.addElementListener(n.searchBoxBackButton,"click",(function(e){e.stopPropagation(),closeSearchOverlay(n);beaconClick("ybar","back-close-srch","",{elm:"btn",subsec:"searchbox",itc:"1"})})),e.addElementListener(n.searchInput,"keyup",(function(e){e.stopPropagation();27===e.keyCode&&(e.stopPropagation(),closeSearchOverlay(n))}))),e.addEventListener("viewerClosed",(function(){closeSearchOverlay(n)})),e.onDestroy((function(){closeSearchOverlay(n)})))},Tooltip=function(){function e(e,n,t){n&&(this.ybar=e,this.elem=n,this.options=t,this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.addEventListeners())}return Object.defineProperty(e.prototype,"tooltip",{get:function(){var e=this;return this.tooltipMarkup||(this.tooltipMarkup=this.createTooltip(),(this.options.tooltipParentElm||this.elem).appendChild(this.tooltipMarkup),this.ybar.onDestroy((function(){var n,t;null===(t=null===(n=e.tooltipMarkup)||void 0===n?void 0:n.parentNode)||void 0===t||t.removeChild(e.tooltipMarkup)}))),this.tooltipMarkup},enumerable:!1,configurable:!0}),e.prototype.show=function(){this.tooltip.classList.add(this.options.showClass)},e.prototype.hide=function(){this.tooltip.classList.remove(this.options.showClass)},e.prototype.addEventListeners=function(){this.ybar.addElementListener(this.elem,"mouseenter",this.show),this.ybar.addElementListener(this.elem,"focus",this.show),this.ybar.addElementListener(this.elem,"mouseleave",this.hide),this.ybar.addElementListener(this.elem,"blur",this.hide)},e.prototype.createTooltip=function(){var e=document.createElement("div");e.className=this.options.containerClass||"";var n=document.createElement("p");return n.textContent=this.options.label,n.className=this.options.textClass||"",e.appendChild(n),e},e}();createCommonjsModule((function(module){(function(){var __webpack_modules__={"./src/index.js":/*!**********************!*\ !*** ./src/index.js ***! \**********************/function(__unused_webpack_module,__unused_webpack_exports,__webpack_require__){eval("var I18n = __webpack_require__(/*! ./lib/I18n */ \"./src/lib/I18n.js\");\n\n(function (win, doc) {\n \"use strict\";\n\n var defaultConfig = {\n uiLang: 'en-US',\n speechLang: 'en-US',\n voiceButton: '#voice-btn',\n searchBox: {\n form: '#sf',\n input: '#yschsp',\n params: {\n fr: '',\n fr2: ''\n }\n },\n enable_voice_trending: false,\n trending: {\n market: \"en-us\"\n },\n ui: {\n speechOverlay: {\n disableBlur: false\n }\n },\n browsers: {\n edge: false\n }\n };\n\n function VoiceSearch(config) {\n var self = this;\n self.config = Object.assign(defaultConfig, config || {});\n self.i18n = new VoiceSearch.I18n({\n lang: self.config.uiLang\n });\n self.renderPermissionGuide(self);\n self.renderSpeechPanel(self);\n self.speechResult = '';\n self.noSpeech = true;\n self.isRecognitionStart = false;\n self.recognition = null;\n self.voiceButton = doc.querySelector(self.config.voiceButton);\n self.searchBoxForm = doc.querySelector(self.config.searchBox.form);\n self.searchBoxQuery = doc.querySelector(self.config.searchBox.input);\n self.speechPanel = doc.querySelector('#spch');\n self.speechButtonContainer = doc.querySelector('#spchbc');\n self.speechButton = doc.querySelector('#spchbc-btn');\n self.speechText = doc.querySelector('#spcht');\n self.speechOverlay = doc.getElementById('spch-overlay');\n self.retryLink = doc.querySelector('#spcht-retry');\n self.trending = doc.getElementById('spch-trending');\n self.trendingTerms = doc.getElementById('trending-terms');\n self.termSpans = doc.getElementsByClassName(\"trending-term\");\n self.closeButton = doc.querySelector('#spchx');\n self.startAudio = new Audio('https://s.yimg.com/pv/static/misc/voice-start-202105050733.wav');\n self.resultAudio = new Audio('https://s.yimg.com/pv/static/misc/voice-result-202105050733.wav');\n self.errorAudio = new Audio('https://s.yimg.com/pv/static/misc/voice-error-202105050733.wav');\n self.closeAudio = new Audio('https://s.yimg.com/pv/static/misc/voice-close-202105050733.wav');\n self.permissionGuide = doc.querySelector('#spchp');\n self.permissionGuideClose = doc.querySelector('#spchpx');\n self.permissionGuideTimer = null;\n\n self.onEscKeyDown = function (e) {\n if (e.code !== 'Escape') {\n return;\n }\n\n self.recognition.stop();\n self.sendBeacon('keybrd', 'voicesearch_cancel_esc'); // The clean up should put inside closePanel() instead of here,\n // or func won't be cleaned up if user close panel with btn or overlay\n\n self.closePanel(self);\n };\n\n if (self.isBrowserSupported()) {\n var SpeechRecognition = win.SpeechRecognition || win.webkitSpeechRecognition;\n var SpeechGrammarList = win.SpeechGrammarList || win.webkitSpeechGrammarList;\n var speechGrammar = '#JSGF V1.0;';\n self.recognition = new SpeechRecognition();\n var speechRecognitionList = new SpeechGrammarList();\n\n if (speechRecognitionList.addFromString) {\n speechRecognitionList.addFromString(speechGrammar, 1);\n }\n\n self.recognition.grammars = speechRecognitionList;\n self.recognition.continuous = false;\n self.recognition.lang = self.config.speechLang;\n self.recognition.interimResults = false;\n self.recognition.maxAlternatives = 1;\n /* Listeners */\n\n if (self.voiceButton) {\n self.voiceButton.onclick = function () {\n self.recognition.start();\n\n if (self.permissionGuideTimer) {\n win.clearTimeout(self.permissionGuideTimer);\n }\n\n self.permissionGuideTimer = win.setTimeout(function () {\n if (!self.isRecognitionStart) {\n self.showPermissionGuide(self);\n }\n }, 300); // Also close when pressing esc\n\n doc.addEventListener('keydown', self.onEscKeyDown);\n self.sendBeacon('clk', 'voicesearch');\n };\n }\n\n if (self.speechButton) {\n self.speechButton.onclick = function () {\n if (!self.isRecognitionStart) {\n self.recognition.start();\n self.sendBeacon('clk', 'voicesearch_panel_mic_restart');\n } else {\n self.recognition.stop();\n self.sendBeacon('clk', 'voicesearch_panel_mic_close');\n self.closePanel(self);\n }\n };\n }\n\n if (self.retryLink) {\n self.retryLink.onclick = function () {\n if (!self.isRecognitionStart) {\n self.recognition.start();\n self.sendBeacon('clk', 'voicesearch_panel_retry');\n }\n };\n }\n\n if (self.speechOverlay) {\n self.speechOverlay.onclick = function () {\n self.recognition.stop();\n self.sendBeacon('clk', 'voicesearch_cancel_outside');\n self.closePanel(self);\n };\n }\n\n if (self.closeButton) {\n self.closeButton.onclick = function\n /*event*/\n () {\n self.recognition.stop();\n self.sendBeacon('clk', 'voicesearch_cancel');\n self.closePanel(self);\n };\n }\n\n if (self.permissionGuideClose) {\n self.permissionGuideClose.onclick = function\n /*event*/\n () {\n self.recognition.stop();\n self.sendBeacon('clk', 'voicesearch_permission_close');\n self.closeAudio.play();\n self.hidePermissionGuide(self);\n };\n }\n /* Recognition Events */\n\n\n self.recognition.onresult = function (event) {\n // The SpeechRecognitionEvent results property returns a SpeechRecognitionResultList object\n // The SpeechRecognitionResultList object contains SpeechRecognitionResult objects.\n // It has a getter so it can be accessed like an array\n // The first [0] returns the SpeechRecognitionResult at the last position.\n // Each SpeechRecognitionResult object contains SpeechRecognitionAlternative objects that contain individual results.\n // These also have getters so they can be accessed like arrays.\n // The second [0] returns the SpeechRecognitionAlternative at position 0.\n // We then return the transcript property of the SpeechRecognitionAlternative object\n // console.log('Confidence: ' + event.results[0][0].confidence);\n self.speechResult = event.results[0][0].transcript;\n /* Punctuation Handling: Check last character and strip it if necessary */\n\n self.handlePunctuation(self);\n\n if (self.speechText) {\n self.speechText.innerText = self.speechResult;\n }\n\n if (self.searchBoxQuery) {\n self.searchBoxQuery.value = self.speechResult;\n }\n\n self.resultAudio.play();\n win.setTimeout(function () {\n if (self.speechPanel) {\n self.speechPanel.classList.remove(\"s2tb\");\n self.speechPanel.classList.add(\"s2tb-h\");\n }\n\n self.hideRetryLink(self);\n\n if (self.searchBoxForm) {\n var inputFr = self.searchBoxForm.querySelector('[name=fr]');\n var inputFr2 = self.searchBoxForm.querySelector('[name=fr2]');\n\n if (inputFr && self.config.searchBox && self.config.searchBox.params && self.config.searchBox.params.fr) {\n inputFr.value = config.searchBox.params.fr;\n inputFr.disabled = false; // for homepage case\n }\n\n if (inputFr2 && self.config.searchBox && self.config.searchBox.params && self.config.searchBox.params.fr2) {\n inputFr2.value = config.searchBox.params.fr2;\n inputFr2.disabled = false; // for homepage case\n }\n\n self.searchBoxForm.submit();\n }\n }, 1000);\n };\n\n self.recognition.onspeechstart = function\n /*event*/\n () {// Fired when speech starts\n };\n\n self.recognition.onspeechend = function () {\n // Fired when speech ends\n self.recognition.stop();\n };\n\n self.recognition.onerror = function\n /*event*/\n () {\n // console.log('Error occurred in recognition: ' + event.error);\n if (self.speechText) {\n self.speechText.innerText = self.i18n.t('search.voice.recognition_error');\n }\n\n self.hideTrending(self);\n self.showRetryLink(self);\n self.errorAudio.play();\n };\n\n self.recognition.onaudiostart = function\n /*event*/\n () {\n // Fired when the user agent has started to capture audio.\n if (self.speechButtonContainer) {\n self.speechButtonContainer.classList.add(\"listening\");\n }\n };\n\n self.recognition.onaudioend = function\n /*event*/\n () {\n // Fired when the user agent has finished capturing audio.\n if (self.speechButtonContainer) {\n self.speechButtonContainer.classList.remove(\"listening\");\n }\n };\n\n self.recognition.onsoundstart = function\n /*event*/\n () {\n // Fired when any sound — recognisable speech or not — has been detected.\n self.hideTrending(self);\n self.noSpeech = false;\n\n if (self.speechButtonContainer) {\n self.speechButtonContainer.classList.remove(\"listening\");\n self.speechButtonContainer.classList.add(\"speaking\");\n }\n };\n\n self.recognition.onsoundend = function\n /*event*/\n () {\n // Fired when no sound present\n if (self.speechButtonContainer) {\n self.speechButtonContainer.classList.remove(\"speaking\");\n }\n };\n\n self.recognition.onstart = function\n /*event*/\n () {\n // Fired when the speech recognition service has begun listening\n self.recognitionInit(self);\n self.startRecognition(self);\n };\n\n self.recognition.onend = function\n /*event*/\n () {\n // Fired when the speech recognition service has disconnected.\n self.isRecognitionStart = false;\n\n if (self.noSpeech == false && self.speechResult == '') {\n // No match: Fired when the speech recognition can't recognise speech\n if (self.speechText) {\n self.speechText.innerText = self.i18n.t('search.voice.recognition_nomatch');\n }\n\n self.hideTrending(self);\n self.showRetryLink(self);\n self.errorAudio.play();\n }\n }; // trigger onReady event when initialized\n\n\n if (document && document.dispatchEvent) {\n document.dispatchEvent(new Event('VOICE_JS_READY'));\n }\n }\n } // static members\n\n\n VoiceSearch.I18n = I18n; // instance members\n\n VoiceSearch.prototype.renderPermissionGuide = function (self) {\n var tmpl = \"\\n

    \\ North

    \\ North

    \\ North

    \\ North

    \\ North

    \\ North

    \\ North

    \".concat(self.i18n.t('search.voice.title_permission'), \"

    \\ North

    \").concat(self.i18n.t('search.voice.text_permission'), \"

    \\ North

    \\ North

    \\ North

    (Video) The COMPLETE MESS that were the Grammys 2023

    \\n \");\n var dom = new DOMParser().parseFromString(tmpl, 'text/html');\n document.body.appendChild(dom.body.children[0]);\n }; \n\n VoiceSearch.prototype.renderSpeechPanel = συνάρτηση (self) {\n var tmpl = \"\\n

    \\ North

    \\ North

    \\ North

    \\ North

    \\ North

    \\ North\\n \\n\\ North\\ North\\ North\\ North

    \\ North

    \\ North

    \\ North\\ North\\ North\".concat(self.i18n.t('search.voice.recognition_retry'), \"\\ North

    \\ North

    \\ North

    \\ North

    \\ North

    \\ North

    (Video) Top 20 Most Amazing Grammy Performances of All Time

    \\ North\").concat(self.i18n.t('search.voice.trending_title'), \"\\ North\\ North

    \\ North

    \\ North

    \\n \");\n var dom = new DOMParser().parseFromString(tmpl, 'text/html');\n\n if (self && self.config && self.config.ui && self.config.ui.speechOverlay && self.config.ui.speechOverlay.disableBlur) {\n dom.body.children[0].classList.add('disable-blur-overlay');\n }\n\n document.body.appendChild(dom.body.children[0]);\n };\n\n VoiceSearch.prototype.isBrowserSupported = function () {\n var isSupported = false;\n var self = this;\n var isChromium = Boolean(window.chrome);\n var isIOSChrome = /CriOS/.test(window.navigator.userAgent);\n var isEdge = /Edg\\//.test(window.navigator.userAgent);\n var isLegacyEdge = /Edge\\//.test(window.navigator.userAgent);\n var isOpera = Boolean(window.opr);\n var isBrave = Boolean(window.navigator.brave);\n var browsers = [// chrome\n {\n checkEnabled: function checkEnabled() {\n return true;\n },\n checkBrowser: function checkBrowser() {\n return isChromium && !isIOSChrome && !isEdge && !isOpera && !isBrave;\n },\n checkAPI: function checkAPI() {\n return win && ('SpeechRecognition' in win || 'webkitSpeechRecognition' in win) && ('SpeechGrammarList' in win || 'webkitSpeechGrammarList' in win);\n }\n }, // edge\n {\n checkEnabled: function checkEnabled() {\n return self && self.config && self.config.browsers && self.config.browsers.edge;\n },\n checkBrowser: function checkBrowser() {\n return isChromium && isEdge && !isLegacyEdge;\n },\n checkAPI: function checkAPI() {\n return win && ('SpeechRecognition' in win || 'webkitSpeechRecognition' in win) && ('SpeechGrammarList' in win || 'webkitSpeechGrammarList' in win);\n }\n }];\n\n for (var b = 0; b < browsers.length; b++) {\n var browser = browsers[b];\n\n if (browser && browser.checkBrowser && browser.checkBrowser() && browser.checkEnabled && browser.checkEnabled(self) && browser.checkAPI && browser.checkAPI()) {\n isSupported = true;\n }\n }\n\n return isSupported;\n };\n\n VoiceSearch.prototype.recognitionInit = function (self) {\n // Initialize flags for checking whether user is speaking or not\n self.speechResult = '';\n self.noSpeech = true;\n self.isRecognitionStart = true;\n };\n\n VoiceSearch.prototype.showPermissionGuide = function (self) {\n if (self.permissionGuide) {\n self.permissionGuide.classList.remove(\"hide\");\n }\n };\n\n VoiceSearch.prototype.hidePermissionGuide = function (self) {\n if (self.permissionGuide) {\n self.permissionGuide.classList.add(\"hide\");\n }\n };\n\n VoiceSearch.prototype.getTrending = function (self) {\n // Call api for trending terms\n if (!self.config.enable_voice_trending || !self.trending) {\n return;\n }\n\n var url = \"https://api.search.yahoo.com/data/v3/search?appid=4d234a9d&market=\" + self.config.trending.market + \"&features=trending.voice\";\n self.ajaxReq(url, function (resBody) {\n if (!resBody || !resBody.response || !resBody.response.search || !resBody.response.search.results || !resBody.response.search.results[\"trending.voice\"]) {\n return;\n }\n\n var terms = resBody.response.search.results[\"trending.voice\"].data;\n self.showTrending(self, terms);\n });\n };\n\n VoiceSearch.prototype.showTrending = function (self, terms) {\n // params check\n if (!Array.isArray(terms) || terms.length < 3) {\n return;\n } // DOM check\n\n\n if (!self.trending || !self.termSpans || !self.termSpans[0]) {\n return;\n }\n\n var trendingLabel = '';\n trendingLabel += '\"' + terms[0].text + '\"' + ', ';\n trendingLabel += '\"' + terms[1].text + '\"' + ' ';\n trendingLabel += self.i18n.t('search.voice.trending_or') + ' ';\n trendingLabel += '\"' + terms[2].text + '\"';\n self.termSpans[0].innerText = trendingLabel;\n self.trending.classList.remove(\"hide\");\n };\n\n VoiceSearch.prototype.hideTrending = function (self) {\n if (!self.trending) {\n return;\n }\n\n self.trending.classList.add(\"hide\");\n };\n\n VoiceSearch.prototype.showRetryLink = function (self) {\n if (self.retryLink) {\n self.retryLink.innerText = self.i18n.t('search.voice.recognition_retry');\n self.retryLink.classList.remove(\"hide\");\n }\n };\n\n VoiceSearch.prototype.hideRetryLink = function (self) {\n if (self.retryLink) {\n self.retryLink.classList.add(\"hide\");\n }\n };\n\n VoiceSearch.prototype.startRecognition = function (self) {\n self.hidePermissionGuide(self);\n self.getTrending(self);\n self.startAudio.play();\n\n if (self.speechText) {\n self.speechText.innerText = self.i18n.t('search.voice.recognition_start');\n win.setTimeout(function () {\n self.speechText.innerText = self.i18n.t('search.voice.recognition_listening');\n }, 2000);\n }\n\n if (self.speechPanel) {\n self.speechPanel.classList.remove(\"s2tb-h\");\n self.speechPanel.classList.add(\"s2tb\");\n }\n\n self.hideRetryLink(self);\n };\n\n VoiceSearch.prototype.closePanel = function (self) {\n self.closeAudio.play();\n win.setTimeout(function () {\n if (self.speechPanel) {\n self.speechPanel.classList.remove(\"s2tb\");\n self.speechPanel.classList.add(\"s2tb-h\");\n }\n\n self.hideTrending(self);\n self.hideRetryLink(self); // clean up esc listener\n\n doc.removeEventListener('keydown', self.onEscKeyDown);\n }, 100);\n };\n\n VoiceSearch.prototype.handlePunctuation = function (self) {\n if (self.speechResult.length > 0) {\n var lastChar = self.speechResult.charAt(self.speechResult.length - 1);\n\n if (lastChar === '.' || lastChar === '?' || lastChar === '。' || lastChar === '?') {\n self.speechResult = self.speechResult.slice(0, -1);\n }\n }\n };\n\n VoiceSearch.prototype.sendBeacon = function (actn, slk) {\n var ULT = win.YAHOO.ULT || {},\n SB = win.YAHOO.SB || {};\n\n if (ULT.beacon_click) {\n var trackParams = {\n _S: SB.config.i13n.spaceid,\n _I: SB.config.i13n.pvid,\n actn: actn,\n sec: 'search',\n slk: slk\n };\n win.YAHOO.ULT.beacon_click(trackParams);\n }\n };\n\n VoiceSearch.prototype.ajaxReq = function (url, callback) {\n var DONE_STATE = XMLHttpRequest.DONE || 4; // for IE-compatibility\n\n var xhr = new XMLHttpRequest();\n var responseRaw;\n var response; // CORS request only for IE8/IE9\n\n if (doc.documentMode && doc.documentMode < 10) {\n var xdr = new win.XDomainRequest();\n\n xdr.onload = function () {\n try {\n response = JSON.parse(responseRaw);\n callback(response);\n } catch (err) {\n return;\n }\n };\n\n xhr.open('GET', url);\n xhr.send();\n return;\n } // CORS request for browers newer than IE9\n\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState !== DONE_STATE) {\n return;\n } // handle ajax response\n\n\n switch (xhr.status) {\n case 200:\n responseRaw = xhr.responseText;\n\n try {\n response = JSON.parse(responseRaw);\n callback(response);\n } catch (err) {\n return;\n }\n\n break;\n\n default:\n // non-200 status code: retry or assume failure\n callback(response);\n break;\n }\n };\n\n xhr.open('GET', url, true);\n /* aync request */\n\n xhr.timeout = 10000;\n xhr.send();\n };\n\n if (!win.YAHOO) {\n win.YAHOO = {};\n }\n\n if (!win.YAHOO.Util) {\n win.YAHOO.Util = {};\n }\n\n win.YAHOO.Util.VoiceSearch = VoiceSearch;\n})(window, document);\n\n//# sourceURL=webpack://@vzmi/voicejs/./src/index.js?")},"./src/lib/I18n.js":/*!*************************!*\ !*** ./src/lib/I18n.js ***! \*************************/function(module,__unused_webpack_exports,__webpack_require__){eval("module.exports = function () {\n var LANG_LIST = __webpack_require__(/*! ./lang_list.json */ \"./src/lib/lang_list.json\");\n\n var DEFAULT_LANG = 'default';\n\n var isValidLang = function isValidLang(lang) {\n return LANG_LIST.indexOf(lang) !== -1;\n }; // convert language strings to key-value map\n\n\n var buildStrMap = function buildStrMap(langStrings) {\n return langStrings.reduce(function (strMap, item) {\n strMap[item.id] = item.defaultMessage;\n return strMap;\n }, {});\n };\n\n var I18n = function I18n(options) {\n // initialize\n this.lang = isValidLang(options && options.lang) ? options.lang : DEFAULT_LANG;\n }; // static members\n\n\n I18n.langMap = {};\n I18n.langMap[DEFAULT_LANG] = buildStrMap(__webpack_require__(/*! ../lang/strings.json */ \"./src/lang/strings.json\"));\n\n I18n.setLangMap = function (lang, strings) {\n if (lang && strings) {\n I18n.langMap[lang] = buildStrMap(strings);\n }\n }; // instance members\n\n\n I18n.prototype = {\n t: function t(id) {\n switch (true) {\n // look up target language\n case Boolean(I18n.langMap && I18n.langMap[this.lang] && I18n.langMap[this.lang][id]):\n return I18n.langMap[this.lang][id];\n // fallback to default strings\n\n case Boolean(I18n.langMap && I18n.langMap[DEFAULT_LANG] && I18n.langMap[DEFAULT_LANG][id]):\n return I18n.langMap[DEFAULT_LANG][id];\n\n default:\n return '';\n }\n }\n };\n return I18n;\n}();\n\n//# sourceURL=webpack://@vzmi/voicejs/./src/lib/I18n.js?")},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css":/*!*******************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css ***! \*******************************************************************************************************/function(module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, "/* Sprites */\\n#spchp.permission-guide .guide .microphone .sprite,\\n#spchp .close-button,\\n#spch .close-button,\\n#spch .spchc .microphone,\\n#spch .spchc .speaking .microphone {\\n background-image: url(https://s.yimg.com/pv/static/img/voiceSearch1x-1620383531565.min.png);\\n background-repeat: no-repeat;\\n background-size: initial;\\n color: transparent;\\n}\\n/* Retina displays */\\n@media\\n only screen and (-webkit-min-device-pixel-ratio: 2),\\n only screen and (min-device-pixel-ratio: 2),\\n only screen and (min-resolution: 192dpi),\\n only screen and (min-resolution: 2dppx) {\\n#spchp.permission-guide .guide .microphone .sprite,\\n#spchp .close-button,\\n#spch .close-button,\\n#spch .spchc .microphone,\\n#spch .spchc .speaking .microphone {\\n background-size: 41px 330px;\\n background-image: url(https://s.yimg.com/pv/static/img/voiceSearch2x-1620383531565.min.png)\\n}\\n }\\n\\n/* permission guide */\\n#spchp.permission-guide {\\n height: 100%;\\n width: 100%;\\n padding: 0;\\n opacity: 0.9;\\n background-color: #fff;\\n left: 0;\\n overflow: hidden;\\n position: fixed;\\n text-align: left;\\n top: 0;\\n z-index: 10000;\\n transition: visibility 0s linear 0.218s, background-color 0.218s;\\n}\\n#spchp.permission-guide .close-button {\\n background-position: 0 0;\\n width: 24px;\\n height: 24px;\\n border: none;\\n cursor: pointer;\\n right: 0;\\n margin: 20px;\\n padding: 0;\\n position: absolute;\\n top: 0;\\n z-index: 10;\\n opacity: 0.8;\\n }\\n#spchp.permission-guide .close-button:hover {\\n opacity: 1;\\n }\\n#spchp.permission-guide .guide {\\n margin: 191px 0 0 507px;\\n }\\n#spchp.permission-guide .guide .microphone {\\n height: 68px;\\n width: 52px;\\n border-right: 1px solid #232a31;\\n float: left;\\n }\\n#spchp.permission-guide .guide .microphone .sprite {\\n background-position: 0 -105px;\\n width: 28px;\\n height: 28px;\\n }\\n#spchp.permission-guide .guide .guide-text {\\n height: 68px;\\n margin-left: 24px;\\n float: left;\\n }\\n#spchp.permission-guide .guide .guide-text .title {\\n color: #232a31;\\n font-size: 32px;\\n font-family: HelveticaNeue-Bold;\\n line-height: 28px;\\n margin-bottom: 16px;\\n }\\n#spchp.permission-guide .guide .guide-text .text {\\n color: #232a31;\\n font-size: 16px;\\n line-height: 28px;\\n }\\n#spchp.permission-guide.hide {\\n display: none;\\n }\\n\\n/* speech panel */\\n#spch.spch {\\n background: #fff;\\n height: 100%;\\n left: 0;\\n opacity: 0;\\n overflow: hidden;\\n position: fixed;\\n text-align: left;\\n top: 0;\\n visibility: hidden;\\n width: 100%;\\n z-index: 10000;\\n transition: visibility 0s linear 0.218s, background-color 0.218s;\\n}\\n#spch.spch .close-button {\\n background-position: 0 0;\\n width: 24px;\\n height: 24px;\\n border: none;\\n cursor: pointer;\\n right: 0;\\n margin: 20px;\\n padding: 0;\\n position: absolute;\\n top: 0;\\n z-index: 10;\\n opacity: 0.8;\\n }\\n#spch.spch .close-button:hover {\\n opacity: 1;\\n }\\n#spch.spch .spchc {\\n display: block;\\n height: 97px;\\n pointer-events: none;\\n }\\n#spch.spch .spchc .inner-container {\\n width: 100%;\\n height: 100%;\\n opacity: 0.1;\\n pointer-events: none;\\n transition: opacity 0.318s ease-in;\\n }\\n#spch.spch .spchc .inner-container .spch-control {\\n display: inline-block;\\n }\\n#spch.spch .spchc .inner-container .text-container {\\n float: left;\\n height: 91px;\\n overflow: hidden;\\n margin: 3px 0;\\n pointer-events: none;\\n width: calc(50% - 48.5px);\\n }\\n#spch.spch .spchc .inner-container .text-container p {\\n display: table-cell;\\n vertical-align: middle;\\n width: 550px;\\n height: 97px;\\n }\\n#spch.spch .spchc .inner-container .text-container .spcht {\\n font-weight: normal;\\n color: #6e7780;\\n line-height: normal;\\n opacity: 0;\\n pointer-events: none;\\n text-align: left;\\n -webkit-font-smoothing: antialiased;\\n transition: opacity 0.1s ease-in, margin-left 0.5s ease-in, top 0s linear 0.218s;\\n }\\n#spch.spch .spchc .inner-container .text-container .spcht.hide {\\n display: none;\\n }\\n#spch.spch .spchc .inner-container .text-container #spcht-retry {\\n color: #0f69ff;\\n cursor: pointer;\\n pointer-events: auto;\\n }\\n#spch.spch .spchc .inner-container .button-container {\\n pointer-events: none;\\n position: relative;\\n transition: transform 0.218s, opacity 0.218s ease-in;\\n }\\n#spch.spch .spchc .inner-container .button-container .button {\\n background-color: #fff;\\n border: 1px solid #eee;\\n border-radius: 100%;\\n bottom: 0;\\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\\n cursor: pointer;\\n display: inline-block;\\n left: 0;\\n opacity: 0;\\n pointer-events: none;\\n position: absolute;\\n right: 0;\\n top: 0;\\n transition: background-color 0.218s, border 0.218s, box-shadow 0.218s;\\n }\\n#spch.spch .spchc .inner-container .button-container .button .microphone {\\n background-position: 0 -24px;\\n width: 41px;\\n height: 41px;\\n left: 27px;\\n pointer-events: none;\\n position: absolute;\\n top: 27px;\\n transform: scale(1);\\n }\\n#spch.spch .spchc .inner-container .button-container.listening .ripple {\\n position: absolute;\\n width: 136px;\\n height: 136px;\\n z-index: -1;\\n left: 50%;\\n top: 50%;\\n opacity: 0;\\n margin: -70px 0 0 -70px;\\n border-radius: 100px;\\n -webkit-animation: ripple 3.3s infinite;\\n animation: ripple 3.3s infinite;\\n background-color: #fff !important;\\n border: 2px solid #e0e4e9;\\n }\\n#spch.spch .spchc .inner-container .button-container.listening .ripple:nth-child(2) {\\n -webkit-animation-delay: 1.1s;\\n animation-delay: 1.1s;\\n }\\n#spch.spch .spchc .inner-container .button-container.listening .ripple:nth-child(3) {\\n -webkit-animation-delay: 2.2s;\\n animation-delay: 2.2s;\\n }\\n#spch.spch .spchc .inner-container .button-container.speaking .button {\\n background-color: #0f69ff;\\n }\\n#spch.spch .spchc .inner-container .button-container.speaking .button .microphone {\\n background-position: 0 -65px;\\n width: 40px;\\n height: 40px;\\n pointer-events: none;\\n position: absolute;\\n transform: scale(1);\\n }\\n#spch.spch .spchc .inner-container .button-container.speaking .ripple {\\n background-size: 114px;\\n position: absolute;\\n width: 114px;\\n height: 114px;\\n z-index: -1;\\n left: 50%;\\n top: 50%;\\n margin: -57px 0 0 -57px;\\n -webkit-animation: speakingRipple1 2s infinite;\\n animation: speakingRipple1 2s infinite;\\n }\\n#spch.spch .spchc .inner-container .button-container.speaking .ripple:nth-child(2) {\\n background-size: 123px;\\n width: 123px;\\n height: 123px;\\n margin: -62px 0 0 -62px;\\n -webkit-animation: speakingRipple2 2s infinite;\\n animation: speakingRipple2 2s infinite;\\n }\\n#spch.spch .spchc .inner-container .button-container.speaking .ripple:nth-child(3) {\\n background-size: 136px;\\n width: 136px;\\n height: 136px;\\n margin: -68px 0 0 -68px;\\n -webkit-animation: speakingRipple3 2s infinite;\\n animation: speakingRipple3 2s infinite;\\n }\\n#spch.spch .spcho {\\n background-image: linear-gradient(to bottom, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 99%);\\n display: block;\\n min-width: 100%;\\n text-align: center;\\n top: 145px;\\n padding-bottom: 71px;\\n pointer-events: auto;\\n }\\n#spch.spch .spcho #spch-trending {\\n -webkit-animation: fadeIn 1s forwards;\\n animation: fadeIn 1s forwards;\\n opacity: 0;\\n }\\n#spch.spch .spcho #spch-trending .trending {\\n color: #6e7780;\\n display: inline-block;\\n font-size: 16px;\\n }\\n#spch.spch .spcho #spch-trending #trending-label {\\n font-weight: bold;\\n margin: 5px 5px;\\n }\\n#spch.spch .spcho #spch-trending.hide {\\n display: none;\\n }\\n#spch.spch.s2tb .spchc, #spch.spch.s2tb-h .spchc {\\n background: #fff;\\n box-sizing: border-box;\\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\\n height: auto;\\n margin: 0;\\n min-width: 100%;\\n overflow: hidden;\\n padding: 24px 115px;\\n }\\n#spch.spch.s2tb .spchc .inner-container, #spch.spch.s2tb-h .spchc .inner-container {\\n opacity: 1;\\n transition: opacity 0.318s ease-in;\\n }\\n#spch.spch.s2tb .spchc .inner-container .text-container, #spch.spch.s2tb-h .spchc .inner-container .text-container {\\n position: relative;\\n }\\n#spch.spch.s2tb {\\n background: rgba(255, 255, 255, 0);\\n opacity: 1;\\n visibility: visible;\\n transition-delay: 0s;\\n }\\n#spch.spch.s2tb .spchc .inner-container .button-container {\\n transform: scale(1);\\n height: 97px;\\n right: 0;\\n top: 0;\\n width: 97px;\\n }\\n#spch.spch.s2tb .spchc .inner-container .button-container .button {\\n opacity: 1;\\n pointer-events: auto;\\n position: absolute;\\n transform: scale(1);\\n transition-delay: 0;\\n }\\n#spch.spch.s2tb .spchc .inner-container .text-container .spcht {\\n font-size: 24px;\\n margin-left: 0;\\n opacity: 1;\\n transition: opacity 0.5s ease-out, margin-left 0.5s ease-out;\\n }\\n#spch.spch.s2tb #spch-overlay {\\n -webkit-backdrop-filter: blur(10px);\\n backdrop-filter: blur(10px);\\n background-color: #fff;\\n height: 100%;\\n opacity: 0.9;\\n position: absolute;\\n top: 149px;\\n\\n /* spchc\'s height */\\n width: 100%;\\n }\\n#spch.spch.disable-blur-overlay #spch-overlay {\\n background-color: transparent;\\n -webkit-backdrop-filter: none;\\n backdrop-filter: none;\\n }\\n#spch.spch.disable-blur-overlay .spcho {\\n height: 27px;\\n padding-bottom: 20px;\\n background: #fff;\\n background-image: none;\\n box-shadow: 0 8px 6px -6px rgb(0 0 0 / 20%);\\n }\\n#spch.spch.s2tb-h {\\n background: rgba(255, 255, 255, 0);\\n opacity: 0;\\n visibility: hidden;\\n }\\n\\n@-webkit-keyframes fadeIn {\\n 0% {\\n opacity: 0;\\n }\\n\\n 100% {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes fadeIn {\\n 0% {\\n opacity: 0;\\n }\\n\\n 100% {\\n opacity: 1;\\n }\\n}\\n\\n@-webkit-keyframes ripple {\\n 0% {\\n opacity: 1;\\n transform: scale(0.7);\\n }\\n\\n 100% {\\n opacity: 0;\\n transform: scale(1);\\n }\\n}\\n\\n@keyframes ripple {\\n 0% {\\n opacity: 1;\\n transform: scale(0.7);\\n }\\n\\n 100% {\\n opacity: 0;\\n transform: scale(1);\\n }\\n}\\n\\n@-webkit-keyframes speakingRipple1 {\\n 0%,\\n 100% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple1-1-202105260611.png\\");\\n }\\n\\n 25%,\\n 75% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple1-2-202105260611.png\\");\\n transform: scale(1.1);\\n }\\n\\n 50% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple1-3-202105260611.png\\");\\n transform: scale(0.9);\\n }\\n}\\n\\n@keyframes speakingRipple1 {\\n 0%,\\n 100% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple1-1-202105260611.png\\");\\n }\\n\\n 25%,\\n 75% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple1-2-202105260611.png\\");\\n transform: scale(1.1);\\n }\\n\\n 50% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple1-3-202105260611.png\\");\\n transform: scale(0.9);\\n }\\n}\\n\\n@-webkit-keyframes speakingRipple2 {\\n 0%,\\n 100% {\\n background-image: none;\\n }\\n\\n 25%,\\n 75% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple2-2-202105260611.png\\");\\n transform: scale(1.1);\\n }\\n\\n 50% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple2-3-202105260611.png\\");\\n transform: scale(0.9);\\n }\\n}\\n\\n@keyframes speakingRipple2 {\\n 0%,\\n 100% {\\n background-image: none;\\n }\\n\\n 25%,\\n 75% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple2-2-202105260611.png\\");\\n transform: scale(1.1);\\n }\\n\\n 50% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple2-3-202105260611.png\\");\\n transform: scale(0.9);\\n }\\n}\\n\\n@-webkit-keyframes speakingRipple3 {\\n 0%,\\n 25%,\\n 75%,\\n 100% {\\n background-image: none;\\n }\\n\\n 50% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple3-3-202105260611.png\\");\\n transform: scale(0.9);\\n }\\n}\\n\\n@keyframes speakingRipple3 {\\n 0%,\\n 25%,\\n 75%,\\n 100% {\\n background-image: none;\\n }\\n\\n 50% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple3-3-202105260611.png\\");\\n transform: scale(0.9);\\n }\\n}\\n", ""]);\n// Exports\n/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://@vzmi/voicejs/./src/index.css?./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js')},"./node_modules/css-loader/dist/runtime/api.js":/*!*****************************************************!*\ !*** ./node_modules/css-loader/dist/runtime/api.js ***! \*****************************************************/function(module){eval('\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return "@media ".concat(item[2], " {").concat(content, "}");\n }\n\n return content;\n }).join("");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === "string") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, ""]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = "".concat(mediaQuery, " and ").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n//# sourceURL=webpack://@vzmi/voicejs/./node_modules/css-loader/dist/runtime/api.js?')},"./src/index.css":/*!***********************!*\ !*** ./src/index.css ***! \***********************/function(module,__unused_webpack_exports,__webpack_require__){eval('var api = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");\n var content = __webpack_require__(/*! !!../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js!./index.css */ "./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === \'string\') {\n content = [[module.id, content, \'\']];\n }\n\nvar options = {};\n\noptions.insert = "head";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};\n\n//# sourceURL=webpack://@vzmi/voicejs/./src/index.css?')},"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":/*!****************************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! \****************************************************************************/function(module,__unused_webpack_exports,__webpack_require__){eval("\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : 0;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of

    FAQs

    Every performance at the 2023 Grammy Awards, from worst to best? ›

    The televised ceremony featured a sprawling assortment of performances from acts including Harry Styles, Bad Bunny, Mary J. Blige, Steve Lacy, Lizzo, Kim Petras, Sam Smith, Brandi Carlile, Stevie Wonder, Smokey Robinson, Chris Stapleton, DJ Khaled, and Luke Combs.

    What were the performances of GRAMMYs 2023? ›

    The televised ceremony featured a sprawling assortment of performances from acts including Harry Styles, Bad Bunny, Mary J. Blige, Steve Lacy, Lizzo, Kim Petras, Sam Smith, Brandi Carlile, Stevie Wonder, Smokey Robinson, Chris Stapleton, DJ Khaled, and Luke Combs.

    What was the controversial GRAMMY performance in 2023? ›

    Making Grammys 2023 history as a trans woman, Kim Petras celebrates her big win. Just last week, the duo drew complaints for its performance at the 2023 Grammys, with Smith donning a hat with devil horns and Petras dancing in front of fire.

    Who won the most GRAMMYs in 2023? ›

    In the win heard around the world, Beyoncé became the person with the most GRAMMYs of all time at the 2023 GRAMMYs.

    What was the best song at the GRAMMYs 2023? ›

    Bonnie Raitt wins Song Of The Year for her track "Just Like That." Bonnie Raitt's "Just Like That" won the GRAMMY for Song Of The Year at the 2023 GRAMMYs.

    Who won album of the year 2023? ›

    After one of the tightest races in recent Grammys history, it's official: Harry Styles took home the Grammy Award for album of the year on Sunday night (Feb.

    Who was person of the year at the GRAMMYs 2023? ›

    3, 2023, two nights before the 2023 GRAMMYs. "MusiCares is thrilled to be honoring Berry Gordy and Smokey Robinson at the 2023 Persons of the Year gala, which will be the first time we are honoring two legends together," Laura Segura, Executive Director of MusiCares, said in a statement.

    Why didn t beyonce perform at the GRAMMYs 2023? ›

    Beyoncé Was Late to the 2023 Grammys Because She Got Stuck in Traffic – Rolling Stone.

    Who has been stripped of a GRAMMY? ›

    In 1990, Milli Vanilli, the Munich-based R&B duo, Fab Morvan and Rob Pilatus, were stripped of their Grammy Awards.

    What is the GRAMMY curse? ›

    The Grammy Awards' Best New Artist curse is legendary for a reason – many winners have failed to live up to the title and recreate their success. However, some notable outliers have gone on to enjoy long, successful careers. Why do some rising stars fall victim to the curse while others thrive?

    Who is the youngest GRAMMY winner in the world? ›

    LeAnn Rimes is the youngest individual Grammy winner and the youngest to win Best New Artist.

    Which president won 3 Grammys? ›

    Three-time winner, former U.S. President Jimmy Carter. Carrie Fisher won the award posthumously in 2018.

    Who won a GRAMMY at 14 years old? ›

    At age 14, Harlem-native Walter Russell III secured his first Grammy at the 65th Annual Grammy Awards held earlier this month.

    What are the 4 most prestigious Grammy Awards? ›

    Album of the Year, Best New Artist, Song of the Year and Record of the Year are the “Big Four”, also known as the general field. That's because all the races are open to music from all genres, making them amongst the most prestigious honors in the recording industry.

    Who has won a GRAMMY 3 times? ›

    Frank Sinatra was the first two-time winner and three-time winner. He won in 1960, 1966 and 1967. Three-time winner Stevie Wonder won in 1974, 1975 and 1977. Taylor Swift is the first woman to win two and three times as a lead artist, in 2010, 2016 and 2021.

    What song was written for a movie at the GRAMMYs 2023? ›

    The viral hit song from Encanto won the golden gramophone for Best Song Written For Visual Media at the 2023 GRAMMYs, officially making the animated Disney film sweep the three visual media categories. Encanto also took home awards for Best Compilation Soundtrack and Best Score Soundtrack.

    Who got artist of the year 2023? ›

    Wallen was unable to attend the show, so Garth Brooks accepted the award on his behalf. Morgan Wallen was named ACM Male Artist of the Year at the 2023 ACM Awards on Thursday evening (May 11).

    How many GRAMMYs did Taylor Swift win 2023? ›

    Taylor Swift at the 2023 Grammys: One Win, Dances the Night Away – The Hollywood Reporter.

    Has anyone won 4 Album of the Year? ›

    Bad Guy, 2020. Billie Eilish backstage after winning the four Grammy Awards including Album of the Year at the 62nd Grammys.

    Who won Rap GRAMMY 2023? ›

    Kendrick Lamar won the GRAMMY for Best Rap Album for Mr. Morale & The Big Steppers at the 2023 GRAMMYs. In his acceptance speech, Lamar thanked his family for giving him the "courage and vulnerability" to tell his stories, as well as his fans for trusting him with the stories.

    What is the best R&B song for the GRAMMYs 2023? ›

    Beyoncé's "Cuff It" won the GRAMMY for Best R&B Song at the 2023 GRAMMYs, officially tying the record for most awarded GRAMMY artist. Mary J. Blige, Muni Long, Jazmine Sullivan, and PJ Morton were the other nominees in the prestigious category.

    How many GRAMMYs does Cardi B have? ›

    American rapper and songwriter Cardi B is the recipient of numerous awards, including a Grammy Award, six American Music Awards, eight Billboard Music Awards, six BET Awards, fourteen BET Hip Hop Awards, four iHeartRadio Music Awards, two MTV Europe Music Awards, four MTV Video Music Awards, six Soul Train Music Awards ...

    Who has the most nominees for Grammy 2023? ›

    Released last July, Renaissance is Beyoncé's seventh solo album, all of which have topped the U.S charts. Renaissance garnered Beyoncé eight of her nine GRAMMY nominations at the 2023 GRAMMYs; she was also nominated for Best Song Written For Visual Media for her original song "Be Alive" from the film King Richard.

    Can BTS win Grammy in 2023? ›

    Will BTS attend Grammys 2023? ›

    Despite their three nominations, the K-pop group passed on this year's ceremony. None of the members of BTS made the trip Stateside for the 2023 Grammys. The superstar K-pop group was unaccounted for at music's biggest night this year, skipping the ceremony for the first time in several years.

    Why is it illegal to sell a Grammy? ›

    The verbiage in that agreement explicitly states that by accepting the award, you agree that it is “for your own personal, noncommercial purposes” and that “sale, auction, public exhibition, reproduction or other public or commercial exploitation of the Statuette,” without permission from the Academy, is prohibited.

    Has anyone refused a Grammy? ›

    Sinead O'Connor has always been an artist who refuses to beat to the sound of anyone else's drum. The Irish singer is a maverick in the truest sense of the word, and O'Connor proved this in 1991 when she turned down an award from the Grammys.

    Has anyone sold a Grammy? ›

    Formally, there are no cash prizes associated with winning a Grammy award and even selling the statue is against the rules of the Recording Academy, the organization that presents the awards.

    Who is blacklisted from the Grammys? ›

    Ye, also known by his birth name Kanye West, has been on a social media tear in recent months. He behavior has gotten him booted from the lineup of performers for the 2022 Grammy Awards.

    Why did Drake refuse Grammy? ›

    The awards show producers cut off his mic after he claimed awards hold no value. “We play an opinion-based sport, not a factual-based sport,” he said. “You already won if you have people singing your songs word for word, if they're singing in your hometown. You're already winning, you don't need this right here.”

    Why did Drake reject Grammy? ›

    Last year, Drake earned a pair of Grammy nominations in the rap categories, but he later asked the Recording Academy to rescind them, as he apparently wasn't interested in the recognition.

    Who holds most Grammys? ›

    Beyoncé: 32 Grammys

    The "Break My Soul" singer has a whopping total of 32 golden gramophones (and 88 nominations) to her name from her solo career and her start with girl group Destiny's Child.

    Who is the oldest Grammy winner? ›

    The oldest person to win a Grammy was 97-year-old Pinetop Perkins in 2011.

    Who got their first Grammy? ›

    The Grammy Awards were first presented by NARAS in Los Angeles in 1959, when 28 prizes were given. Winners included Ella Fitzgerald, Frank Sinatra, and the Kingston Trio.

    Who is oldest living president? ›

    At age 98, Carter is also the oldest living president as well as the nation's longest-lived president. The youngest living president is Barack Obama, age 61.

    What did Obama win two GRAMMYs for? ›

    For His Musical Legacy, It's The Tip Of The Iceberg. Former U.S. president Barack Obama has won two GRAMMYs for Best Spoken Word Album — and with 'A Promised Land,' he's been nominated for a third. His GRAMMYs presence speaks to decades of public communion with music.

    What was the shortest president? ›

    The tallest U.S. president was Abraham Lincoln at 6 feet 4 inches (193 centimeters), while the shortest was James Madison at 5 feet 4 inches (163 centimeters). Joe Biden, the current president, is 6 feet 0 inches (183 centimeters) according to a physical examination summary from February 2023.

    Who won 10 Grammys? ›

    Even country singer Dolly Parton has “only” won 10 Grammys despite being a country music legend and pop cultural phenomenon.

    Who won 9 Grammy Awards? ›

    Winners
    NomineeWinsNominations
    James Blackwood Sr.926
    Brandi Carlile925
    Natalie Cole921
    Count Basie920
    143 more rows

    What was the shortest song to win a Grammy? ›

    You could play the shortest recording to win Record Of The Year three times in the time it would take to play the longest. The shortest winner, Henry Mancini's melancholy "Days Of Wine And Roses" (1963), clocks in at 2:05.

    Who has more than 11 Grammys? ›

    Who Are The Top GRAMMY Awards Winners Of All Time? Who Has The Most GRAMMYs?
    • Beyoncé, 32. ...
    • Georg Solti, 31. ...
    • Quincy Jones, 28. ...
    • Alison Krauss, 27. ...
    • Chick Corea, 27. ...
    • Pierre Boulez, 26. ...
    • Vladimir Horowitz, 25. ...
    • Stevie Wonder, 25.

    What is higher than a Grammy? ›

    The Grammys are the first of the Big Three networks' major music awards held annually, and are considered one of the four major annual American entertainment awards, alongside the Academy Awards (for films), the Emmy Awards (for television), and the Tony Awards (for theater).

    Is there any award bigger than Grammy? ›

    A fourth major award, the Rock and Roll Hall of Fame Induction Ceremony, is given in the spring (between the Grammys and the BMAs), and currently honors artists who have been in the business at least 25 years since their first hit record.

    Who is the youngest person to win multiple GRAMMYs? ›

    Rimes was just 14 years old when she won two Grammy Awards: one for best new artist and the other for best female country vocal performance. This made her the youngest Grammy winner in history.

    Has ever won a GRAMMY? ›

    Who decides Grammy winners? ›

    Ballots are tabulated by the independent accounting firm Deloitte & Touche LLP. After vote tabulation, GRAMMY winners are announced at the GRAMMY Awards Premiere and telecast ceremonies. The recording with the most votes in a category wins.

    Who is hosting the 2023 GRAMMYs? ›

    Who is hosting the 2023 GRAMMY Awards? Former The Daily Show host and comedian Trevor Noah is returning to host the 2023 GRAMMYs after hosting in 2021 and 2022.

    Who votes for GRAMMYs? ›

    Unlike other music award shows, such as the Billboard Music Awards or the MTV Music Video Awards, the Grammys aren't voted on by the public. Instead, the awards are decided by voters from the Recording Academy.

    Where can I see GRAMMY 2023 performances? ›

    The 2023 GRAMMYs will broadcast live on the CBS Television Network and stream live and on demand on Paramount+.

    Who is performing at the GRAMMYs in 2023 Motown? ›

    Watch: Stevie Wonder and Smokey Robinson Perform "Tears of a Clown" | 2023 GRAMMYs Performance. Stevie Wonder paid tribute to MusiCares' Persons Of The Year, Motown legends Smokey Robinson and Berry Gordy, with an electric performance at the 2023 GRAMMYs, featuring a duet with Robinson himself.

    Who performed at the GRAMMYs 2023 hip-hop tribute? ›

    Revisit the historic, celebratory tribute from the 2023 GRAMMYs ceremony with this playlist of every song from the performance, featuring Missy Elliott, Queen Latifah, Salt-N-Pepa, Scarface, Method Man, Ice-T and many more.

    Is BTS performing at the GRAMMYs 2023? ›

    None of the members of BTS made the trip Stateside for the 2023 Grammys. The superstar K-pop group was unaccounted for at music's biggest night this year, skipping the ceremony for the first time in several years.

    Who has the most GRAMMYs ever? ›

    The record for the most Grammy Awards won in a lifetime is held by Beyoncé, an American singer, songwriter, record producer and dancer, who has won 32. It was previously held by Georg Solti, a Hungarian-British conductor, who won 31.

    What was the best music video at the GRAMMYs 2023? ›

    Taylor Swift won the GRAMMY for Best Music Video at the 2023 GRAMMYs thanks to "All Too Well: The Short Film," becoming the first artist to win the category with a sole directing credit for their own music video.

    Who won the GRAMMYs in 2023 hip-hop? ›

    Kendrick Lamar took home the award for Best Rap Album, recognizing how 'Mr. Morale' allowed him to grow as an artist. Kendrick Lamar won the GRAMMY for Best Rap Album for Mr. Morale & The Big Steppers at the 2023 GRAMMYs.

    Who won best metal performance at GRAMMY 2023? ›

    The one and only Ozzy Osbourne has taken home the 2023 Grammy Award for Best Metal Performance category, for the song "Degradation Rules," featuring his Black Sabbath bandmate Tony Iommi. (For those who are new to this, "performance" refers to a single song rather than a full album.)

    Who has the most nominees for GRAMMY 2023? ›

    Released last July, Renaissance is Beyoncé's seventh solo album, all of which have topped the U.S charts. Renaissance garnered Beyoncé eight of her nine GRAMMY nominations at the 2023 GRAMMYs; she was also nominated for Best Song Written For Visual Media for her original song "Be Alive" from the film King Richard.

    Who was the first person to win a Grammy for hip-hop? ›

    The Grammys ignored the first decade of recorded rap, despite the multiple gold and platinum singles and albums that the genre produced. On February 22, 1989, the Grammys finally recognized rap as a genre when Jazzy Jeff and The Fresh Prince won the first-ever Grammy.

    Who danced at the Grammys? ›

    Taylor Swift was the only one in her section dancing during ex-boyfriend Harry Styles' 2023 Grammys performance. Taylor Swift was the only one in her section dancing during ex-boyfriend Harry Styles' 2023 Grammys performance.

    Who won hip-hop Grammy? ›

    Recipients
    YearRecipient(s)Work
    2021Nas · Hit-Boy, producer; Mark "Exit" Goodchild, Hit-Boy, David Kim & Gabriel Zardes, engineers/mixersKing's Disease
    2022Tyler, the CreatorCall Me If You Get Lost
    2023Kendrick LamarMr. Morale & The Big Steppers
    25 more rows

    Who won pop duo GRAMMY 2023? ›

    Sam Smith & Kim Petras won the GRAMMY for Best Pop Duo/Group Performance at the 2023 GRAMMYs for their song “Unholy.”

    Who did BTS lose to at the GRAMMYs 2023? ›

    K-pop superstar group BTS lost the Grammy for Best Pop Duo/Group Performance to Sam Smith and Kim Petras for their viral hit "Unholy." BTS was nominated for their song "My Universe" with Coldplay. Following the loss, K-pop stans took to social media, speculating that the award show could be rigged.

    Why wasn t BTS at the GRAMMYs? ›

    For BTS, the best is what comes next. Despite being up for two awards, the seven-member ensemble was noticeably absent from the 2023 Grammys. According to Korea Herald, BTS were not present because "the group is currently on an indefinite break due to military enlistment and solo career commitments."

    Videos

    1. Best And Worst Moments Of The 2023 Grammys | The View
    (The View)
    2. All The Worst-Dressed Stars At The 2023 Grammys
    (The List)
    3. Grammys 2023: Best and worst looks from the red carpet
    (Global News)
    4. Biggest moments from the 2023 Grammy Awards l GMA
    (Good Morning America)
    5. Watch Sam Smith and Kim Petras Perform "Unholy" | 2023 GRAMMYs
    (Recording Academy / GRAMMYs)
    6. Quavo - Without You (2023 GRAMMY Performance)
    (Quavo Huncho)
    Top Articles
    Latest Posts
    Article information

    Author: Mr. See Jast

    Last Updated: 23/08/2023

    Views: 6365

    Rating: 4.4 / 5 (55 voted)

    Reviews: 86% of readers found this page helpful

    Author information

    Name: Mr. See Jast

    Birthday: 1999-07-30

    Address: 8409 Megan Mountain, New Mathew, MT 44997-8193

    Phone: +5023589614038

    Job: Chief Executive

    Hobby: Leather crafting, Flag Football, Candle making, Flying, Poi, Gunsmithing, Swimming

    Introduction: My name is Mr. See Jast, I am a open, jolly, gorgeous, courageous, inexpensive, friendly, homely person who loves writing and wants to share my knowledge and understanding with you.