<p>What's a quick and easy way to view and edit ID3 tags (artist, album, etc.) using C#?</p>

[{'answer_id': 68306, 'author': 'tslocum', 'author_id': 1662, 'author_profile': 'https://Stackoverflow.com/users/1662', 'pm_score': 4, 'selected': False, 'text': '<p><a href="http://www.novell.com/products/linuxpackages/opensuse11.1/taglib-sharp.html" rel="noreferrer">TagLib Sharp</a> has support for reading ID3 tags.</p>\n'}, {'answer_id': 68407, 'author': 'mmcdole', 'author_id': 2635, 'author_profile': 'https://Stackoverflow.com/users/2635', 'pm_score': 6, 'selected': False, 'text': '<p><a href="http://www.novell.com/products/linuxpackages/opensuse11.1/taglib-sharp.html" rel="noreferrer">TagLib Sharp</a> is pretty popular.</p>\n\n<p>As a side note, if you wanted to take a quick and dirty peek at doing it yourself.. here is a C# snippet I found to read an mp3\'s tag info.</p>\n\n<pre><code>class MusicID3Tag\n\n{\n\n    public byte[] TAGID = new byte[3];      //  3\n    public byte[] Title = new byte[30];     //  30\n    public byte[] Artist = new byte[30];    //  30 \n    public byte[] Album = new byte[30];     //  30 \n    public byte[] Year = new byte[4];       //  4 \n    public byte[] Comment = new byte[30];   //  30 \n    public byte[] Genre = new byte[1];      //  1\n\n}\n\nstring filePath = @"C:\\Documents and Settings\\All Users\\Documents\\My Music\\Sample Music\\041105.mp3";\n\n        using (FileStream fs = File.OpenRead(filePath))\n        {\n            if (fs.Length &gt;= 128)\n            {\n                MusicID3Tag tag = new MusicID3Tag();\n                fs.Seek(-128, SeekOrigin.End);\n                fs.Read(tag.TAGID, 0, tag.TAGID.Length);\n                fs.Read(tag.Title, 0, tag.Title.Length);\n                fs.Read(tag.Artist, 0, tag.Artist.Length);\n                fs.Read(tag.Album, 0, tag.Album.Length);\n                fs.Read(tag.Year, 0, tag.Year.Length);\n                fs.Read(tag.Comment, 0, tag.Comment.Length);\n                fs.Read(tag.Genre, 0, tag.Genre.Length);\n                string theTAGID = Encoding.Default.GetString(tag.TAGID);\n\n                if (theTAGID.Equals("TAG"))\n                {\n                    string Title = Encoding.Default.GetString(tag.Title);\n                    string Artist = Encoding.Default.GetString(tag.Artist);\n                    string Album = Encoding.Default.GetString(tag.Album);\n                    string Year = Encoding.Default.GetString(tag.Year);\n                    string Comment = Encoding.Default.GetString(tag.Comment);\n                    string Genre = Encoding.Default.GetString(tag.Genre);\n\n                    Console.WriteLine(Title);\n                    Console.WriteLine(Artist);\n                    Console.WriteLine(Album);\n                    Console.WriteLine(Year);\n                    Console.WriteLine(Comment);\n                    Console.WriteLine(Genre);\n                    Console.WriteLine();\n                }\n            }\n        }\n</code></pre>\n'}, {'answer_id': 281381, 'author': 'Matt', 'author_id': 12747, 'author_profile': 'https://Stackoverflow.com/users/12747', 'pm_score': 5, 'selected': False, 'text': '<p><s><a href="http://UltraID3Lib.com" rel="nofollow noreferrer">UltraID3Lib</a>...</s></p>\n\n<p>Be aware that UltraID3Lib is no longer officially available, and thus no longer maintained. See comments below for the link to a Github project that includes this library</p>\n\n<pre><code>//using HundredMilesSoftware.UltraID3Lib;\nUltraID3 u = new UltraID3();\nu.Read(@"C:\\mp3\\song.mp3");\n//view\nConsole.WriteLine(u.Artist);\n//edit\nu.Artist = "New Artist";\nu.Write();\n</code></pre>\n'}, {'answer_id': 281413, 'author': 'Luke', 'author_id': 261917, 'author_profile': 'https://Stackoverflow.com/users/261917', 'pm_score': 9, 'selected': True, 'text': '<p>Thirding <a href="https://github.com/mono/taglib-sharp" rel="noreferrer">TagLib Sharp</a>.</p>\n\n<pre><code>TagLib.File f = TagLib.File.Create(path);\nf.Tag.Album = "New Album Title";\nf.Save();\n</code></pre>\n'}, {'answer_id': 3560409, 'author': 'Daniel Mošmondor', 'author_id': 166251, 'author_profile': 'https://Stackoverflow.com/users/166251', 'pm_score': 2, 'selected': False, 'text': '<p>I wrapped mp3 decoder library and made it available for .net developers.  You can find it here:</p>\n\n<p><a href="http://sourceforge.net/projects/mpg123net/" rel="nofollow noreferrer">http://sourceforge.net/projects/mpg123net/</a></p>\n\n<p>Included are the samples to convert mp3 file to PCM, and read ID3 tags.</p>\n'}, {'answer_id': 26444188, 'author': '0x8BADF00D', 'author_id': 3436418, 'author_profile': 'https://Stackoverflow.com/users/3436418', 'pm_score': 2, 'selected': False, 'text': '<p><a href="http://id3.codeplex.com/" rel="nofollow">ID3.NET</a> implemented ID3v1.x and ID3v2.3 and supports read/write operations on the ID3 section in MP3 files.\nThere\'s also a <a href="https://www.nuget.org/packages/ID3/" rel="nofollow">NuGet package</a> available.</p>\n'}]
['https://Stackoverflow.com/questions/68283', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/10606/']