Автор Тема: Vocoder-и за линукс?  (Прочетена 8638 пъти)

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Vocoder-и за линукс?
« -: Mar 06, 2016, 03:00 »
Сега не знам колко от вас се водят в категорията "вече дърти" и имат някакви спомени от соца и 80-те, обаче един доста лошо набит детски спомен от това време е едно радиопредаване по БНР, "Пулсиращи ноти" или нещо от сорта, където се объркваха и пускаха капиталистическа музика, конкретно Yellow Magic Orchestra, аз тогава естествено не знаех че се казват така, сещам се само за едно парче оттогава, което десетилетия след това идентифицирах, понеже това толкова лошо ми се беше загнездило в детското съзнание, че нямаше как да го пропусна. Специално това:

https://www.youtube.com/watch?v=nch0Qj_bEDI

Специфичното човек ако се замисли в цялата работа е гласа на тия жълтурите който в "реално време" звучи роботски. Това става благодарение на т.нар vocoder и тогава това се е случвало изцяло по "аналогов" начин - с подходящи филтри. Днес нещата са доста различни, всичко е дискретизирано и всичко е по-лесно, та всичките тези неща може човек в реално време да си ги прави чисто софтуерно без да запоява платки, да врътка потенциометри и да подвързва железария. Обаче странно защо, под линукс няма много софтуер по въпроса или поне аз не мога да открия. Иначе намерих един андроидски app, който прави доста доволно добре същото, обаче въпреки това изглежда леко несериозно. Но може и просто да не търся както трябва, та някой знае ли линукски vocoder софтуер за експерименти?

Нямам желание да тероризирам разни хора и институции с prank calls с роботски глас ако някой това му се върти в главата, просто съм много очарован от цялата идея, защото без да искам разбрах че е имала огромно значение за моето себеосъзнаване (съвсем сериозно) - най-малкото ми е определило и музикалните предпочитания и начина ми на живот за поне десетилетие и при всичко това без изобщо да знам.
« Последна редакция: Mar 06, 2016, 03:03 от gat3way »
Активен

"Knowledge is power" - France is Bacon

Stancho_25

  • Напреднали
  • *****
  • Публикации: 234
    • Профил
Re: Vocoder-и за линукс?
« Отговор #1 -: Mar 06, 2016, 07:50 »
Може би нещо такова?...

http://www.sirlab.de/linux/descr_vocoder.html
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3396
    • Профил
Re: Vocoder-и за линукс?
« Отговор #2 -: Mar 06, 2016, 11:45 »
Виж плъгини за Audacity. При мен се мъдри един.

Едно време като студенти ни водеха БГ радиото. Та там ни демонстрираха такова нещо. Взимаш микрофона и говориш а гластът ти излиза като на Чип и Дейл от анимационен филм. Голям смях падна.
Само че апаратурата я наричаха Цифров ревербератор. Сега не знам дали просто 'ревербератора' не бяха го настроили така че да прави 'Вокодерски' ефекти или така наистина се казваше апаратурата им която може синтезира всякакви ефекти - реверберация, ехо, ефект на хорово пеене, вокодер ....
Както и да е има много начини за изкривяване на Звука/Гласа. Всичките правят някакво изкривяване и манипулиране на спектъра.

Кокото до софтуера - да наистина няма - но няма защото е много спецефично нещо и лежи в областа на математиката и теория на сигналите. Т.е може и да има но да е скрито под някое 'математическо име'. Преди например търсих плъгин за ДеРевербератор - да махне кънтенето от един файл. Е изобщо неможах да намеря такова нещо. Но трябваше да търся и за 'Цифрова деконволюция' или за 'цифрова сляпа деконволюция' и разни такива.



« Последна редакция: Mar 06, 2016, 12:22 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Vocoder-и за линукс?
« Отговор #3 -: Mar 06, 2016, 13:15 »
Да, v2 vocoder плъгина за audacity....ама вади някаква ужасно неразбираема грешка и не работи нещо :(

P.S обаче за андроид намерих това: https://play.google.com/store/apps/details?id=com.mikrosonic.RoboVoxLite&hl=en

Което върши прекрасна работа. Даже се чудя дали да не си купя pro версията, голяма забава било да слушаш роботизирани псувни, спукал съм се да се хиля.
« Последна редакция: Mar 06, 2016, 15:46 от gat3way »
Активен

"Knowledge is power" - France is Bacon

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: Vocoder-и за линукс?
« Отговор #4 -: Mar 07, 2016, 17:01 »
... голяма забава било да слушаш роботизирани псувни, спукал съм се да се хиля.
Навремето имаше говореща програма за Правец 8. Подавахме и един текстов файл с вицове, който постоянно допълвахме и той бърбореше с часове.
И ние се спуквахме от смях :)

