"Идеальный секвенсер будущего" - офтоп из S1 v7

  • Автор темы Автор темы Antonio
  • Дата начала Дата начала
Недавно пришёл к выводу, что чтобы использовать искусственный интеллект, нужно какое-то количество своего, натурального...

У меня своего на грани, игнорировал события до тех пор пока жизнь не создала условия, чтобы я оглянулся и посмотрел, что происходит в мире. Войны, конечно, серьёзные, но это не что-то новое, они постоянно идут. А ИИ создан впервые, и последствия будут огромные и сложно предсказуемые. И не через 10-20 лет а уже начинаются.

Хорошее изменение - без знания lua и reaper api, я могу написать довольно сложный скрипт для рипера за пол часа - час. То есть, если у меня есть идея нужной функции, мне может быть проще и приятнее написать скрипт под мою задачу, с помощью нейронок, чем копаться в уже готовых скриптах.
Плохое - пока только начинается, поэтому народ такой спокойный.
 
@Antonio, а какие там промты нужно писать, чтоб верно код выдал? Можно пример?
 
я в гугловском жемини ябусь чтобы просто в гуглшыт ячейки результаты поиска забить - полыхает синим пламенем, скотина тупее козы.
А ведь это гугл, не хрен собачий.
так что до скайнета точно не доживем.
Скорее будет "кто бросил валенок на пульт"
 
@Antonio, а какие там промты нужно писать, чтоб верно код выдал? Можно пример?
С первого раза обычно не будет правильно, нужно запускать скрипт и показать что получилось. Скриншоты тоже работают. Хорошо пишут o1 mini и cloude sonnet 3.5. Последняя работает в демке Cursorа.

Промпт может быть например таким:
Пишем скрипт на Lua для Reaper DAW. Все комментарии должны быть на английском. Вот маленькая часть возможностей апи:
(Можно ссылку ей дать, или большую цитату из мануала, чтобы быстрее въехала в контент. Но не обязательно.)

Потом надо внятно объяснить желаемый функционал. Не обязательно описывать сразу всё, сложные задачи во многих случаях лучше делать по частям.
 
  • Like
Реакции: xtar
Да щас уже скоро и DAW открывать не надо будет. ЖПТчат активно в винду внедряют, чтоб управляло всем в компе. Просто скажешь компу, сделай мне 10 аранжировок и пойдешь чем нить поинтересней заниматься. Оно само откроет, сделает и пришлет тебе готовое на телефон послушать ))
Что может быть интереснее нарисания аранжировок??? Для меня это истинное наслаждение!
 
Недавно пришёл к выводу, что чтобы использовать искусственный интеллект, нужно какое-то количество своего, натурального...

У меня своего на грани, игнорировал события до тех пор пока жизнь не создала условия, чтобы я оглянулся и посмотрел, что происходит в мире. Войны, конечно, серьёзные, но это не что-то новое, они постоянно идут. А ИИ создан впервые, и последствия будут огромные и сложно предсказуемые. И не через 10-20 лет а уже начинаются.

Хорошее изменение - без знания lua и reaper api, я могу написать довольно сложный скрипт для рипера за пол часа - час. То есть, если у меня есть идея нужной функции, мне может быть проще и приятнее написать скрипт под мою задачу, с помощью нейронок, чем копаться в уже готовых скриптах.
Плохое - пока только начинается, поэтому народ такой спокойный.
Я бы сказал, минимум 50 процентов своего нужно вложить. И со временем это не изменится. Потому что ИИ нужно обучать, п вдохновение и креатив не запихнуть в программный код.
 
@Antonio, а какие там промты нужно писать, чтоб верно код выдал? Можно пример?
swift.jpeg
 
  • говно
Реакции: Antonio
Ну вот, последний скрипт который мне написала о1 мини. У меня бы это заняло месяца два. У программиста может пару дней, поправте, кто разбирается.

Код:
--[[
ReaScript for Reaper in Lua 5.4
Script:
1. Parses files from the specified folder, extracting timestamps [MM-SS] or [MM_SS] regardless of their position in the filename.
2. Sorts files by time.
3. Adds media items to tracks, creating new tracks as needed to avoid overlaps within 4 seconds.
4. Sets the length of each item to 4 seconds.
5. Does not modify existing tracks; only creates new ones.
6. Handles image, audio, and video files correctly.
]]

