Прога для сканирования музыки

Обсуждение проектов наших жителей.
Вы можете выставить проект на тест или найти помощников для его реализации.

Модератор: BV

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Прога для сканирования музыки

Сообщение t116 » 21.07.2007 (Сб) 2:23

Привет.

Начал писать программу для анализа стилей музыки, находящейся на компьютере.

Принцип: программа ищет музыкальные файлы формата mp3 и ogg, читает их TAG-информацию, а именно жанр/стиль каждого трека, после чего выводит в listbox сколько треков (количество и процент от общего числа) и в каком стиле есть у меня на диске.

http://networkmeter.pp.net.ua/genrescanner.rar

PS. Движок для чтения TAG-информации самодельный, по этому вопрос: можно его оформить и выложить в качестве кирпича для чтения тегов музыкальных файлов?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 21.07.2007 (Сб) 2:56

PS. Движок для чтения TAG-информации самодельный, по этому вопрос: можно его оформить и выложить в качестве кирпича для чтения тегов музыкальных файлов?


Конечено можно! Только сделать его нужно качественным, по-максимуму безглючным, и снабдить докуметнацией. :)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Сообщение t116 » 21.07.2007 (Сб) 3:06

Ноу проблемс.

А как насчет самой программы?
Я хочу добавить графическое представление о обнаруженых стилях в виде "пирога", но незнаю, для этого есть контрол специальный или самому рисовать?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 21.07.2007 (Сб) 3:07

t116
есть контрол. MsChart. Но я бы сам рисовал.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Прога для сканирования музыки

Сообщение alibek » 23.07.2007 (Пн) 8:21

t116 писал(а):PS. Движок для чтения TAG-информации самодельный, по этому вопрос: можно его оформить и выложить в качестве кирпича для чтения тегов музыкальных файлов?

Какие версии поддерживаются?
IDv2 поддерживается?
Lasciate ogni speranza, voi ch'entrate.

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Re: Прога для сканирования музыки

Сообщение t116 » 23.07.2007 (Пн) 10:43

alibek писал(а):
t116 писал(а):PS. Движок для чтения TAG-информации самодельный, по этому вопрос: можно его оформить и выложить в качестве кирпича для чтения тегов музыкальных файлов?

Какие версии поддерживаются?
IDv2 поддерживается?


Да

--=GAMER=--
Фиолетовый бот
Фиолетовый бот
Аватара пользователя
 
Сообщения: 810
Зарегистрирован: 22.03.2004 (Пн) 11:29
Откуда: Владивосток

Сообщение --=GAMER=-- » 23.07.2007 (Пн) 12:21

Хм... Кирпич - это Гуд, но по стилям музыки мне и родной WMP свободно разделит....


*777 мессага =)
В темноте слепец — самый надежный проводник. В эпоху безумия пусть тебя ведет сумасшедший.

rRenderer Engine
VB Wiki

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Сообщение t116 » 23.07.2007 (Пн) 12:35

--=GAMER=-- писал(а):Хм... Кирпич - это Гуд, но по стилям музыки мне и родной WMP свободно разделит....


*777 мессага =)


Смысл проги не в том, чтобы разделить весь музон по стилям, а чтобы узнать в процентном соотношении чего больше, а чего - меньше. Еще график будет в виде "пирога".

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Сообщение t116 » 23.07.2007 (Пн) 12:50

Но у меня есть небольшая проблемка. Теги в IDv2 (MP3) и в OGG сохранены в Unicode. Для преобразования в ANSI использую свой (топорный) алгоритм. Если ли способ преобразовать текст как-нибудь поприличнее?

Функция StrConv мне не помогла, даже если объявить переменную в виде массива из byte. Но может я не правильно ее использую...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.07.2007 (Пн) 12:55

t116, а ты знаешь, что все строки в VB -- unicode?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Сообщение t116 » 23.07.2007 (Пн) 13:15

GSerg писал(а):t116, а ты знаешь, что все строки в VB -- unicode?


Вот именно, что знаю, но тот Unicode, в котором записаны Теги отличается от юникода VB. %)

В тегах вот такие байты:
Код: Выделить всё
D0 90 D0 91 D0 92 D0 93 D0 94

что соответствует
Код: Выделить всё
А Б В Г Д


а в VB эта строка из русских букв выглядит вот так:
Код: Выделить всё
10 04 11 04 12 04 13 04 14 04
Последний раз редактировалось t116 23.07.2007 (Пн) 13:36, всего редактировалось 2 раз(а).

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 23.07.2007 (Пн) 13:28

На самом деле, в тегах даже еще запутаннее. Там может быть и юникод (прямой и перевернутый) и UTF.
Lasciate ogni speranza, voi ch'entrate.

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Сообщение t116 » 23.07.2007 (Пн) 13:34

