{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Introduction\n\nAs neurologist Oliver Sacks once remarked, music appears to be “an essential part of the human condition” [1]. It then comes as no surprise that music — much like text or image — has not been overlooked as generative artificial intelligence (AI) advances. Music is commonly defined as a sequence of pitches or rhythms, or both, typically in a definite pattern [2]. But generating music is a challenging task [3]. First, it necessitates managing different attributes such as long-range structure, overlapping sounds, and emotional expression. Second, it leaves little room for mistakes given that the human ear readily catches harmonic errors [4, 5]. Third, in order to benefit creators, music generation models should allow precise control over details such as key, genre, and more. \n\nThe latest advancements in self-supervised audio representation learning and generative modeling provide a solid foundation to build models that rise to this challenge and generate compelling music. This essay considers the research associated with text-conditioned non-symbolic music generation (e.g., 70s jazz with piano motifs). Our primary focus is on research conducted from 2021 up to the current date. However, it is noteworthy that — to the best of our knowledge — all of the most relevant advancements were concentrated in the year 2023.\n","metadata":{}},{"cell_type":"markdown","source":"# Essay Structure\n\nFollowing the *Introduction*, the essay explores *The State of Text-Conditioned Music Generation in 2023*. It then transitions into a *Discussion* that examines relevant evaluation metrics and contemplates the broader societal and industrial impacts. The essay wraps up with a *Conclusion*, offering a well-rounded view of the subject.","metadata":{}},{"cell_type":"markdown","source":"# The State of Text-Conditioned Music Generation in 2023\n\nMusic has existed from the earliest periods of human civilization and has piqued the interest of computer scientists for nearly a century. Starting from the first substantial computer-generated music using Markov chains in 1956 [6], the field progressed to adopt more data-hungry approaches like MusicVAE in 2018 [7]. Still, a single system that captures various properties of music remained absent until Jukebox in 2020 [8]. Jukebox generated songs from rather diverse genres of music like jazz, rock, and hip-hop. It captured melody, rhythm, long-range structure, and timbres for a variety of instruments and allowed for the generation of lyrics/singing as well. \n\nBuilding on the achievement of Jukebox, the field of generative modeling has increasingly adopted a two-stage learning paradigm [9]. The paradigm begins with representation learning in the initial stage, where a model is trained to compress the representation of input data. The following stage involves constructing a generative model on top of the compressed, low-dimensional input space [10, 11, 12]. This is believed to be more efficient than learning on the raw input data, which can be tangled and computationally expensive representation to work on [11]. \n\nDrawing upon the two-stage learning paradigm, several valuable advancements have surfaced, all concentrated in the year 2023. The following discussion will navigate through five research efforts that employ this paradigm in their music generation models, opening with MusicLM published on the 26th of January 2023 and concluding with MusicGEN shared on the 8th of June 2023.\n\n## MusicLM\n\nMusicLM [13], a Transformer-based model, formulates a music generation task as hierarchical sequence-to-sequence modeling, as one would do with a language modeling task [14]. This approach can generate text-conditioned high-fidelity music that remains consistent over several minutes.\n\nMusicLM consists of three representation learning models and two decoder-only Transformers for hierarchical sequence-to-sequence modeling. These are w2v-BERT tokens for temporal coherence [15], MuLan tokens for text conditioning [16], and SoundStream tokens for high-fidelity music generation [17]. At the first stage — also described as semantic modeling — a decoder-only Transformer learns to map MuLan tokens to semantic tokens. Later, in the second stage — referred to as acoustic modeling — another decoder-only Transformer learns to predict SoundStream tokens from given MuLan and semantic tokens.\n \nMost notably, MuLan, a contrastive model between music and text modalities, can interpret music and text signals as one. For example, the model would return a similar output if the input is a \"90s guitar riff\" in either text or music form. Authors take advantage of MuLan's ability to interpret multiple modalities as one and scale training datasets without strictly requiring text and music pairs.\n\nModels in the MusicLM pipeline were trained with a massive 280 thousand hours of music data.\n\n## Moûsai\n\nMoûsai [9], a latent diffusion approach, generates several minutes of coherent, high-quality music. Unlike earlier works in the music generation literature, Moûsai stands out for its ability to synthesize high-fidelity music in almost real-time using a single consumer-grade hardware. \n\nMoûsai initially employs a pretrained large language model that encodes the meaning of text descriptions. Next, the first stage diffusion model generates a compressed representation of the audio while being conditioned on the encoded text. Finally, the second stage diffusion decoder utilizes the reduced representation from the first stage and creates the resulting music in accordance with the text description.\n\nThe training dataset of Moûsai is considerably smaller when compared to other works in the literature. The dataset includes 2.5 thousand hours of music data encompassing diverse genres, artists, and instruments. \n\n## Noise2Music\n\nNoise2Music [18], a diffusion-based music generation approach, creates thirty seconds of high-quality music segments. Uniquely, the authors experiment with two different input audio representations: (1) low-fidelity raw waveform and (2) log-mel spectrogram. Authors report that while raw waveform delivers better objective and subjective evaluation scores, the log-mel spectrogram approach achieves acceptable quality with fewer costs, bringing more scalability options.\n\nNoise2Music presents two pipelines for proposed input representations: waveform and spectrogram models. The shared first step is encoding the meaning of text description using a large language model. Then, the appropriate diffusion model compresses the input representation while also conditioning with the encoded text. Finally, a cascaded diffusion model for raw waveform or a vocoder model for log-mel spectrogram representation consumes the outputs from the preceding stage and generates the waveform music.\n\nNoise2Music used a large-scale dataset of 340 thousand hours of paired music and text. The massive dataset was built using a clever data mining technique. First, for a single music clip, a large language model generates multiple rich music descriptions in text form using music tags. Then, a contrastive music and audio model (MuLan) calculates the similarity score between the music clip and generated text descriptions and chooses the text description with the highest similarity score as the text pair for the music clip.\n\n## MeLoDy\n\nMeLoDy [19], a diffusion model for text-to-music generation, offers competitive results while keeping generation time faster than in real-time, unlike its predecessors. \n\nMeLoDy consists of five different models working with each other. First, representation learning models, MuLan [16], Wav2Vec2-Conformer [20, 21], and audio VAE [19] capture different properties of music. Later, two generative models, are concerned with either semantic (language model) or acoustic modeling (a novel dual-path diffusion model). Semantic modeling refers to the meaning and structure of the music while acoustic modeling refers to the perceived audio quality.\n\nMeLoDy was trained on a tremendous in-house music dataset of 257 thousand hours. The dataset was filtered to keep only non-vocal music data since the authors didn't intend to generate music with vocals. Finally, to counter the scarce availability of music description datasets, the authors utilized ChatGPT to create music descriptions from short tags.\n\n## MusicGEN\n\nMusicGEN [3], a music language model working with text and discretized music representations, delivers a simple and efficient method to generate high-quality music from text descriptions.\n\nThe MusicGEN pipeline first compresses raw waveform music into a series of integers — described as discrete music representations — using a variant of a work called EnCodec [22]. Later, a music language model jointly learns discrete music representations and their accompanying text condition. \n\nThe authors train three different scales of MusicGEN: small, medium, and large. Authors report that scores improve as the model size increases. However, scaling the size of the model comes with the expense of slow generation time and the requirement for adequate hardware. \n\nThe team used a modest dataset size of 20 thousand hours of high-quality, licensed music data. The dataset contains textual descriptions of music tracks and tags such as artist, genre, and others.\n","metadata":{}},{"cell_type":"markdown","source":"# Discussion\n\n## Evaluation\n\nEvaluation is a crucial component of large-scale generative model development. In essence, we evaluate to gain an insight into the quality of the outputs. A good evaluation considers multiple properties and helps researchers understand what improves and what impairs the outcome.\n\nWithin the Kaggle community, evaluation is highly valued. In a standard competition, the host defines an evaluation metric to measure the success of every competitor's solution. Naturally, the competitors make decisions based on the quantitative metric and iterate accordingly to create the final solution. \n\nFor example, we are developing a model that outputs yes if there's a dog in an image and outputs no otherwise. The number of correctly classified images would determine the accuracy metric. Specifically, if the model can correctly guess eight out of ten inputted images, it would achieve 80% accuracy. Here, accuracy is an objective evaluation metric; the metric that has quantifiable evidence. On the other hand, subjective evaluation helps estimate performance based on unquantifiable evidence. For example, preferences for generated music samples.\n\nImportantly, there is no perfect evaluation metric for music in the existing literature. This is largely because music is layered with a number of properties (e.g., timbre, rhythm, and melody) and is further complicated by the subjective nature of music perception [9].\n\n### Objective Evaluation\n\nFréchet Audio Distance (FAD) — originally meant to measure the output quality of music enhancement models — is widely used in recent text-to-music research [23]. Notably, FAD correlates better with human perception than some other objective evaluation metrics for audio quality. Figure 1 below shows the comparison of FAD scores between recent text-to-music models. A lower FAD score indicates better audio quality.\n\nKindly note; as not all models are made publicly available, our figures are constructed using the data shared by the authors. Consequently, not all models are represented in each figure.\n\n\n<div style=\"text-align: center;\">\n    <img src=\"data:image/png;base64,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8ufPn2IMAMC+2MX3H1xdXeXv76/Q0FC1atVKmzZtUv369VWuXLlMz3X8+HElJCRo8uTJKliwoCSpRYsW9zxmxowZqlChgpYtWyZHR0dJUvPmzTN/IcrZawEAwN4mTZokT09Pvfzyy5k6ztXVVZL0559/puqLi4tLMQYAYF/cQU1DQECAduzYobi4OG3evFmdO3fO0jxeXl5ydHTU+PHjtXPnzvu+vyU2NlY//fSTunXrZgun2ZVT1wIAgD2dOXNGixcv1siRI3X58mX99ttv+u233xQXF6eEhAT99ttvunXrVprHenp6ysXFRVeuXEnV93db6dKlH2j9AICMIaCmoXnz5nJyctK8efMUHh6ujh07ZmmeSpUq6cMPP1RUVJRGjBghX19fDRs2LN3HdSMjI5WcnKwSJUpkp/wUcupaAACwp0uXLik5OVkjR45UpUqVbF8HDhzQ6dOnValSpXQ/ts3BwUF16tTRoUOHUvUdOHBAlStXlru7+4O+BABABvCIbxqcnJzUvn17hYSEyNfXV8WKFUs1xtnZOcXmQ5LSfG+pn5+f/Pz8FB0drT179mjatGmaOHGili1blmqsu7u7HBwcdP369Yd6LQAAmK527dr66quvUrVPmjRJUVFRmjdvnqpUqSLprz0gYmJiVKNGDdu4Hj16aMKECTp06JBtN99Tp05p586dGj9+/MO5CADAfRFQ09GzZ0/dvHlTvXr1SrO/VKlSunr1qu7evasCBQpI0j132i1YsKA6deqkY8eOadOmTWmOcXNzU7169bR+/XoNHDgwxx7zvd+1AABgumLFiqlbt26p2v/+LNT/7evXr592794tq9Vqaxs+fLg++ugjde7cWePHj5eTk5Nmz56tkiVLaty4cQ+4egBARhFQ0+Hj46Pg4OB0+9u3b68PPvhAr732mnr16qUzZ85ozZo1KcasXLlSR48eVYsWLVS8eHGFh4drw4YNatasWbrzjhs3TgMGDNCAAQPUp08fFSpUSGFhYSpSpIh69OhhG3f69Glt2bIlxbFubm7y8/PL9LUAAPCoc3d3165duzRmzBhNmTJFycnJatWqlebMmZOpHYEBAA8WATWLqlatqunTpys4OFjDhw9Xw4YNNXPmTHXt2tU2xsvLS999952mTZumO3fuqHjx4urcubNGjRqV7ryNGjXS8uXLNXfuXE2cOFEODg6qVq2aRo8enWLc119/ra+//jpFW/ny5bV9+/acvEwAAIy2a9euDLVJUtmyZfXll18+2IIAANlisf7v8y9AJgRvW6Irt6/ZuwwAgGEeK1JSw9sPUmxsLB/fYkcxMTE6ceKEatasKTc3N3uXk6exFmZgHXIHdvEFAAAAABiBgAoAAAAAMAIBFQAAAABgBAIqAAAAAMAIBFQAAAAAgBEIqAAAAAAAIxBQAQAAAABGIKACAAAAAIxAQAUAAAAAGIGACgAAAAAwAgEVAAAAAGAEAioAAAAAwAgEVAAAAACAEQioAAAAAAAjEFABAAAAAEYgoAIAAAAAjEBABQAAAAAYgYAKAAAAADACARUAAAAAYAQCKgAAAADACARUAAAAAIARCKgAAAAAACMQUAEAAAAARiCgAgAAAACMQEAFAAAAABiBgAoAAAAAMAIBFQAAAABgBAIqAAAAAMAIBFQAAAAAgBEIqAAAAAAAIxBQAQAAAABGIKACAAAAAIxAQAUAAAAAGIGACgAAAAAwAgEVAAAAAGAEAioAAAAAwAgEVAAAAACAEfLZuwDkXsU9itm7BACAgfj3AQCQVQRUZEliUpJ6Nulq7zIAAIZKTEqydwkAgFyIR3yRJcfDwhQbG2vvMvK82NhYHT9+nLWwM9bBHKyFGWJjY3U8LExWq9XepQAAchkCKrIkISGBHzwMYLVaFRsby1rYGetgDtbCDFarVQkJCfYuAwCQCxFQAQAAAABGIKACAAAAAIxAQAUAAAAAGIGACgAAAAAwAgEVAAAAAGAEAioAAAAAwAgEVAAAAACAEQioAAAAAAAjEFABAAAAAEYgoAIAAAAAjEBABQAAAAAYgYAKAAAAADACARUAAAAAYAQCKgAAAADACARUAAAAAIARCKgAAAAAACMQUAEAAAAARiCgAgAAAACMQEAFAAAAABiBgIoscXJyksVisXcZeZ7FYpGrqytrYWesgzlYCzOwDmZgHczBWpiBdcgdLFar1WrvIpD7JCUlydHR0d5lAAAAAHmK1Wp9pEM2ARVZduzScd2Nj7F3GQAAAECeUMDZTT5lvO1dxgOVz94FIPe6Gx+jqLhoe5cBAAAA4BHBe1ABAAAAAEYgoAIAAAAAjEBABQAAAAAYgYAKAAAAADACARUAAAAAYAQCKgAAAADACARUAAAAAIARCKgAAAAAACMQUAEAAAAARiCgAgAAAACMQEAFAAAAABiBgAoAAAAAMAIBFQAAAABgBAIqAAAAAMAIBFQAAAAAgBEIqAAAAAAAIxBQAQAAAABGIKACAAAAAIxAQAUAAAAAGIGACgAAAAAwAgEVAAAAAGAEAioAAAAAwAgEVAAAAACAEQioAAAAAAAjEFABAAAAAEYgoAIAAAAAjEBABQAAAAAYgYAKAAAAADACARUAAAAAYAQCKgAAAADACARUAAAAAIARCKgAAAAAACMQUAEAAAAARiCgAgAAAACMQEAFAAAAABiBgAoAAAAAMAIBFQAAAADyuAEDBshisaT7denSpXSP/c9//pPmMfnz5890HfmycxF4MMaNG6fdu3dry5YtKlasmL3LAQAAAPCIGzp0qNq2bZuizWq1atiwYapYsaLKlClz3zkWLlyoggUL2l47Ojpmug4CahYEBQVp/vz5KlGihHbv3i0Hh5Q3onv37q0jR47o6aef1vTp0zM198GDBxUWFqaePXtq5syZmT4+I8LDw9WmTRvNmzdPHTp0yPH5AQAAAOQuvr6+8vX1TdH2/fffKyYmRn379s3QHD169Mj2DTYe8c0iJycn3b59WwcPHkzRfunSJR09elRubm6ZnjMxMVFTpkzRu+++qzFjxuj48eM6cuRITpVsU6JECa1atUpNmjTJ8bkBAAAAPBo+//xzWSwW9enTJ0PjrVarIiMjZbVas3xO7qBmkZOTk3x9fRUaGqrGjRvb2kNDQ1WtWrVUd1UzIl++fFq/fr3t9YYNG3Kk1n9ydnZWvXr1HsjcAAAAAHK/hIQErV69Wk2bNlXFihUzdEzlypUVHR2tAgUKqFu3bpo1a5ZKliyZqfNyBzUbAgICtHXrViUkJNjaNm3apICAgFRjDx48qN69e8vHx0eNGzfWxIkTdefOHVv/gQMH5OXlpZ9//jnFccOHD1dgYKDt9dWrVzVq1Cg1bdpUderUkb+/v959911b/7lz5zRmzBi1bNlSdevWVadOnbR06VIlJyfbxoSHh8vLy0tbtmzJiW8DAAAAgEfM1q1bdfPmzQw93lukSBGNGDFCixYt0po1a/TCCy9o1apVatGihSIjIzN1Xu6gZkPr1q31+uuva+/evWrVqpXOnj2rU6dOacGCBdq8ebNt3C+//KJ//etfaty4sebNm6cbN25o1qxZOnv2rFauXJmpNw+/8sorun79uiZNmqSiRYvqypUr+uWXX2z9169fV6VKldSlSxcVKFBAJ06cUFBQkGJiYjRixIgcvX4AAAAAj6bPP/9cTk5O6tWr133Hjho1KsXrZ555Rk888YT69u2r4OBgTZgwIcPnJaBmg6urq/z9/RUaGqpWrVpp06ZNql+/vsqVK5di3IcffqjixYvrww8/lJOTkyTpscce06BBg7R79275+/tn+Jw///yzxo4dq06dOtnaunXrZvvv/31zs9VqVcOGDRUXF6dPP/2UgAoAAADgvqKjo7V+/Xo9+eSTKlq0aJbm6NOnj8aNG6dvv/2WgPowBQQEaNy4cYqLi9PmzZtTPI77t0OHDikgIMAWTiWpefPm8vDw0I8//pipgOrt7a2lS5fK0dFRzZo1U4UKFVL0//nnn1q0aJE2btyoK1eupHj8+O7duypQoEAWrhIAAABAXvH1119navfe9JQrV063bt3K1DG8BzWbmjdvLicnJ82bN0/h4eHq2LFjqjGRkZFp/uahaNGiioiIyNT55syZoyZNmmju3Llq3769OnTooG3bttn6Z8yYoSVLlqhnz55avHix1qxZoxdffFHSX+EVAAAAAO7ls88+U8GCBfXUU09leQ6r1arffvtNxYsXz9RxBNRscnJyUvv27RUSEqImTZqk+bk/hQoV0s2bN1O137x5U4UKFZIkubi4SFKKO56SUr2puESJEpo2bZr279+vL7/8UpUqVdKYMWP0+++/S5K2bNmiZ599VkOGDLFtpJQvHzfKAQAAANzfH3/8oW+//VZPP/10mh+defHiRZ08eTLVMf+0cOFC/fHHH+rQoUOmzk9AzQE9e/ZU69at1a9fvzT7GzZsqB07digxMdHWtnfvXkVGRqphw4aSpFKlSkn6axfev926dUthYWFpzung4CAfHx+NHj1aiYmJunDhgqS/7pL+76PESUlJCg0Nzd4FAgAAAMgTVq1apcTExHQf7+3Xr59q1qyZoq1ChQr617/+pdmzZys4OFh9+vTRiBEjVK9ePQ0dOjRT5+fWWg7w8fFRcHBwuv3Dhg1T7969NXToUAUGBtp28fXx8VHLli0l/RVQ69atqwULFsjd3V358uXTRx99JHd3d9s8UVFRGjRokLp27apKlSopISFBK1askIeHh7y9vSVJTZs21ZdffqmqVauqSJEi+vzzzxUfH/9gvwEAAAAA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KleurISEBB0+fFjffPONypQpo+7du9vGjh07Vnv37lVgYKB69eqlKlWq6I8//tCWLVv0+eefy8PDQ6NHj9YPP/ygPn36qE+fPnJ0dNSqVasUHx+vf//73xn6nowbN04HDhxQr1691LNnT1WtWlUREREKCwvTvn379H//938ZmgcA8P8QUAEAyKYNGzbIxcVFzZo1S7PfwcFBrVq10saNG3X79m1b+wcffCBJcnJyUuHChVW9enW99tpr6t69+33v4NnDM888o3nz5ikuLi7dR5VLliypZcuW6fnnn5eHh4c+/vjje+78u2XLFpUuXVpNmjS557lfeeUVbdmyRbt379aqVauUkJCg0qVLq0+fPnrxxRfl4eGRoobVq1dr3rx52rhxo6Kjo1WyZEn5+fnZ6q5WrZo+++wzzZo1S4sWLZLVapWPj49mzJihunXrZuj7UaxYMX355ZdasGCBtm/fri+++EKFCxdW1apVNX78+AzNAQBIyWJN63kZAACAf4iKilLbtm01fvx49ezZ855j4+PjZbFYUn1G6T/H+Pv7a/Dgwerfv39OlwsAyIV4DyoAAMgQd3d3DRo0SEuWLLHtYpseZ2fne4ZTSVq7dq3y5cun5557LifLBADkYtxBBQAAAAAYgTuoAAAAAAAjEFABAAAAAEYgoAIAAAAAjEBABQAAAAAYgYAKAAAAADACARUAAAAAYAQCKgAAAADACARUAAAAAIARCKgAAAAAACMQUAEAAAAARiCgAgAAAACM8P8BXPxAMoL0pTUAAAAASUVORK5CYII=\" style=\"width: 75%;\">\n    <br>\n    <em>Figure 1: FAD Score Comparison</em>\n</div>\n<br>\n\nMuLan is a contrastive model between the music and text modalities. Therefore, it can calculate a similarity score between music and text. The Mulan Similarity score helps to quantify the alignment between text condition and generated music. Figure 2 displays the MuLan Similarity score comparison between the models reviewed as well as Riffusion — a fine-tuned diffusion-based model for music generation — and Mubert, a commercially available product for music generation [24, 25]. Higher MuLan Similarity indicates better alignment between the conditioning text and generated music.\n\n<div style=\"text-align: center;\">\n    <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9YAAAJICAYAAACE8nw1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABv0UlEQVR4nO3deVhVVf/+8fuAIKA4oKJijqlHRRCccAIVU3MuU7Mccsghx0xzKMfSckifFIecFbW0h9QCTXP2yRwa1Mqp0sx5BsFEQDi/P/xxvh4BFTYI6Pt1XVxXZ+211/5sXAH32WvvY7JYLBYBAAAAAIA0scvsAgAAAAAAyM4I1gAAAAAAGECwBgAAAADAAII1AAAAAAAGEKwBAAAAADCAYA0AAAAAgAEEawAAAAAADCBYAwAAAABgAMEaAAAAAAADCNZANvbzzz8rJiYms8tAJouJiWEuwIr5gPsxH5CIuYD7MR/SH8EayObi4+MzuwRkssQ5wFyAxHyALeYDEjEXcD/mQ/ojWAMAAAAAYADBGgAAAAAAAwjWAAAAAAAYQLAGAAAAAMAAgjUAAAAAAAYQrAEAAAAAMIBgDWRjDg4OMplMmV0GMpnJZJKzszNzAZKYDwAAZIYcmV0AgLSrWKmSHHLwv/GzztnZWZUqVcrsMpBFPOvzIT4+Xvb29pldBgDgGcNf5EA25pAjh97+cJj++udkZpcCAJmubMnn9emYTzK7DADAM4hgDWRzf/1zUkf+OJrZZQAAAADPLO6xBgAAAADAAII1AAAAAAAGEKwBAAAAADCAYA0AAAAAgAEEawAAAAAADCBYAwAAAABgAMEaAAAAAAADCNYAAAAAABhAsAYAAAAAwACCNQAAAAAABhCsAQAAAAAwgGANAAAAAIABBGsAAAAAAAwgWAMAAAAAYADBGgAAAAAAAwjWAAAAAAAYQLAGAAAAAMAAgjUAAAAAAAYQrAEAAAAAMIBgDQAAAACAAQRrAAAAAAAMIFgDAAAAAGAAwRoAAAAAAAMI1gAAAAAAGECwBgAAAADAgCwVrIOCgmQ2m61ffn5+eu2117Rr164nXkubNm00cuTIJ3a8tWvXymw268aNG4bH+uuvvzRo0CAFBATIy8tLAQEB6tOnj833MSgoSL6+voaPlejIkSPq0KGDqlSpIrPZrMjISMXGxmrUqFGqVauWzGazli1blq7HPXbsmMxms/bv3/9Y/bds2SKz2aw33ngjXY5/v0mTJikwMND6Oj3/PQEAAABkbVkqWEuSk5OT1qxZozVr1ujDDz9UTEyM+vbtq19++SWzS8sWzpw5o/bt2+vKlSsaOXKkFi5cqMGDBytnzpw6cOBAhh134sSJio+P1/z587VmzRrlypVLX3/9tb7++mu99957WrNmjVq0aJFhx38coaGhkqQDBw7o8uXLGXqsBg0aaM2aNcqTJ0+GHgcA8GgxMTEaMWKEPDw85OzsLD8/P23ZsuWR+61du1avvvqqypQpIxcXF5nNZg0dOlQRERFJ+pYqVUomkynJV9++fTPgjAAAWU2OzC7gQXZ2dvLx8bG+rlKliurXr6/169eratWqmVdYNvHVV19JkpYuXSpnZ2dr+yuvvKKEhIQMO+6pU6f0+uuvq1atWjZt7u7uat26dYYd93HdunVLO3fuVJ06dfTDDz9o48aN6t69e4Ydz83NTW5ubhk2PgDg8XXr1k0hISF6++23Va5cOS1btkzNmzfXjh07VK9evRT36927tzw8PNS5c2eVKFFCv/32m2bPnq2NGzfql19+sfk9K0k+Pj4aOnSoTVv58uUz5JwAAFlLlrti/aDChQvLzc1NFy5csLZduXJFo0aNUqNGjeTt7a0mTZpoxowZio2NtdnXbDZr4cKFCgoKUp06deTn56dRo0bp9u3bNv1++eUXtW3bVl5eXmrZsmWKS8+/++47tWnTRl5eXqpXr54+/vhjxcTEWLfv379fZrNZ//vf/zR48GD5+vqqQYMG1iulwcHBatCggWrWrKn3338/Sb33a9u2bZJfzpI0bdo01atXT/Hx8cnuFxkZqdy5cyf5ZS/de9PiQSdOnNBrr72mKlWqqGXLlvrf//5ns91sNmvx4sU2bcuWLZPZbLY554iICM2dO1dms1ldunRRYGCglixZoosXL1qX9p87dy7FmsePH6969eqpcuXKatu2rb7//vsk/ebOnau6devK19dXAwYM0PXr15MdLznfffedYmJiNGDAAHl6elr/Te4XGBioDz74wKZt69atSWq/fPmy+vbtqypVqsjf318LFy5MMlZyS8EjIiI0atQo+fn5ydvbWx07dtSPP/742OcAAEi9AwcOaPXq1fr44481bdo09e7dW9u3b1fJkiU1fPjwh+4bEhKiX3/9VR988IHe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6+urcuXK6auvvpKHh4ccHR314osvpnocNzc3tW3bVhMnTtQ///zz0CXLD3J0dFRcXJxNW2I4TQ958+aV2WzWpEmTUuxTqFAhSUry/b927dojx//nn3+sV75r1KiRZHtoaKg1WCd3rg+GXnd392Q/m/pRD1LLmzdvsn2uXbuWYfMHACA5Ozsn+4bxnTt3rNsfx//+9z/17NlTTZs2fejvrEQmk0lDhgzR5s2btXPnTnXu3Dl1hQMAspUstxT8QV5eXmrRooXWrl1rvXJ5584dm2XVkpJ9yvPj8Pb21v79+20eErZ3716bz6jMlSuXKlasqE2bNtns++2330qSqlWrlqZjP4727dsrNDRUISEhat68uVxcXB7aP6Wwefr0aUmPf5U3UZEiRZK8afHDDz+kaoyHqVOnjs6ePSt3d3d5eXkl+UqsoVChQkk+c/RRDwyT7s0Lk8mkOXPmKDg42OarXr161mXiicd58Fz37Nlj89rLy0tRUVHau3evtS0qKuqR35Nq1arp1q1bNk87v3v3rrZu3Zqh8wcAnnVFixZN9tarxDYPD49HjnH48GG1bt1alStXVkhIiHLkeLzrEon3bif3hiwA4OmS5a5YJ6dfv37auHGjli9frmHDhqlOnToKDg7WypUrVapUKX3zzTf6559/0jT2G2+8oc8//1y9evVSr169FBkZqaCgoCRXdQcMGKD+/ftr2LBhat26tf7++2/95z//UdOmTW0eXJbe2rRpo08++UTh4eGP9Q753LlzdezYMbVs2VJly5ZVTEyM9uzZo88//1wvvPCCihUrlqrjN23aVMuXL5eXl5dKly6tb775Jl3vwX7ppZe0evVqde3aVT169FCpUqUUFRWlo0ePKi4uTkOHDrU+zXXSpEkqUKCA6tatqz179mj//v2PHD8sLEzVq1fXCy+8kGTbrVu31K9fP/3www/y9/dX06ZNNX78eM2ePVu+vr7atWuXDh06ZLNPQECAPD099e6772rYsGFydXXVggULlDt37ofW0aBBA3l7e+vdd9/V0KFDVbBgQa1YsUJXrlzRrFmzUvU9AwA8Ph8fH+3YsUORkZE2t2Ul/g552AM2pXsr4l588UW5u7tr48aNj/x5f7/ET59IXHkFAHh6Zfkr1pJUpkwZNW/eXF988YWioqLUv39/tWrVSrNmzdI777yjnDlzavTo0Wka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C232OXjwoLp27SofHx9Vq1ZNQ4cO1fXr163b8+TJoxw5bBdbFClSRG5ubrpy5UqSOlu2bKm9e/fajBEaGqqmTZsmGScoKEi+vr5JxqhevbqCgoKsr3/++Wd16tRJ1apVk6+vr1q1aqV169ZZtye3FPzkyZMaMGCAatasqSpVqqh169YKCwtLciwAAAAgPXXr1k0zZsxQp06dNHPmTNnb22vw4MH64YcfHnuMtWvXau/evcluS0hIUOPGjTV37ly9/PLLCgoK0muvvab//ve/qlOnTrK3ZT5tWAqOZDVs2FCVKlXSnDlztHjx4iTbb926pS5dusjOzk4TJkxQzpw5NW/ePHXu3FnffPONihYtmuy4ffv2VcGCBTVp0iTlzp1bZ86c0aVLl6zbDx48qC5duqh+/fr6z3/+o+joaH366afq16+f1qxZk2K9f//9t65fv67nn38+yTZvb295eHho06ZN6tSpkyIjI/W///1Pixcv1vLly1P9vbl165b69OmjatWqacaMGXJ0dNRff/2lyMjIFPc5ffq0Xn31VRUtWlTvv/++ChUqpD/++EMXLlxI9fEBAACAx3XgwAGtXr1a06ZN07BhwyRJ7dq1U5UqVTR69Gi98MILjxzjzp07Gjp0qEaMGKGxY8cm2b5v3z79+OOPmj17tvr3729tN5vN6tGjh7Zu3aqXX345/U4qCyJYI0VvvfWWBg4cqF9//VXe3t4229auXasLFy5ow4YN1jBbo0YNNWzYUMuXL9fIkSOTjHfjxg2dO3dO77//vvUhaLVq1bLpM336dFWuXFmzZ8+WyWSSJJUvX14tW7bUrl27VL9+/STjWiwWTZw4Ue7u7mrRokWy59KiRQtt2LBBnTp10ubNm+Xm5qYaNWqkKVj//fffioqK0jvvvCOz2SxJql279kP3CQoKkoODg7744gvlzp1bklSnTp1UHxsAAABIjZCQENnb26t3797WNicnJ7Vp00Zz5szR2bNnVbx48YeOMXXqVCUkJGjYsGHJBuvEC0yFCxe2aU+82Obs7Gz0NLI8loIjRY0bN1b58uU1Z86cJNt++uknlStXzuYKcb58+VSnTh39/PPPyY6XP39+FStWTDNmzNC6detsrlRL9x4o9ssvv+jFF19UfHy87t69q7t376pUqVIqWrSofvvtt2THDQoK0r59+zR16tQUH0bWokUL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\" style=\"width: 75%;\">\n    <br>\n    <em>Figure 2: MuLan Similarity Score Comparison</em>\n</div>\n<br>\n\nBesides the most popular FAD and MuLan Similarity, other objective metrics exist in recent literature [13]. The reason for using multiple objective metrics is to evaluate various properties of generated music (e.g., vocal quality and acoustic characteristics).\n","metadata":{}},{"cell_type":"markdown","source":"### Subjective Evaluation\n\nSubjective evaluation metrics can vary from one research to another [13, 18]. During a typical human listening test, generated samples and the actual ground truth music are played to listeners. The listeners are then asked to rate their preference (strong, weak, or neutral) on a 5-point Likert scale. Finally, the total number of “wins” each model achieved is counted to determine the evaluation outcome. Figure 3 below shows the number of wins for different text-to-music models. A higher number indicates better subjective evaluation outcome.\n\n<div style=\"text-align: center;\">\n    <img src=\"data:image/png;base64,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acla84t1egAAAAAAGICADQAAAACAAQjYAAAAAAAYgIANAAAAAIABCNgAAAAAABiAgA0AAAAAgAEI2AAAAAAAGICADQAAAACAAQjYAAAAAAAYgIANAAAAAIABCNgAAAAAABiAgA0AAAAAgAEI2AAAAAAAGICADQAAAACAAQjYAAAAAAAYgIANAAAAAIABCNgAAAAAABiAgA0AAAAAgAEI2AAAAAAAGICADQAAAACAAQjYAAAAAAAYgIANAAAAAIABCNgAAAAAABiAgA0AAAAAgAEI2AAAAAAAGICADQAAAACAAQjYAAAAAAAYgIANAAAAAIABCNgAAAAAABiAgA0AAAAAgAEI2AAAAAAAGICADQAAAACAAQjYAAAAAAAYwN7aBQDpSRZHZ2uXAFgFcx8AACD1CNjAfxISElS+oIe1ywCsxmQyycbGxtplAAAAPLdYIg7858iRI4qJibF2GciAYmJidPTo0XQ/vwjXAAAAqUPABv4TFxcnk8lk7TKQAZlMJsXExDC/AAAAMjgCNgAAAAAABiBgAwAAAABgAAI2AAAAAAAGIGADAAAAAGAAAjYAAAAAAAYgYAMAAAAAYAACNgAAAAAABrAx8WJWAAAAAABSjSvYAAAAAAAYgIANAAAAAIABCNgAAAAAABiAgA0AAAAAgAEI2AAAAAAAGICADQAAAACAAQjYAAAAAAAYgIANAAAAAIABCNgAAAAAABiAgA0AAAAAgAEI2AAAAAAAGICADQAAAACAAQjYeKGdOnVK7dq1k7e3t1555RWNGjVKsbGx1i4L6dxPP/2krl27KiAgQN7e3nr11Ve1bNkymUwmi35Lly5V/fr15eXlpSZNmujXX39NMlZkZKQGDhyoypUry8fHR++//74uX778rE4F6dzt27cVEBAgd3d3/e9//7PYxvzC01qxYoVee+01eXl5qUqVKnrvvfd0584d8/ZffvlFTZo0kZeXl+rXr68ffvghyRixsbH68ssv9corr8jb21vt2rXT6dOnn+VpIB3atGmTmjVrJh8fH/n7++uDDz7Q2bNnk/Tj5xce559//tGnn36qV199VR4eHgoODk62n5Fzaf/+/WrRooXKly+vmjVraurUqUl+t3sSBGy8sG7duqW2bdsqLi5O48ePV69evbRkyRKNHDnS2qUhnZs9e7acnJzUv39/fffddwoICNDgwYM1ceJEc581a9Zo8ODBatiwoaZNmyZvb2/16NFDBw8etBjrww8/1Pbt2/XZZ59p9OjR+uuvv9SxY0fFx8c/47NCejRp0iQlJCQkaWd+4Wl99913+vzzz9WoUSPNmDFDw4YNU6FChczzbO/everRo4e8vb01bdo0NWzYUIMGDdK6dessxgkJCdHSpUvVq1cvjR8/XrGxsXr33XcVGRlpjdNCOrB792716NFDJUuW1MSJEzVw4EAdO3ZM7du3t/gCh59feBInTpzQli1bVLRoUZUoUSLZPkbOpX/++UcdOnRQ7ty5NWXKFLVt21bjxo3TzJkzU168CXhBTZ482eTt7W26ceOGue377783lS1b1hQeHm69wpDuXbt2LUnbJ598YqpYsaIpISHBZDKZTPXq1TP17t3bok+LFi1M7733nvnz/v37TaVLlzZt3brV3Hbq1CmTu7u7ac2aNWlUPZ4XJ0+eNHl7e5sWLVpkKl26tOnw4cPmbcwvPI1Tp06ZPDw8TJs3b35on/bt25tatGhh0da7d29Tw4YNzZ8vXrxoKlu2rOn77783t924ccPk7e1tmjp1qvGF47kwePBgU61atUyJiYnmtp07d5pKly5t2rNnj7mNn194Evd+nzKZTKaPP/7YFBQUlKSPkXNp8ODBppo1a5ru3r1rbvv6669NlSpVsmh7ElzBxgvrt99+k5+fn7Jnz25ua9iwoRITE7V9+3brFYZ0z83NLUlb2bJlFRUVpejoaJ09e1Z///23GjZsaNGnUaNG2rlzp/k2hN9++02urq565ZVXzH2KFy+usmXL6rfffkvbk0C6FxISopYtW6pYsWIW7cwvPK3ly5erUKFCqlGjRrLbY2NjtXv3bjVo0MCivVGjRjp16pTOnTsnSdq2bZsSExMt+mXPnl2vvPIKc+sFFh8fryxZssjGxsbc5uLiIknmZbb8/MKTsrV9dEw1ei799ttvql27thwdHS3GioiI0IEDB1JWe4p6AxnI6dOnVbx4cYs2V1dX5c6dm/vIkGL79u1T3rx5lTVrVvP8eTAYlShRQnFxceb70U6fPq1ixYpZ/DIi/fuDnzn4Ylu3bp2OHz+u7t27J9nG/MLTOnTokEqXLq1JkybJz89P5cqVU8uWLXXo0CFJ0pkzZxQXF5fkv433lmfemzenT59Wzpw5lS1btiT9mFsvrqZNm+rUqVNasGCBIiMjdfbsWY0ZM0YeHh6qWLGiJH5+wThGzqXo6GhdvHgxyc++4sWLy8bGJsVzjoCNF1ZERIRcXV2TtGfLlk23bt2yQkV4Xu3du1dr165V+/btJck8fx6cX/c+39seERFh/nb/fszBF1tMTIxGjhypXr16KWvWrEm2M7/wtK5cuaJt27bpxx9/1JAhQzRx4kTZ2Nioffv2unbtWqrnlqurK3PrBVapUiVNmDBBX3/9tSpVqqQ6dero2rVrmjZtmuzs7CTx8wvGMXIu3Xt2xINjOTo6ysnJKcVzjoANAKkQHh6uXr16qUqVKmrTpo21y0EG8N133ylnzpx64403rF0KMhiTyaTo6Gh9++23atCggWrUqKHvvvtOJpNJ8+fPt3Z5eM7t379f/fr1U/PmzTVnzhx9++23SkxMVKdOnSwecgZkdARsvLBcXV2TfdrprVu3kix7A5ITERGhjh07Knv27Bo/frz5fqF78+fB+RUREWGx3dXVVVFRUUnGZQ6+uM6fP6+ZM2fq/fffV2RkpCIiIhQdHS3p3yVst2/fZn7hqbm6uip79uwqU6aMuS179uzy8PDQyZMnUz23IiIimFsvsJCQEFWtWlX9+/dX1apV1aBBA02dOlVHjx7Vjz/+KIn/PsI4Rs6le1e4HxwrNjZWMTExKZ5zBGy8sJK7jycyMlJXrlxJcg8G8KA7d+6oc+fOioyM1PTp0y2WH92bPw/Or9OnT8vBwUGFCxc29/vrr7+SvGPxr7/+Yg6+oM6dO6e4uDh16tRJL7/8sl5++WV16dJFktSmTRu1a9eO+YWnVrJkyYduu3v3rooUKSIHB4dk55b0/z/bihcvrqtXryZZNpncs03w4jh16pTFlzeSlC9fPuXIkUNnzpyRxH8fYRwj55Kzs7Py58+fZKx7+6V0zhGw8cIKCAjQjh07zN90Sf8+WMjW1tbiSYPAg+Lj4/Xhhx/q9OnTmj59uvLmzWuxvXDhwnrppZeSvDd27dq18vPzMz+hMiAgQLdu3dLOnTvNff766y8dPXpUAQEBaX8iSHfKli2ruXPnWvwZMGCAJGno0KEaMmQI8wtPrWbNmrp586bCwsLMbTdu3NCRI0fk6ekpR0dHValSRevXr7fYb+3atSpRooQKFSokSfL395etra1+/vlnc59bt25p27ZtzK0XWIECBXT06FGLtvPnz+vGjRsqWLCgJP77COMYPZcCAgK0adMmxcXFWYzl6uoqHx+fFNVm/zQnBGQELVu21Lx589S9e3d17txZly5d0qhRo9SyZcskgQm439ChQ/Xrr7+qf//+ioqK0sGDB83bPDw85OjoqJ49e6pv374qUqSIqlSporVr1+rw4cMW9zn6+PjI399fAwcO1Mcff6xMmTJp7Nixcnd3V7169axwZrA2V1dXValSJdltnp6e8vT0lCTmF55KnTp15OXlpffff1+9evVSpkyZNHXqVDk6OqpVq1aSpK5du6pNmzb67LPP1LBhQ+3evVuhoaEaO3aseZx8+fLpzTff1KhRo2Rra6u8efNqypQpcnFxUcuWLa11erCyli1b6osvvlBISIhq1aqlmzdvmp8pcf+rlPj5hScRExOjLVu2SPr3i5qoqChzmK5cubLc3NwMnUsdOnTQ6tWr1adPH7311ls6fvy4ZsyYoV69elm8uutJ2JgevF4OvEBOnTqlzz//XAcOHFCWLFn06quvPtU/JLxYatWqpfPnzye7bdOmTearPEuXLtW0adN04cIFFStWTL1791bNmjUt+kdGRmrEiBHasGGD4uPj5e/vr08++YQveWC2e/dutWnTRsuWLZOXl5e5nfmFp3H9+nWNGDFCv/76q+Li4lSpUiUNGDDAYvn4pk2b9M033+ivv/5SgQIF1KlTJ7355psW48TGxmrs2LH68ccfdfv2bVWsWFGffPKJ+ZVeePGYTCZ9//33WrRokc6ePassWbLI29tbvXr1SjIv+PmFxzl37pxq166d7La5c+eav4w2ci7t379fI0eOVFhYmNzc3PT222+rY8eOSV7x9TgEbAAAAAAADMA92AAAAAAAGICADQAAAACAAQjYAAAAAAAYgIANAAAAAIABCNgAAAAAABiAgA0AAAAAgAEI2AAAAAAAGICADQAAAACAAQjYAADgubF79265u7tr9+7dz/zYhw8fVrly5XT+/PlUjRMXF6caNWpowYIFBlUGAEgvCNgAAOCZWLt2rdzd3bVhw4Yk25o0aSJ3d3ft2rUrybbAwEC1bNnyWZT4SGPHjlVQUJAKFiz40D6xsbGaO3eubt68+dA+Dg4OateunSZPnqy7d++mQaUAAGshYAMAgGfC19dXkrRv3z6L9qioKJ04cUL29vbav3+/xbaLFy/q4sWLqlixoiTp5Zdf1uHDh/Xyyy8/m6L/ExYWph07djwy6MfGxqpnz54aPny42rdvr8jIyIf2bdq0qW7cuKHVq1enRbkAACshYAMAgGcib968KlSoUJKAfeDAAZlMJjVo0CDJtnuf74VzW1tbZcqUSba2z/ZXmB9++EEFChSQt7d3stvj4uL0wQcfaMuWLZKko0eP6r333lNUVFSy/V1dXeXv768VK1akVckAACsgYAMAgGfG19dXYWFhunPnjrlt//79KlWqlKpXr65Dhw4pMTHRYpuNjY35CnZy92C3bt1awcHBOnnypFq3bq0KFSqoevXqmjZtWpLjz5s3T0FBQapQoYJefvllNW3a9ImuIm/atElVq1aVjY1Nstv79eunbdu26dNPPzV/PnXqlLp06aKEhIRk96lWrZr27dv3yOXkAIDnCwEbAAA8M76+voqLi9OhQ4fMbfv375ePj48qVqyoyMhIHT9+3GJb8eLFlSNHjkeOe+vWLb333nsqU6aMPv74YxUvXlyjR482X1GWpCVLligkJEQlSpTQwIED1bNnT5UtW9ailuRcunRJFy5ckIeHx0P71KlTR+PGjVNAQIAkydPTU9OnT1eDBg1kZ2eX7D6enp4ymUw6cODAI48PAHh+2Fu7AAAA8OK4/z7sKlWqKD4+XocPH9brr7+uIkWKKFeuXNq3b5/KlCmjqKgoHT9+XG+88cZjx718+bK+/PJLvfbaa5KkN998U7Vq1dIPP/ygGjVqSJI2b96sUqVKady4cSmq+fTp05KkQoUKPbRPUFCQJOncuXPmNm9v74cuKZekwoULS5JOnjypmjVrpqgmAED6xBVsAADwzJQoUULZs2c331t97NgxRUdHy8fHR5Lk4+NjftDZwYMHlZCQYA7lj+Ls7KxXX33V/NnR0VFeXl46e/asuc3V1VXh4eE6fPhwimq+ceOGeX8jZcuWzWJ8AMDzj4ANAACeGRsbG/n4+Jjvtd6/f79y5sypokWLSvo3YN9bMn0vaD9JwM6XL1+S+6OzZcumW7dumT937NhRzs7OatasmerVq6ehQ4cmeajao5hMpifum5LxHnZfNwDg+UPABgAAz5Svr6/5Xut791/f4+Pjo/Pnz+vSpUvat2+f8uTJY15K/SgPu8/5fiVKlNC6des0duxY+fr66ueff1arVq0eu2T83v3fERERjz1GStwL/4+7vxwA8PwgYAMAgGfq/vuw9+/fb35CuCSVK1dOjo6O2r17tw4fPmyxzQjOzs5q1KiRRowYoV9//VWBgYGaPHmy7t69+9B9ihcvLsny/moj3BuvRIkSho4LALAeAjYAAHimypUrp0yZMmn16tW6dOmSxRVsR0dHeXp6auHChYqOjn6i5eFP6sF7nR0dHVWiRAmZTCbFxcU9dL+8efMqf/78+uOPPwyrRZKOHDkiGxubRz4IDQDwfOEp4gAA4Jm69wCyvXv3ytHRUeXKlbPY7uPjo5kzZ0p6svuvn1SHDh2UK1cuVaxYUTlz5tTp06c1f/581ahRQ1mzZn3kvrVr19aGDRtkMpkMu2d6x44dqlixIkvEASAD4Qo2AAB45u4FZ09PTzk6Olpsu7csPEuWLCpTpoxhx2zRooWio6M1a9YsDRs2TBs3blTr1q01evTox+77xhtvmO8LN0JkZKS2bdum119/3ZDxAADpg43J6EdiAgAAZEBt27ZVnjx59NVXX6V6rNmzZ2v69OnauHGjMmfObEB1AID0gCvYAAAAT6B379766aefdP78+VSNExcXp9mzZ6tr166EawDIYLiCDQAAAACAAbiCDQAAAACAAQjYAAAAAAAYgIANAAAAAIABCNgAAAAAABiAgA0AAAAAgAEI2AAAAAAAGICADQAAAACAAQjYAAAAAAAYgIANAAAAAIABCNgAAAAAABiAgA0AAAAAgAH+D84i2cNwgDx+AAAAAElFTkSuQmCC\" style=\"width: 75%;\">\n    <br>\n    <em>Figure 3: Number of Wins</em>\n</div>","metadata":{}},{"cell_type":"markdown","source":"## Broader Impact\n\n### Risks and Responsible Model Development Practices\n\nLarge-scale generative models come with their share of ethical hurdles. Such models learn to mimic patterns, and in the process, they can adopt the biases present in the training data. These biases can be hard to detect and, in the context of music generation, can give rise to offensive language, either through learned associations or by chance. As a consequence, the models might produce mock accents or other linguistic harms in vocals [18].\n\n\nAlso, the data that the generative models are trained on is reflective of the unequal recording and digitization of samples from global musical cultures. In other words, the limited corpus of samples contributes to an unbalanced training corpus [18, 19]. Even more so, the categorization and labeling of music can oversimplify genres, particularly when the categories are assigned and labels are created with no input from the communities they represent [18]. This brings up questions about the appropriateness of AI-generated music for underrepresented cultures as well as concerns about cultural appropriation [13]. It is important to remember that appreciating the fine details in musical traditions needs a trained ear and cultural insight. What sounds “authentic” to an outsider might not resonate the same within the community itself [18].\n\nTo enhance generative models, metrics such as originality and generation diversity should be considered. That is, AI for music generation should mimic the intended style but should not copy them exactly [26]. In accordance with responsible model development practices, the experts behind MusicLM conducted a substantial study of memorization, finding that few examples are exact while 1 in 100 is an approximate match [13]. The Noise2Music team built duplication checks in the current pipeline of producing and releasing samples, while MusicGEN authors hope that the model simplification can help broaden the applications to more diverse datasets [18, 3]. \n\n### Creative Community and Realistic Usage Efforts\n\nAll examined research shares a common goal — developing tools that assist in creative music endeavors. Some underscore the value of collaboration with musicians and stakeholders to foster meaningful co-creation [18], while others strive to make creative expression accessible to everyone with fast models that can operate on a single consumer GPU [9]. More intricate controls, such as MusicGEN’s melody conditioning or MeLoDy’s interactive creation, can strengthen the potential of these co-creation tools further [3, 19]. Still, it is worth noting that generative models can provide unfair competition for artists. Therefore, promoting legally protected data and open research will contribute to a more fair and equal process [3]. \n\nThe potential of text-conditioned music generation is evident in the reviewed work. Still, the path to improvement is multifold: enhancing model interpretability, improving text-audio alignment, and reducing training and inference costs, to name a few. One obvious potential for quality improvement lies in scaling up data and model size [9]. Another less obvious opportunity is in expanding these models to complete or modify music samples, as was previously achieved with images [27]. To fuel future research, authors share datasets like MuLaMCap and MusicCaps and invite more work in this niche of generative artificial intelligence [18, 13].\n\n","metadata":{}},{"cell_type":"markdown","source":"# Conclusion\n\nThe year 2023 marked a significant leap in text-conditioned, non-symbolic music generation. Advanced models such as MusicLM, Moûsai, Noise2Music, MeLoDy, and MusicGEN have come to demonstrate the potential of AI in generating high-fidelity music. Despite their individual strengths and different methodologies, all models share the common goal of advancing the field and pushing the boundaries of music generation using AI. These advances spotlight the critical role of evaluation within generative model development. Crafting an ideal music evaluation metric remains a challenge, given the multifaceted nature of music and the inherent subjectivity of its perception. Despite this, objective tools like FAD and MuLan Similarity — alongside subjective human listening tests — offer valuable performance metrics. \n\nIn the compelling world of AI music generation, we must not overlook the ethical implications surrounding large-scale generative models. Elusive biases and unbalanced representation in training data can raise concerns such as offensive content generation and cultural misrepresentation. To address these concerns, researchers implement responsible development practices and advocate for originality and diversity in AI-generated music. The models reviewed in this essay are developed not only with technical proficiency but also with an understanding that these tools are meant to assist humans in creative endeavors. As we look to the future, it is important to remember that music is not merely an integral part of the human condition — echoing the words of Oliver Sacks from the beginning of the essay — but also that the creation of music is deeply rooted in the human condition.\n\nThe symphony between human- and AI-created music continues. Its rhythm is ours to define.","metadata":{}},{"cell_type":"markdown","source":"# Works cited\n\n[1] Why the Brain Loves Music, Dr. Oliver Sacks, Columbia University, (Oct. 01, 2018). Accessed: Jul. 02, 2023. [Online Video]. Available: https://www.youtube.com/watch?v=KWTRQhF70k0\n\n[2] https://www.copyright.gov/prereg/music.html (accessed Jun. 26, 2023).\n\n[3] J. Copet et al., ‘Simple and Controllable Music Generation’. arXiv, Jun. 08, 2023. doi: 10.48550/arXiv.2306.05284.\n\n[4] S. V. Norman-Haignere, N. Kanwisher, J. H. McDermott, and B. R. Conway, ‘Divergence in the functional organization of human and macaque auditory cortex revealed by fMRI responses to harmonic tones’, Nat Neurosci, vol. 22, no. 7, pp. 1057–1060, Jul. 2019, doi: 10.1038/s41593-019-0410-7.\n\n[5] E. Fedorenko, J. H. McDermott, S. Norman-Haignere, and N. Kanwisher, ‘Sensitivity to musical structure in the human brain’, J Neurophysiol, vol. 108, no. 12, pp. 3289–3300, Dec. 2012, doi: 10.1152/jn.00209.2012.\n\n[6] L. A. Hiller and L. M. Isaacson, Experimental Music: Composition with an Electronic Computer. New York: McGraw-Hill, 1959.\n\n[7] A. Roberts, J. Engel, C. Raffel, C. Hawthorne, and D. Eck, ‘A Hierarchical Latent Vector Model for Learning Long-Term Structure in Music’. arXiv, Nov. 11, 2019. doi: 10.48550/arXiv.1803.05428.\n\n[8] P. Dhariwal, H. Jun, C. Payne, J. W. Kim, A. Radford, and I. Sutskever, ‘Jukebox: A Generative Model for Music’. arXiv, Apr. 30, 2020. doi: 10.48550/arXiv.2005.00341.\n\n[9] F. Schneider, Z. Jin, and B. Schölkopf, ‘Moûsai: Text-to-Music Generation with Long-Context Latent Diffusion’. arXiv, Jan. 30, 2023. doi: 10.48550/arXiv.2301.11757.\n\n[10] D. Yang et al., ‘Diffsound: Discrete Diffusion Model for Text-to-sound Generation’. arXiv, Apr. 28, 2023. doi: 10.48550/arXiv.2207.09983.\n\n[11] R. Rombach, A. Blattmann, D. Lorenz, P. Esser, and B. Ommer, ‘High-Resolution Image Synthesis with Latent Diffusion Models’. arXiv, Apr. 13, 2022. doi: 10.48550/arXiv.2112.10752.\n\n[12] A. Ramesh et al., ‘Zero-Shot Text-to-Image Generation’. arXiv, Feb. 26, 2021. doi: 10.48550/arXiv.2102.12092.\n\n[13] A. Agostinelli et al., ‘MusicLM: Generating Music From Text’. arXiv, Jan. 26, 2023. doi: 10.48550/arXiv.2301.11325.\n\n[14] Z. Borsos et al., ‘AudioLM: a Language Modeling Approach to Audio Generation’. arXiv, Sep. 07, 2022. doi: 10.48550/arXiv.2209.03143.\n\n[15] Y.-A. Chung et al., ‘W2v-BERT: Combining Contrastive Learning and Masked Language Modeling for Self-Supervised Speech Pre-Training’. arXiv, Sep. 13, 2021. doi: 10.48550/arXiv.2108.06209.\n\n[16] Q. Huang, A. Jansen, J. Lee, R. Ganti, J. Y. Li, and D. P. W. Ellis, ‘MuLan: A Joint Embedding of Music Audio and Natural Language’. arXiv, Aug. 25, 2022. doi: 10.48550/arXiv.2208.12415. \n\n[17] N. Zeghidour, A. Luebs, A. Omran, J. Skoglund, and M. Tagliasacchi, ‘SoundStream: An End-to-End Neural Audio Codec’. arXiv, Jul. 07, 2021. doi: 10.48550/arXiv.2107.03312.\n\n[18] Q. Huang et al., ‘Noise2Music: Text-conditioned Music Generation with Diffusion Models’. arXiv, Mar. 06, 2023. doi: 10.48550/arXiv.2302.03917.\n\n[19] M. W. Y. Lam et al., ‘Efficient Neural Music Generation’. arXiv, May 25, 2023. doi: 10.48550/arXiv.2305.15719.\n\n[20] Anmol Gulati, James Qin, Chung-Cheng Chiu, Niki Parmar, Yu Zhang, Jiahui Yu, Wei Han, Shibo Wang, Zhengdong Zhang, Yonghui Wu, et al. Conformer: Convolution-augmented transformer for speech recognition. arXiv preprint arXiv:2005.08100, 2020.\n\n[21] A. Baevski, Y. Zhou, A. Mohamed, and M. Auli, ‘wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representations’, in Advances in Neural Information Processing Systems, Curran Associates, Inc., 2020, pp. 12449–12460. Accessed: Jul. 04, 2023. [Online]. Available: https://proceedings.neurips.cc/paper/2020/hash/92d1e1eb1cd6f9fba3227870bb6d7f07-Abstract.html\n\n[22] A. Défossez, J. Copet, G. Synnaeve, and Y. Adi, ‘High Fidelity Neural Audio Compression’. arXiv, Oct. 24, 2022. doi: 10.48550/arXiv.2210.13438.\n\n[23] K. Kilgour, M. Zuluaga, D. Roblek, and M. Sharifi, ‘Fréchet Audio Distance: A Metric for Evaluating Music Enhancement Algorithms’. arXiv, Jan. 17, 2019. doi: 10.48550/arXiv.1812.08466.\n\n[24] ‘Riffusion’. https://www.riffusion.com/about (accessed Jul. 02, 2023).\n\n[25] ‘Mubert-Text-to-Music’. https://github.com/MubertAI/Mubert-Text-to-Music (accessed Jul. 02, 2023).\n\n[26] Z. Yin, F. Reuben, S. Stepney, and T. Collins, ‘Measuring When a Music Generation Algorithm Copies Too Much: The Originality Report, Cardinality Score, and Symbolic Fingerprinting by Geometric Hashing’, SN COMPUT. SCI., vol. 3, no. 5, p. 340, Jun. 2022, doi: 10.1007/s42979-022-01220-y.\n\n[27] C. Saharia et al., ‘Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding’. arXiv, May 23, 2022. doi: 10.48550/arXiv.2205.11487.","metadata":{}},{"cell_type":"code","source":"import pandas as pd\nsubmission=pd.read_csv(\"/kaggle/input/2023-kaggle-ai-report/sample_submission.csv\")\nsubmission.head()\n\nsubmission.loc[0]['value']='Generative AI'\nsubmission.loc[1]['value']='https://www.kaggle.com/code/realsleim/the-state-of-text-conditioned-music-generation/'\nsubmission.loc[2]['value']='https://www.kaggle.com/code/amosii/artificial-intelligence-a-digital-renaissance'\nsubmission.loc[3]['value']='https://www.kaggle.com/code/mahadevan39/the-generative-leap/notebook'\nsubmission.loc[4]['value']='https://www.kaggle.com/code/pandoraalias/unleashing-creativity-on-gen-ai'\nsubmission.head()\n\nsubmission.to_csv('submission.csv',index=False)","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2023-07-04T22:35:22.106746Z","iopub.execute_input":"2023-07-04T22:35:22.107266Z","iopub.status.idle":"2023-07-04T22:35:22.150368Z","shell.execute_reply.started":"2023-07-04T22:35:22.107227Z","shell.execute_reply":"2023-07-04T22:35:22.149443Z"},"trusted":true},"execution_count":null,"outputs":[]}]}