Комментарии 68
С переходом на микрофонное API оправдались ваши опасения насчет того, что Speech Recognition что-то делает со звуком?
+3
С этим API работал другой человек. Я у него обязательно спрошу и напишу ответ.
+1
Они работают немного по разному. В чем именно разница мы не разбирались, возможно есть какие-то фильтры.
+2
Как вариант, можно было оценить АЧХ Speech Recongnition и производить коррекцию АЧХ сигнала простым делением. Тогда бы задавленные области приподнялись.
+1
Вариант здравый, но я не уверен, что получилось бы. У нас было такое ощущение, что АЧХ там динамическая, в зависимости от окружающих звуков.
0
Вообще еще из курса цифровой обработки сигналов, перед БПФ к полученному сигналу советуют применять оконные функции. В частности наилучший эффект в вашей задаче даст окно Хемминга. Интересно было бы взглянуть на БПФ реализованное на С.
+3
Разные варианты настройки, значит, вы не поддерживаете?
0
а как Вы узнали, что «активных» пользователей более 50000?
я мог бы подумать, что столько было скачиваний, но как узнать пользуются ли программой или нет? если человек играет на досуге скажем на гитаре, то ну наверное раз в неделю настраивает ее, вряд ли чаще, правда? назвать это активным использованием я бы не стал… или я чего не понимаю?
я мог бы подумать, что столько было скачиваний, но как узнать пользуются ли программой или нет? если человек играет на досуге скажем на гитаре, то ну наверное раз в неделю настраивает ее, вряд ли чаще, правда? назвать это активным использованием я бы не стал… или я чего не понимаю?
-2
В маркете есть такой параметр, это пользователи которые установили и не удалили.
+2
От гитары зависит, я свою подстраиваю каждый раз практически, колки плохие
+1
А я играю каждый день, подстраиваю раз в недели две-три. С тюнером вообще где-то раз в три месяца, когда струны меняю.
Так что раз в неделю — это активное использование )
Так что раз в неделю — это активное использование )
+2
Раз в неделю можно настраивать не самые дешевые электрогитары, у которых струны у основания грифа пережимаются специальными тисочками, после настройки.
-2
>>струны у основания грифа пережимаются специальными тисочками, после настройки
независимо от ценовой категории, такая система применяется для «плавющих» тремоло вроде Floyd Rose или Ibanez Edge.
хорошая гитара с хорошими колками и фикс-бриджем или классическим тремоло типа страт держит строй и без «тисочков»
независимо от ценовой категории, такая система применяется для «плавющих» тремоло вроде Floyd Rose или Ibanez Edge.
хорошая гитара с хорошими колками и фикс-бриджем или классическим тремоло типа страт держит строй и без «тисочков»
+3
А прежде чем начать, вы смотрели аналоги? Вообще существуют какие-нибудь тюнеры на Android? Или на Iphone?
Вообще, идея клевая конечно. Всегда мечтал под рукой иметь тюнер чтобы по-быстрому настроить гитару.
Вообще, идея клевая конечно. Всегда мечтал под рукой иметь тюнер чтобы по-быстрому настроить гитару.
0
камертон же…
+3
Пользуюсь gStrings. Даже платную купил gStrings+ так как уж очень удобна и, главное, отлично справляется с работой. Правда, потом разочаровался во всёх android-поделках, после того, как попробовал на iPhone PolyTune (от создателей одноименной педали) — тут и чувствительность на высоте(возможно микрофон iPhone'a хорошо себя проявил), и качественная и красивая реализация!
+4
НЛО прилетело и опубликовало эту надпись здесь
В то время на iPhone было несколько тюнеров. Мы их даже посмотрели и взяли что-то оттуда.
Под Андроид тогда небыло тюнеров, во всяком случае мы не нашли. Сейчас, конечно, появились.
Под Андроид тогда небыло тюнеров, во всяком случае мы не нашли. Сейчас, конечно, появились.
0
Есть, и море. Сам я, например, пользуюсь Gibson Learn от LLS. (iphone)
Но он есть и для зеленого робота
Очень удобный и хороший тюнер, особенно когда где нибудь просят поиграть, а инструмент расстроен, а ты немного пьян уже.
Сам я на андроиде его не юзал, но на афоне работает замечательно (обработкой звука в афоне чип от TI ведает, поэтому доверяю), ни разу еще не подвел.
Но он есть и для зеленого робота
Очень удобный и хороший тюнер, особенно когда где нибудь просят поиграть, а инструмент расстроен, а ты немного пьян уже.
Сам я на андроиде его не юзал, но на афоне работает замечательно (обработкой звука в афоне чип от TI ведает, поэтому доверяю), ни разу еще не подвел.
- Бесплатный
- Имеет несколько вариантомв настройки ( Drop D. Open E ит.д.)
- Возможность отстойки «на слух» по эталонному звуку, либо путем анализа с микрофона.
+1
И на Андроид и на АйФон тюнеров больше чем надо.
0
Во-первых, в те давние времена первой версии Android OS, не существовало открытого Java API для работы со звуковым потоком с микрофона. Был API для воспроизведения звука, но не для считывания потока с микрофона.
Вы чего-то не то пишете. Какая первая версия Андроид? Начиная с 1.5 мы уже писали вовсю SIP телефоны на яве и Native C и там захватывался поток с микрофона. Откуда сложности со SpeechAPI?
Вы чего-то не то пишете. Какая первая версия Андроид? Начиная с 1.5 мы уже писали вовсю SIP телефоны на яве и Native C и там захватывался поток с микрофона. Откуда сложности со SpeechAPI?
0
1.5 — это не первая, был ещё как минимум Android 1.1.
Я не помню точно, какой SDK мы тогда юзали, но велика вероятность, что именно 1.1.
Я не помню точно, какой SDK мы тогда юзали, но велика вероятность, что именно 1.1.
0
Ого, реально старое приложение. А в следующих версиях с нормальным звуковым АПИ проблема «вычленения» главной частоты исчезла?
0
Мы начинали на Android 1.0, первые публичные версии было 0.x, но мы с ними не работали. Между выходом 1.0 и 1.5 прошло много времени — и мы провели его полезно и весело :)
+2
В PhonTuner, для WM есть удобная штука, которая показывает насколько инструмент «шумит» обертонами. А в вашей програме это можно увидеть?
+1
Отличная статья, хорошо сделано. По теме я бы предположил использовать косинусное преобразование, т.к. оно может быть выполнено в вещественных числах, и все вычисления можно свести к числам с фиксированной точкой, т.е. по сути – целочисленным вычислениям.
+1
Я реализовывал аппаратный тюнер (причем на 8-битном АВР, без фурье).
Советую сигнал пропускать через какую-нибудь нелинейность, например, возводить в квадрат. Это сильно выделит первую гармонику.
А универсальный тюнер отлично реализуется не через фурье а через АКФ, правда, аппаратные средства коммуникатора, наверное, не позволят организовать захват звука с необходимой для этого ЧД.
Советую сигнал пропускать через какую-нибудь нелинейность, например, возводить в квадрат. Это сильно выделит первую гармонику.
А универсальный тюнер отлично реализуется не через фурье а через АКФ, правда, аппаратные средства коммуникатора, наверное, не позволят организовать захват звука с необходимой для этого ЧД.
+3
Интересная мысль про АКФ. Частоты, мне кажется, должно хватить — у большинства инструментов не такой уж большой диапазон.
+1
Дело не только в диапазоне частот инструмента, но и в том, с какой точностью вы хотите определить отклонение. Вы же для построения АКФ дискретно сдвигаете отсчеты. Я, помнится, ставил задачу определять до десятых долей интервала между нотами, это меньше герца в худшем случае (для басов) — там приходилось брать отсчеты с огромной ЧД.
Но. Вместо того чтобы брать их с АЦП достаточно оказалось брать их напрямую с пина микроконтроллера — ну грубо говоря, 1бит АЦП. Если мне не изменяет память, в схеме стоял триггер шмидта, чтобы избежать постоянных осцилляций, и дальше сигнал заводился на цифровой вход.
Но. Вместо того чтобы брать их с АЦП достаточно оказалось брать их напрямую с пина микроконтроллера — ну грубо говоря, 1бит АЦП. Если мне не изменяет память, в схеме стоял триггер шмидта, чтобы избежать постоянных осцилляций, и дальше сигнал заводился на цифровой вход.
0
Возможно, я чего-то не понял… Зачем было делать пресеты для ограниченного набора инструментов? Разве не проще попросить пользователя ввести искомую ноту (чью частоту мы знаем заранее) и настраивать уже на неё?
А изначальная идея определять звучащую ноту и её же потом настраивать выглядит вообще странно. Если бы это было реализовано, то программка позволяла бы настраивать струны, расстроенные не более чем на полтона. А в реальности инструмент может быть сколь угодно сильно расстроенным. У меня на скрипке, если её потрясти где-нибудь в транспорте, струна могла уйти на 2-3 тона.
А изначальная идея определять звучащую ноту и её же потом настраивать выглядит вообще странно. Если бы это было реализовано, то программка позволяла бы настраивать струны, расстроенные не более чем на полтона. А в реальности инструмент может быть сколь угодно сильно расстроенным. У меня на скрипке, если её потрясти где-нибудь в транспорте, струна могла уйти на 2-3 тона.
+1
По поводу первого вопроса: мы решили, что это плохая идея с точки зрения юзабилити, слишком сложно. По поводу второго — видимо не очень понятно написано: предполагается, что пользователь знает, какая нота должна играть. Тюнер лишь показывает, какая звучит в данный момент (и на сколько относительных долей отклонение от неё). Пользователь смотрит, что нота не та (хоть на полтона, хоть на октаву), и крутит колок в нужную сторону.
0
Я правильно понимаю, что «плохая идея с точки зрения юзабилити» — это ввод пользователем ноты для последующей настройки на неё? Если так, то может быть, стоило всё-таки это оставить как дополнение — получился бы универсальный настройщик?
0
НЛО прилетело и опубликовало эту надпись здесь
Добавили в баг треккер, спасибо.
+2
советую tuner.kagbe.net
0
То есть с вашим тюнером я в dropped-B не настрою по открытым струнам? )
0
риторический вопрос? :)
0
не совсем, просто интересно, предзабитый инструмент означает, что для него только один набор струн (EBGDAE) или он задаёт расстояние в полутонах между струнами для инструмента (у баса все в квинту, у обычной гитары 3 струна на полтона меньше)? Со вторым вариантом я смогу гитару настроить если не в dropped, то хотя бы в tune, отличный от E.
0
Странно, в топике про мобильный гитарный тюнер никто ничего не сказал про тюнер от TC Electronic PolyTune Я пробовал версию в педальном виде, так и в айфоне. Несомненный плюс, что можно сыграть аккорд и сразу подтянуть все струны, т.е. ключевое слово poly.
0
А не пробовали сохранять звук, полученный с помощью этого Speech Recognition, чтобы примерно посмотреть, какого рода преобразования выполнялись? На CodeProject была вполне красивая и рабочая реализация на C#, там как раз можно посмотреть дополнительный анализ спектра при поиске фундаментальной частоты.
0
А чем плох gStrings?
+1
Спасибо за приложение без рекламы! :)
+3
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как мы делали Guitar Tuner