-- Settings
local folder_path = "D:/_0/test" -- Replace with your folder path
local media_extensions = {".png", ".jpg", ".jpeg", ".wav", ".mp3", ".mp4", ".avi"} -- Supported media extensions

-- Function to check if a filename has a supported extension
local function has_extension(filename, extensions)
    local lower_filename = filename:lower()
    for _, ext in ipairs(extensions) do
        if lower_filename:sub(-#ext) == ext then
            return true
        end
    end
    return false
end

-- Function to find the next available track number
local function get_next_sorted_track_number()
    local highest = 0
    local track_count = reaper.CountTracks(0)
    for i = 0, track_count - 1 do
        local track = reaper.GetTrack(0, i)
        local retval, name = reaper.GetSetMediaTrackInfo_String(track, "P_NAME", "", false)
        if retval and name then
            local num = name:match("^Sorted Items (%d+)")
            if num then
                num = tonumber(num)
                if num and num > highest then
                    highest = num
                end
            end
        end
    end
    return highest + 1
end

-- Function to extract time from filename
local function extract_time(filename)
    local pattern = "%[(%d%d)[-_](%d%d)%]"
    local min, sec = filename:match(pattern)
    if min and sec then
        return tonumber(min) * 60 + tonumber(sec)
    end
    return nil
end

-- Function to create a track with name "Sorted Items N"
local function create_sorted_track(track_number)
    local track_name = "Sorted Items " .. track_number
    local idx = reaper.CountTracks(0)
    reaper.InsertTrackAtIndex(idx, true)
    local new_track = reaper.GetTrack(0, idx)
    reaper.GetSetMediaTrackInfo_String(new_track, "P_NAME", track_name, true)
    return new_track
end

-- Function to check overlap
local function is_overlapping(existing_ranges, new_range)
    local new_start, new_end = new_range[1], new_range[2]
    for _, range in ipairs(existing_ranges) do
        local start, end_ = range[1], range[2]
        if not (new_end <= start or new_start >= end_) then
            return true
        end
    end
    return false
end

-- Main function
local function main()
    -- Save current edit cursor position and track selection
    local original_cursor_pos = reaper.GetCursorPosition()
    local selected_tracks = {}
    for i = 0, reaper.CountSelectedTracks(0) - 1 do
        selected_tracks[i + 1] = reaper.GetSelectedTrack(0, i)
    end

    -- Get list of files in the folder
    local files = {}
    local p = io.popen('dir "'..folder_path..'" /b /a:-d')
    if p then
        for filename in p:lines() do
            if has_extension(filename, media_extensions) then
                local time = extract_time(filename)
                if time then
                    table.insert(files, {name = filename, time = time})
                else
                    reaper.ShowConsoleMsg("Файл '" .. filename .. "' не содержит валидной временной метки. Пропуск.\n")
                end
            end
        end
        p:close()
    else
        reaper.ShowConsoleMsg("Не удалось открыть папку: " .. folder_path .. "\n")
        return
    end

    if #files == 0 then
        reaper.ShowMessageBox("Нет файлов с поддерживаемыми расширениями и валидными временными метками.", "Информация", 0)
        return
    end

    -- Sort files by time
    table.sort(files, function(a, b) return a.time < b.time end)

    -- Get starting track number
    local start_track_number = get_next_sorted_track_number()
    local current_track_number = start_track_number

    -- Initialize list of created tracks and their occupied ranges
    local created_tracks = {}

    -- Process each file
    for _, file in ipairs(files) do
        local full_path = folder_path .. "/" .. file.name
        local position = file.time
        local end_time = position + 4.0
        local new_range = {position, end_time}

        -- Find suitable track
        local assigned_track = nil
        for _, track_info in ipairs(created_tracks) do
            if not is_overlapping(track_info.ranges, new_range) then
                assigned_track = track_info.track
                break
            end
        end

        -- If no suitable track found, create new one
        if not assigned_track then
            local new_track = create_sorted_track(current_track_number)
            table.insert(created_tracks, {track = new_track, ranges = {}})
            assigned_track = new_track
            current_track_number = current_track_number + 1
        end

        -- Set cursor position
        reaper.SetEditCurPos(position, false, false)
        -- Select the assigned track
        reaper.SetOnlyTrackSelected(assigned_track)

        -- Insert media
        local insert_success = reaper.InsertMedia(full_path, 0)
        if insert_success == 1 then
            -- Get the last media item on the track
            local item_count = reaper.CountTrackMediaItems(assigned_track)
            local item = reaper.GetTrackMediaItem(assigned_track, item_count - 1)
            -- Set item length to 4 seconds
            reaper.SetMediaItemInfo_Value(item, "D_LENGTH", 4.0)
            -- Add new range to track
            for _, track_info in ipairs(created_tracks) do
                if track_info.track == assigned_track then
                    table.insert(track_info.ranges, new_range)
                    break
                end
            end
        else
            reaper.ShowConsoleMsg("Не удалось вставить медиа-айтем для файла: " .. full_path .. "\n")
        end
    end

    -- Restore cursor position and track selection
    reaper.SetEditCurPos(original_cursor_pos, false, false)
    reaper.Main_OnCommand(40297, 0) -- Unselect all tracks
    for _, track in ipairs(selected_tracks) do
        reaper.SetTrackSelected(track, true)
    end

    -- Update arrange view
    reaper.UpdateArrange()
end

-- Run the main function inside an undo block
reaper.Undo_BeginBlock()
main()
reaper.Undo_EndBlock("Insert media items by timestamp", -1)
 
  • мозг
Реакции: djozz
ИИ нужно обучать, п вдохновение и креатив не запихнуть в программный код.
Важно понять, ИИ это не просто программный код. Это нейросеть, схожая с той, что у нас в голове. И нас тоже надо обучать. И у ИИ тоже бывает вдрохновение.
 

Antonio

Это матричное умножение в основном ) как правильно выше заметили тупое невероятно)...
вы плохо понимаете как это работает )
 