Между другото, виж резултатите за "linux voice distortion"
« Последна редакция: Mar 07, 2016, 17:04 от laskov »
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

Naka

  • Напреднали
  • *****
  • Публикации: 3396
    • Профил
Re: Vocoder-и за линукс?
« Отговор #5 -: Mar 07, 2016, 18:21 »
Сещам се за балоните с хелий. може да потърсиш за 'helium voice changer'

Та понеже хелият е много рядък, това прави скоростта на звука много по голяма, променяли се резаонансите в гласовият тракт - изместват се към по високите честоти. А Някои казват че гласните струни почвали да вибрират с по-висока честота заради по редкият газ.

Та това ме навежда на мисълта за shift-ване на спектъра към високите честоти - или само на хармониците - а може и даже и нелиниейно shift-ване.
Или ако се shift-не надолу ще изкараш дебелашко/мутренски глас. Всякакви идиотизми може да се измислят.
« Последна редакция: Mar 07, 2016, 18:29 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Vocoder-и за линукс?
« Отговор #6 -: Mar 08, 2016, 01:07 »
Аз това с хелиевите балони съм го правил много пъти, но никога не съм се замислял защо се получава този ефект. Очевидно е че се измества към по-високи честоти, но наистина нямам идея защо. На мен субективните усещания иначе са ми по-забавни, примерно много често (особено първите пъти) изобщо не разбирах че се получава - хората около мене се хилят, а според мен гласът ми си е съвсем нормален, което е странно, и понеже също много често гласът ми на запис ми звучи доста различно от това което съм сигурен че казвам не само като тембър, ами дори като интонация, а иначе съм доста убеден че чувам какво казвам, странният извод който си вадя е че  може би възприятията за това какво казвам не са базирани 100% на слуха или може би част от това не идва като "вибрации на въздуха", а такива на УНГ органите там - сигурно не се изразявам много академично, ама какво да направя :)  Странно обаче понякога като говоря с вдишан хелий, чувам добре че звучи различно, особено когато _очаквам_ да звучи така, абе странна работа.

Другото което ми е правило впечатление с хелиевите балони е понеже за да стане номера като хората, трябва да си изпразниш дробовете, да вдишаш добре и тогава да говориш малко по-бързо от обикновено, хелият който вдишваш не вярвам да е примесен с кислород, обаче като го вдишам, нямам първоначално усещането че се задушавам и че нещо не е наред, което е доста странно, в смисъл парадоксално човек би очаквал да не е така, обаче очевидно ако това което го дишаш е с нормална температура и налягане, организмът ти не може да схване че нещо не е наред, поне не за известно време....сега ако се опиташ да го задържиш, не става, поне не за толкова време за колкото би задържал "нормален" въздух, но е странно това, холивудските представи са че ако вдишаш нещо несъдържащо кислород, едва ли не веднага почваш да се давиш, посиняваш и душиш или поне аз с такова впечатление съм останал от филмите.

Както и да е де, много се отплеснах с този хелий :) Все пак не мисля че "честотното отместване" е същото като това с тези vocoder-и. Апропо, ефектът с честотното отместване е много забавен при радиовръзките със SSB модулация, при радиолюбителите на КВ това е много разпространено защото пестят честотна лента - SSB е същото като амплитудната модулация, но носещата и единия "огледален образ" на модулираното аудио се филтрира при предаване. Резултатът е че при приемника няма носеща и съответно трябва да нацелиш идеално точно честотата на предаване, иначе демодулираното аудио започва да звучи "изместено". Изместване само от 100-тина херца започва доста да си личи, а 300-400 херца и става или все едно извънземно или все едно някакво чудовище от фентъзитата говори, много е забавно, човек не се замисля много, обаче "основната информация" характеризираща човешкият глас всъщност е в доста "тесни" честотни граници. Апропо, преди време бях чел за пича дето е правил ефектите на "Междузвездни войни" там през 70-те, той е бил някакъв радиолюбител и познай - всички радиовръзки на пилотите на X-wing-овете всъщност са си истински SSB радиовръзки и разните екзотични пиукания са му записите на някакви цифрови радиоизлъчвания от едно време, хаха.

Vocoder-ите доколкото аз разбирам са малко по-сложна история. При тях, аудио честотния спектър се "разбива на парчета" (все едно прилагаш FFT върху входния аудиопоток данни). Примерно 3 килохерца се разбиват на 100 "парчета" по 30 херца всяко. За всяко от тези пазиш моментната амплитуда, в това се състои "encode-ването" на входния аудиопоток. При генерирането на изходния, вземаш някакъв "generic" шум и манипулираш амплитудата за всяко такова "парче" от честотния спектър на изхода така че да следва на encode-натите амплитуди. Така колкото повече такива "парчета" имаш, толкова повече крайният резултат ще се доближава до оригинала, обратното - колкото по-малко са парчетата, толкова по-странно/роботски/извънземно ще звучи крайния резултат. Допълнително, в зависимост от това как звучи "generic" шума, крайният резултат може да звучи различно - примерно като зъл Дарт Вейдър или като роботските дрънканици от 90-тарското техно. Може примерно "generic" шума да е църковно пеене - аз подозирам че в андроидското приложение, "prophet" гаврата точно така са я постигнали - резултатът е много забавен хаха.
« Последна редакция: Mar 08, 2016, 01:16 от gat3way »
Активен

