Кіріспе

NINJAM – музыка үшін жаңа интервалдық желілік джем архитектурасы. NINJAM бағдарламалық жасақтамасы мен жүйелері музыкалық формаға негізделген синхрондау механизмімен, аудио деректерді интернет арқылы алмасу үшін нақты уақыт режимінде жұмыс ілмейтін механизмді қамтамасыз етеді. Ол музыканттарға интернетте бірге импровизация жасауға мүмкіндік береді; ол «виртуалды уақыт» тұжырымдамасын алғаш рет енгізді. Оны Бреннан Андервуд, Джастин Франкел және Том Пеппер жасаған.

Принцип

Музыканың көптеген түрлерін бірлесіп жасау, әрине, орындаушылардың бір-бірімен бір уақытта ойнау қабілетіне байланысты. Орындаушылардың арасындағы шамадан тыс кешігу (латенттілік) табиғи уақытты ұстауды бұзады. Қала ішінде де, өңірлік немесе жаһандық қашықтықтарда да, жарық жылдамдығының шегінен асып, желілік инженерлік тәжірибеде қажетті деңгейдегі кешігусіз дерек алмасу механизмін жасау мүмкін емес. Латенттіліксіз ынтымақтастыққа жақындау үшін NINJAM кешігуді ұзартады, барлық алынған аудионы басқа орындаушылармен синхрондалғанға дейін сақтайды. Бұл кешігу музыкалық формаға байланысты. Бұл синхрондау әр орындаушының сеанста басқаларын еститінін және олармен бірге ойнай алатынын білдіреді. NINJAM форманы "интервал" арқылы анықтайды – басқа орындаушылармен синхрондау алдында жазылатын соққылардың саны. Мысалы, егер интервал 16 болса, әр орындаушыдан төрт такт музыка жазылып алынып, содан кейін барлығына қайта ойнатылады.

Қабылдау

Процесс Wired журналында "қатесіз" және "нақты уақыт режимінде ынтымақтастықтан ләззат алатын музыканттар үшін жасалған" деп сипатталды. MIT Technology Review басылымында бағдарламалық қамтамасыз етудің пайдаланушылары оның тегін және ашық кодты болуына байланысты "шын көңілді" деп сипатталды. Басқа музыка өнімдерін сатушылар NINJAM-ды қолдайды; электрондық музыка аппараттық және бағдарламалық құралдарын сатушы Expert Sleepers 2006 жылы NINJAM үшін плагин қолдауын қосты.

Техникалық негіздер

NINJAM сессиясындағы әрбір ойыншы өз клиентінен аудио деректерін TCP/IP қосылысы арқылы серверге белгілі бір портқа (әдетте хостқа байланысты 2049 және одан жоғары диапазон) жібереді. Мұндағы "клиент" – ойыншының NINJAM серверіне қосылу, аудио ағынын кодтау және тарату, қашықтағы ойыншылардың ағындарын қабылдап, декодтау және чат (IRC сияқты) сессиясын басқару үшін пайдаланатын құралы. Әрбір ойыншыға NINJAM клиентіне аудио ақпаратты берудің бір жолы қажет – клиентті DAW ішіндегі плагин ретінде пайдалану арқылы немесе тікелей аудио кірісі бар жеке нұсқаны қолдану арқылы. Әр клиенттің деректері таратылған сағатқа сәйкес синхрондалады. Осы сағат арқылы деректер басқа клиенттерге таратылады, осылайша олар барлық қашықтағы ағындарды синхронды түрде ойната алады. Сервер тек қосылымдарды, чатты және деректер ағынын басқарады.

Ортақ ескертулер

Барлық клиенттер жергілікті бақылау деңгейлеріне қарамастан серверге 0 дБ деңгейінде деректерді жібереді. NINJAM клиентін орнатқанда "жергілікті" деңгейі 0 дБ-қа орнатылады. "Жергілікті" деңгейі таратылатын дыбыс көлеміне әсер етпейді. "Жергілікті" деп белгіленген сырғыш тек пайдаланушының өзі еститін дыбысқа ғана әсер етеді, басқалар еститін дыбысқа емес. Пайдаланушы NINJAM клиентінен бұрын сигнал жолындағы кіріс деңгейін реттеуі керек, осылай алыстағы ойнаушылар еститін дыбысқа әсер етеді. Аудио арнадағы мүмкіндік шектеулі болғандықтан, дыбыс деңгейінің 12 дБ-тан аспауын және "көлемді" деңгейді шамамен 18 дБ-қа орнатуды жақсы тәжірибе санайды; бұл басқаларға араластыру үшін орын қалдырады.

REAPER-ге байланысты VST әсері

VST эффектілері кеңінен қолданылатын нұсқа (NINJAM қолдау форумдарындағы жазбалар санына сүйенсек), бірақ пайдаланушы REAPER-ді орнату керек.

Ашық бастапқы AU плагин модулі

Ашық бастапқы кодты автономды нұсқасынан туындаған, Mac AU хосттарында жұмыс істейді. Жоғарыдағы REAPER-ге байланысты VST эффектіне қатысты ұқсас мәселелер қарастырылуы керек.

Ашық кодты жеке клиенттер

Windows, Mac OS және Linux үшін жеке клиенттер қолжетімді. Linux нұсқасы JACK-пен жұмыс істейтіндіктен, кез келген JACK клиентінен оған аудио жіберуге болады. Windows-та виртуалды дыбыс көздерімен жұмыс жасау қиын, себебі салыстырмалы түрде жеңіл маршрутизациялау механизмі жоқ. Сондықтан, ол шынайы аспаптармен пайдалануға арналған, NINJAM-ға қол жеткізу үшін ғана DAW іске қосудың күрделілігінен гөрі қарапайым балама болып табылады.

Серверді және серверді орнату талаптары

Толығырақ орнату және конфигурация NINJAM веб-сайтында қолжетімді.

Жазылу диапазоны

Кокостың сөзінше, жолақтың қажеттіліктерінің арасында шығыс жолақтың қажеттілігі басым. 4 адамдық сеансқа шамамен 768 кбит/с шығыс және 240 кбит/с кіріс жолағы қажет. 8 адамдық сеансқа шамамен 3 Мбит/с шығыс (және 600 кбит/с кіріс) жолағы қажет болады.

Win32 (жаңырту)

Windows 2000 немесе одан кейінгі нұсқалары, 500 МГц процессор, 4 МБ жедел жады, NINJAM v0.06

OS X жүйесі

OS X 10.3 немесе одан жаңасы, G3 процессоры. RAM 4 МБ NINJAM v0.01a ALPHA OS X үшін.

Linux жүйесі

Джамтаба, Зенжам және Нинжам (js) жасалған деген мәлімдеме бар. Cockos Ninjam беті GitHub бетін justinfrankel/ninjam "ресми GitHub көшірмесі" деп көрсетеді, ал сол бетте 2020 жылдың сәуір айының соңында жасалған өзгеріс жазылған.

Мазмұны

NINJAM серверлері Cockos хостингінде орналасқан, олардың мазмұны Creative Commons лицензиясы бойынша NINJAM AutoSong-та жазылып, тізімделеді; музыка файлдары The Internet Archive-де сақталады. 2010 жылғы қаңтар айының мәліметі бойынша 23 000 сағаттан астам мазмұн немесе шамамен 1,2 ТБ көлеміндегі материал болды. 2021 жылға қарай жазу жұмыстары жалғасуда.