Это матричное умножение в основном ) как правильно выше заметили тупое невероятно
Убрал смайлики из цитаты, так как можно попробовать реализовать это в Рипере. Скрипты и плагины на сегодня доступны.
 
@Zerocool, я выше выложил рабочий код, которое мне это тупое матричное умножение написало минут за 10 чистого времени. Может это вы чего-то не понимаете?
 

Antonio


Вы как очевидно человек далекий от техники и науки - просто занимаетесь атнропоморфизмом , мифологизируете ) и очеловечиваете достаточно примитивную технологию ) которой собственно уже лет 60)
Вы очевидно не понимаете как это работает...
 
Неделя ушла на то, чтобы ИИ слегка поправил код старого аддона для Blender. Задача была синхронизировать кривые анимации со звуком и ритмом. Пописывать струйками примитивных скриптов ИИ может, но более сложное вызывает у него асфиксию или признаки шизофрении. :Dle13:
 
Да просто многие ведутся на маркетинговый, термин "ИИ " , которым оно не является))
это система ввода вывода с обширной эвристикой)
оно никак не симулирует человеческий мозг(точенее симулирует самую простую и базовую его часть ) , и не мыслит ))и не способно генерировать новые идеи ..
Оно просто фильтрует свою базу - и криво косо компилирует результат )

И слабость эвристической системы в том - что чем больше длиться обучение -чем больше информации хранит в себе база данных - тем хреновее становится результат ,....поэтому создатели нейросетей - практически постоянно занимаются усложнением категорий эвристики
Что в итоге неизбежно приведет к циклическому запутыванию ... goto to goto ) , собственно уже приводит )
У нейросетей есть очевидный логический тупик и он уже собственно виден в ближайшие годы )
 
Последнее редактирование:
достаточно примитивную технологию ) которой собственно уже лет 60)

Это не так. Архитектура Трансформер была представлена в 2017 году и именно на ней построены современные ллм. Уважаю ваш интеллект, Артём, но в этой области вам надо подтянуться.)
Неделя ушла на то, чтобы ИИ слегка поправил код старого аддона для Blender.
На какую модель жалуетесь?
 
