Решение на Изберете си проект от Васил Николов

Обратно към всички решения

Към профила на Васил Николов

Код

"Добър ден,"
"Като за проект, бих желал да си направя кодче което да хваща някакъв аудиофайл и да попълва липсваща или преправя грешна информация в него."
"Като цяло не съм правил подробни проучвания, тъй като не съм запознат много много с принципите на програмиране. Питона ми е сефте в програмирането."
"Беглата идея как да направя горепосоченото е да си направя код който да отваря файла да достига до логично заключение коя информация в него е най-адекватна и да я извлича. След това с въпросната информация да влиза в един или няколко сайта и да прави заключения какво да вземе като информация от там и да го лепне на файла."
"С това знанията ми приключват. Типа на кода ми се вижда доста плаващ, тоест че може спокойно варираме сложността му добавяйки още бази за сравнение и правейки логиката му по-чиста и точна."
"Притеснява ме, че реално незнам какво да очаквам. Знам че да отворя файл и да правя правя кода си да има преценки е нещо което ще постигна, но достъпа до интернет ме притеснява. Знам че това трябва да се случва с API-та, но това е всичко което знам за тях и същевременно това ли е единствения начин?"
"Надявам тази идея да си улесня личното ежедневие да пасва за проект. Бих желал да ме насочите мъничко, тъй като нямам никакъв реален опит в програмирането и немога да преценя сложносста на възможните решения на нещо като горепосоченото. Смятате ли че ще е одачно или твърде сложно/просто и къде бих могъл да срещна някакви затруднения?"

История (1 версия и 4 коментара)

Васил обнови решението на 21.04.2015 09:12 (преди над 4 години)

+"Добър ден,"
+
+"Като за проект, бих желал да си направя кодче което да хваща някакъв аудиофайл и да попълва липсваща или преправя грешна информация в него."
+
+"Като цяло не съм правил подробни проучвания, тъй като не съм запознат много много с принципите на програмиране. Питона ми е сефте в програмирането."
+"Беглата идея как да направя горепосоченото е да си направя код който да отваря файла да достига до логично заключение коя информация в него е най-адекватна и да я извлича. След това с въпросната информация да влиза в един или няколко сайта и да прави заключения какво да вземе като информация от там и да го лепне на файла."
+"С това знанията ми приключват. Типа на кода ми се вижда доста плаващ, тоест че може спокойно варираме сложността му добавяйки още бази за сравнение и правейки логиката му по-чиста и точна."
+
+"Притеснява ме, че реално незнам какво да очаквам. Знам че да отворя файл и да правя правя кода си да има преценки е нещо което ще постигна, но достъпа до интернет ме притеснява. Знам че това трябва да се случва с API-та, но това е всичко което знам за тях и същевременно това ли е единствения начин?"
+
+"Надявам тази идея да си улесня личното ежедневие да пасва за проект. Бих желал да ме насочите мъничко, тъй като нямам никакъв реален опит в програмирането и немога да преценя сложносста на възможните решения на нещо като горепосоченото. Смятате ли че ще е одачно или твърде сложно/просто и къде бих могъл да срещна някакви затруднения?"

Здрасти!

Идеята ти за проект ми харесва. Сега ще се опитам да отговаря на някои от въпросите ти. А и аз имам няколко, с които се надявам да ти помогна да си изясниш някои от нещата, за които питаш.

За работа с медия (и в частност аудио) файлове може да използваш библиотеки. Не мисля, че ще се справиш да го направиш изцяло сам. Това да разбереш как се пази мета информацията и да успееш да я прочетеш и/или променяш е достатъчно много работа. Примери за такива библиотеки са eyeD3, hachoir-metadata, kaa-metadata или някоя друга. Тези ги избрах случайно след 5 минути гугъл търсене. Препоръчвам ти да потърсиш и сам и да избереш тази с най - хубава и ясна документация.

Работа с интернет! Най - интересното :) За това ще ви говорим в близките седмици. Но това, което очаквам да ти се наложи да правиш е да "говориш" HTTP в проекта си. Отново, библиотеки на помощ! Най - хубавата библиотека за Python е requests. Дори първото нещо в документацията му е пример как достъпва API-то на github.

И като заговорихме за API-та, аз намерих две доста бързо: onemusicapi и musicbrainz. И двете ми се виждат доста пълни и имат хубава документация. Всички подобни API-та най - често връщат резултатите си в json или xml формат. В стандартната библиотека на Python има хубави модули и за двете.

Сега моите въпроси.

Как мислиш да се използва проекта ти? GUI ли ще бъде или нещо в командния ред? Което и да е от двете, ще е полезно да опишеш всички неща, които ще може да прави, по - подробно.

Какви видове файлове ще подържаш? mp3, ogg, mpeg4, webm? Това са все контейнери и всеки от тях пази данните си по различен начин.

Здрасти,

благодаря за разясненията. Това което целя е унификация на тривиална задача. Желанието ми е не толкова да направя кода си така че да дава опции на юзъра, колкото да не се нуждае от такъв. От тази гледна точка дали нещата ще мианват през GUI или команден ред за мен не е от значение в конкретния случай. Като цяло да се занимавам с GUI, е нещо с което силно желания да се занимавам, но до този момент нямам никаква педставата за тях. На сегашното ми ниво за мен всички кодове работят през команден ред.

Относно вида на файловете, предим става на въпрос за .mp3, но в съзнанието ми се въртяха повече формати, като си мислех достъпа до различна дата в тях е подобен. И ако тябва да избирам ограничен брой файлове, винаги мога да се спра на конкретна бройка, като се лишавам от някой или добавям други.

Крайната цел на кода ми желая да е поемането на един или повече файлове. След което самия код да прави логични решения за състоятелността на файла и неговата информация, запълвайки дупки в информацията на база сравнението с прочетеното в интернета.