"Knowledge is power" - France is Bacon

Naka

  • Напреднали
  • *****
  • Публикации: 3396
    • Профил
Re: Vocoder-и за линукс?
« Отговор #7 -: Mar 08, 2016, 12:09 »
Собственият глас който чуваш се различава много от външният защото по голямата част от звука достига до ушният нерв през костите и тъкъните.

Както и да е де, много се отплеснах с този хелий :) Все пак не мисля че "честотното отместване" е същото като това с тези vocoder-и.
Да кажем че под vocoder в обществото се разбира много изкривен глас - роботски или извънземен. На мен мисълта ми беше, че в общият случай ако това е 'voice encoder' това включва всякакви трансформации на спектъра.
1. Може да има изместване на честоти, 2. премахване на честоти или хармоници. 3.добавяне на нови хармоници. 4.Изменяне на аплитудата или модулация на хармониците на спектъра.  5.манипулация на фазово честотната характеристика.

Ако се върнем назад в аналоговата ера, тогава най-лесното (а и най-ефектното) е както казваш, да се модулира амплитудата на изхода от филтрите. (а всички други, са явно били много сложни апаратно)
« Последна редакция: Mar 08, 2016, 13:09 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

4096bits

  • Напреднали
  • *****
  • Публикации: 6181
    • Профил
Re: Vocoder-и за линукс?
« Отговор #8 -: Mar 08, 2016, 13:10 »
Аз това с хелиевите балони съм го правил много пъти, но никога не съм се замислял защо се получава този ефект. Очевидно е че се измества към по-високи честоти, но наистина нямам идея защо. На мен субективните усещания иначе са ми по-забавни, примерно много често (особено първите пъти) изобщо не разбирах че се получава - хората около мене се хилят, а според мен гласът ми си е съвсем нормален, което е странно, и понеже също много често гласът ми на запис ми звучи доста различно от това което съм сигурен че казвам не само като тембър, ами дори като интонация, а иначе съм доста убеден че чувам какво казвам, странният извод който си вадя е че  може би възприятията за това какво казвам не са базирани 100% на слуха или може би част от това не идва като "вибрации на въздуха", а такива на УНГ органите там - сигурно не се изразявам много академично, ама какво да направя :)  Странно обаче понякога като говоря с вдишан хелий, чувам добре че звучи различно, особено когато _очаквам_ да звучи така, абе странна работа.....

.............................
Хах! На мен гласа от хелия ми се получава страхотно. Допикава ми се и на мен и на тея около мен от смях.  :D
А гласа се променя, защото самите гласни струни работят по различен начин при по-ниска плътност на средата им. Въздуха иначе. Има и безопасни газове, които са по-тежички от въздуха и при тях се получава обратния ефект. Гласът става по-нисък. Такова още не съм пробвал.
Като цяло, гласните ни струни сме ги научили автоматично да си правят едно и също, като говорим и те си го правят, независимо дали дишаме нещо по-плътно или леко, или пък нормално. За да се предаде нисък звук в по-разредена атмосфера, трябва по-висока амплитуда на движение при мембраната на говорителя, ако е за колони. При гласните струни едва ли е различно. Разредения въздух не може да предаде компресията така добре и затова се получава понижаване на честотата на звука. Поне така аз си го мисля. Не съм специалист.

А вокодер много ми се иска да пробвам и да си поиграя, но нямам свестен микрофон. На лапито вградените са много добри и чувствителни, но едва ли чак толкова. Питали са ме, какво пия, като отпивам кафе. Без да сърбам.
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: Vocoder-и за линукс?
« Отговор #9 -: Mar 08, 2016, 15:15 »
Понеже май остана незабелязано, а ми се струва по темата, се самоцитирам:


Между другото, виж резултатите за "linux voice distortion"
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Vocoder-и за линукс?
« Отговор #10 -: Mar 09, 2016, 02:26 »
Хаха, тази вечер имах малко време и си поиграх да пробвам дали съм разбрал как работи това и да го пресъздам по някакъв начин. Хрумна ми малоумната идея да abuse-на gnuradio да се занимава с тези аудио неща. Някаква тъпа схема като тази:



Това понеже с тези DSP глупости не съм изобщо на ти и е супер да има нещо да ти ги прави наготово и само да цъкаш като някакъв ламер там. Започна да се получава което е доста радостно. Обаче само с три bandpass филтъра, колкото и да звучи роботски резултата, "изходния" синтезиран глас е почти неразбираем. Все пак е забавно. Signal source-овете пробвах да ги заменя с wav source и се получи точно както очаквах - гласът доста добре се "припокрива" с аудиото, та теорията ми за "prophet" ефекта е била вярна.

Само да го овладея малко по-добре и мисля да тествам другата теория, загатната в статията в wikipedia - ще си напиша voice скрамблер с (псевдо) криптографски цели. В смисъл имам идея как да стане, но ще е играчка. Би било забавно сам да си търкаляш (с помощта на аудио рутинга на pulseaudio) "криптирано" аудио върху скайп примерно. Макар че чисто математически, това ми се малко бошлав работа и не особено детерминирано и с ясни гаранции за сигурността, ма пък знам ли - ще е забавно да си поиграе човек. Само да имам повече време, а това ми е доста дефицитно да му се не види :(

П.П за уточнение, "криптографската идея" опира до това "в какъв ред са размесени филтрите при предаване и при получаване", грубо казано, понеже съм лаик в тази област и сигурно си има далеч по-коректен начин да го обясня. В случая с трите филтъра (200-500hz, 500-800hz и 800-1100hz) възможните конфигурации са 3!, с други думи шест, с други думи точно при горното положение е безкрайно лесно да брутфорснеш "ключа" защото има 6 възможни стойности. Това което ми е занимателно, нека имаше 100 филтъра и ги разджурквахме както си знаем, т.е нека keyspace-а ни е 100 факториел, което никак не е малко, тогава колко еквивалентни ключвове бихме имали, защото убеден съм че ако "разместим" само два филтъра, пак ще се получи нещо, което човешкият слух ще разпозне достатъчно добре, единствено в единия случай ще звучи малко по-неразбираемо. Също горният пример не е супер прекрасен, понеже филтрите имат cutoff от 200 херца, което е прекалено много и всяко "парче" носи прекалено много информация за "съседните по честота" парчета.

А и това е ако съм схванал идеята де, а може тотално да не съм разбрал за какво става въпрос :)

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

Като цяло очарователно, никога не съм задълбавал в тези дебри, а те ще се окажат интересни.
« Последна редакция: Mar 09, 2016, 02:52 от gat3way »
Активен

"Knowledge is power" - France is Bacon

Naka

  • Напреднали
  • *****
  • Публикации: 3396
    • Профил
Re: Vocoder-и за линукс?
« Отговор #11 -: Mar 09, 2016, 11:44 »
Коя е програмата с блоковете?
Активен

Perl - the only language that looks the same before and after encryption.

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Vocoder-и за линукс?
« Отговор #12 -: Mar 09, 2016, 16:04 »
gnuradio-companion, част е от gnuradio (апропо, от flowgraph-а директно ти генерира питонски код, което е доста удобно - така gnuradio-companion не ти е необходим ако искаш после да си пускаш разчертания там flowgraph)
Активен

"Knowledge is power" - France is Bacon

Naka

  • Напреднали
  • *****
  • Публикации: 3396
    • Профил
Re: Vocoder-и за линукс?
« Отговор #13 -: Mar 09, 2016, 23:04 »
интересно.  гледах нещо подобно в scilab - математическия софтуер. но нямах време да го разгледам.
Активен

Perl - the only language that looks the same before and after encryption.

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Vocoder-и за линукс?
« Отговор #14 -: Mar 10, 2016, 01:40 »
gnuradio е поне за мен прекрасен проект, не разбирам от тези неща и не мога да оценя доколко е сериозно на фона на останалите (комерсиални) решения, но си има доста голямо community и като цяло съчетава (пак субективно) доста полезни неща - аз съм го ползвал предимно с образователни цели, защото има сума ти блокове за визуализация, които нагледно ти показват какво се случва с някакъв сигнал след някаква трансформация и така осмисляш разни неща далеч по-бързо, отколкото ако само  четеш суха теория. Другото забавно е за "истински" радио-експерименти, понеже лесно можеш да подвързраш евтинки SDR-и като източници там и да минаваш входния I/Q поток през различни "трансформации" - така примерно с gnuradio е много лесно да си направиш AM или FM демодулатор и да видиш нагледно как работи при това съвсем истински, все едно си си направил сам приемник, само че изцяло софтуерно. Сега сигурно на хардуерните хора им е далеч по-интересно, но мен не ме бива в това и всичко това реализирано изцяло софтуерно ми е доста забавно като идея.

Жалко само че нямам много време да се занимавам :(
Активен

"Knowledge is power" - France is Bacon