. Уважаю ваш интеллект, Артём, но в этой области вам надо подтянуться.)
Это вам надо изучить матчасть ))

Персептрон Розенблатт придумал еще в 50 ых годах ))
нелинейные функции и метод обратного распространения ошибки ... был придуман в 80 )ых

Deep learning еще с 2000 использовался...
Все это тупо опиралось на машинные мощности , которых не было ) и которые появились )

Сама идея и ее принципы очень стары...
Второй кстати после логического тупика для нейросетей, - технический , и имя ему архитектура фон неймана)
Время для перемещения данных в озу и обратно - увеличивается) ..с ростом обучения ..
один запрос к chat gpt4 уже жрет 3 ватт часа ..., (это в 10 раз больше чем запрос такой же к любому поисковику)
И соответственно занимает в 10 раз больше машинного времени ...

Человеческий мозг устроен по другому , у нас нет шины ввода вывода ...между процессором и озу :))
 
Последнее редактирование:
  • Like
Реакции: Cornuscap, djozz и Antonio
@Zerocool,
Ок, буду изучать.

Но и что, если разработки ведутся уже пол века и теперь привели к результату?

В чем логическая связь?

Вы не верите, что привели к результату? Посмотрите тесты. Программы пишутся, олимпиадные задачи решаются.
 

Antonio


Я слежу за технологией , просто если копнуть глубже , нежели от чистого обывательского "изобрели ИИ , круто "
то - картина становится гораздо понятнее , и не даром собственно очень многие серьезные биржевые аналитики сейчас играют на понижение ) и на рецессию нейросетевого бума )...
Нейросети "широкого спектра" - языковые модели , уже начинают стремительно тупеть ) ..

В сухом остатке - это неплохой инструмент и помощник , но с кучей ограничений , и технических и логических , и очевидно без перспектив качественного роста , только количественного - , что в свою очередь приведет к уменьшению первого )
Вообщем то о чем вы говорили в топике ранее , что типа нейросетки все творческие сферы захватят и т д , этого не будет )

Лучше чем сейчас не будет , - да , какой то простенький код ..с большими затратами времени( для человека который вообще не умеет кодить ... что и описано в этом топике)
Или какую то кривую и косую невероятно шаблонную музычку ... для человека который вообще от нее далек )
Это потолок нынешних нейросетей...и очевидно что потолок и будущих, потому что для дальнейшего развития , нужны совершенно другие технологии , совершенно другие компьютеры ...(другие в смысле совсем другие ..., и в смысле архитектуры и в смысле мощностей)
Ну вообщем все это пока даже не в теории )
 
Последнее редактирование:
  • Like
Реакции: Alexandr_Radio
Недавно пришёл к выводу, что чтобы использовать искусственный интеллект, нужно какое-то количество своего, натурального...
В точку сказано. На радио, провинциалы уже пытаются притянуть AI голоса на рекламу. Звучит, как навигация в машине или донат на стриме. Противно такое наблюдать в эфире. Зато "хайпово". Пример натягивания совы прогресса на глобус деревенского менталитета. Примерно как японский телевизор среди советской мебели и утвари, в мои 7-10 лет.
 
Вот любая нейросеть , в одной картинке)
chrome_UDNdQ5rHUw.png



Информации все больше , правила все больше усложняются , - в итоге описанная выше "цифровая шизофрения "
 
  • Like
Реакции: Alexandr_Radio
Нейросети "широкого спектра" - языковые модели , уже начинают стремительно тупеть ) ..
Тут бы ссылку на какой нибудь тест...

В тестах стабильный рост. И кожаные участники в тестах не уже лидируют.

Когда вы подбираете конфигурации компьютера вы же на тесты опираетесь? Так же и работодатели, как только увидят возможность для автоматизации, немедленно сократят персонал или переобучат.

Извиняюсь, что сам не привёл ссылки, сейчас поправлю
 

Antonio


посмотрите на картинку выше , масштабируйте на какую нить чат гпт , и просто порассуждайте логически )
даже никаких тестов не надо ...это же очевидно )
 
  • Like
Реакции: djozz

Сейчас просматривают