У меня дома около 6К музыкальных файлов, и везде либо ANSI либо Unicode. Тегов с другими кодировками пока не встречал.

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Сообщение t116 » 23.07.2007 (Пн) 17:17

Ну... с прямым юникодом я вроде как разобрался, а чем отличается перевернутый юникод от прямого?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.07.2007 (Пн) 17:25

Порядком байтов в символе.
Изображение

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Сообщение t116 » 23.07.2007 (Пн) 17:32

Ясно, сенкс! :D

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Сообщение t116 » 23.07.2007 (Пн) 17:45

Ясно... да не совсем все.

Есть некая последовательность букв "АБВГД"

Их коды в ANSI:
C0, C1, C2, C3, C4

Их коды в Unicode:
10 04, 11 04, 12 04, 13 04, 14 04

Их коды в музыкальных тегах: (неизвестно)
D0 90, D0 91, D0 92, D0 93, D0 94

Что может быть это последнее? Код в тегах не похож ни на прямой Unicode ни на обратный.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.07.2007 (Пн) 17:47

UTF8
Изображение

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Re: Прога для сканирования музыки

Сообщение BV » 06.08.2007 (Пн) 18:57

t116 писал(а):PS. Движок для чтения TAG-информации самодельный


А как он поддерживает ASF?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Re: Прога для сканирования музыки

Сообщение t116 » 06.08.2007 (Пн) 23:51

BV писал(а):
t116 писал(а):PS. Движок для чтения TAG-информации самодельный


А как он поддерживает ASF?


Не знаком с таким форматом.
Он поддерживает MP3 (две версии) и OGG.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Re: Прога для сканирования музыки

Сообщение BV » 14.08.2007 (Вт) 13:11

t116 писал(а):Не знаком с таким форматом.


Знакомьтесь: Google
В частности: http://msdn2.microsoft.com/en-US/library/bb530116.aspx
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Watts[]n!
Постоялец
Постоялец
 
Сообщения: 573
Зарегистрирован: 11.02.2007 (Вс) 0:19

Сообщение Watts[]n! » 14.08.2007 (Вт) 23:42

Сабжевая программа, к сожалению, находит не все файлы определенного стиля.

Проверял несколько раз :) А может быть, из-за того, что Мр3-шек много? :)

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Сообщение t116 » 15.08.2007 (Ср) 0:04

Неа. Просто, как я недавно понял, список стилей у программы устарелый, а нового пока не нашел.

В многих треках, не важно какой версии у ниг ТЕГ, вместо самого стиля часто указывается индекс стиля. Это бывает в том случае, если стиль трека есть в списке стандартных стилей mp3. По этому если, например, стиль имеет индекс выше 80-ти, то программа определяет его как неизвестный. С ОГГ в этом деле все намного проще. Там нет никаких индексов.

Watts[]n!
Постоялец
Постоялец
 
Сообщения: 573
Зарегистрирован: 11.02.2007 (Вс) 0:19

Сообщение Watts[]n! » 15.08.2007 (Ср) 0:17

Может быть, из-за того, что не совпадают поля в тегах версии ID3v1 и ID3v2?
И кто сейчас, скажите, OGG использует (кроме гейм-девелоперофф) ?

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Сообщение t116 » 15.08.2007 (Ср) 2:18

И кто сейчас, скажите, OGG использует (кроме гейм-девелоперофф) ?

Я, однажды, перевел всю свою музыку в OGG и был очень доволен и качеством и тем, что музыка стала занимать меньше места т.к. качество с битрейтом 128кбит было на много лучше чем мп3 с таким же битрейтом (сам тестил). Но после появления у меня mp3-плеера пришлось преобразовывать всю музыку обратно в mp3. :( Сказать чесно, не хотел этого делать, но... плеер не понимал ogg. :(

Может быть, из-за того, что не совпадают поля в тегах версии ID3v1 и ID3v2?

Нет. Программа читает в первую очередь ID3v2. Если такового нет, то читает v1.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 15.08.2007 (Ср) 9:42

плеер не понимал ogg

Фтопку такой плеер.
Изображение

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Сообщение t116 » 15.08.2007 (Ср) 11:12

keks-n писал(а):
плеер не понимал ogg

Фтопку такой плеер.


Имеется в виду портативный flash-плеер :)

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 15.08.2007 (Ср) 12:32

Портативный-не портативный, а большинство форматов кроме экзотических понимать должен.
Изображение

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 15.08.2007 (Ср) 12:55

Кому должен? Называется "mp3-плеер", значит проигрывает mp3 - а остальное опционально.

Watts[]n!
Постоялец
Постоялец
 
Сообщения: 573
Зарегистрирован: 11.02.2007 (Вс) 0:19

Сообщение Watts[]n! » 16.08.2007 (Чт) 21:49

Даешь прошивку плейеров! :)
Был у меня MSI MEGA, на жестком диске, так там заменой одного файла через компьютер можно было добавлять поддержку других яорматов.

След.

Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

    TopList