Захват USB-микрофона в скрытом обертоне

Как я могу использовать USB-микрофон в Overtone? Вот пример использования обычного 3,5 мм микрофона:

(ns insane-noises.vocoder)
(use 'overtone.live)

(def a (buffer 2048))
(def b (buffer 2048))

(demo 5
      (let [input  (sound-in 0); mic
            src    (white-noise) ; synth - try replacing this with other sound sources
            formed (pv-mul (fft a input) (fft b src))
            audio  (ifft formed)]
          (pan2 (* 0.1 audio))))

Когда я пытаюсь в (звук в 0) изменить 0 на 1, 2, 3... - ничего не работает. Мой микрофон хорошо работает во всех приложениях, таких как скайп и т. Д.

1 ответ

Я только что попытался воспроизвести это. Это работает только с перерывами. Я побежал

(event-debug-on) 

в REPL, что позволяет мне видеть связь OSC между Overtone и SuperCollider.

Сбой происходит двумя различными способами в зависимости от того, использую ли я overtone.core и подключаюсь к внешнему серверу, или использую overtone.live.

С overtone.live я распределяю буферы очень хорошо, но когда я запускаю демонстрационную функцию, я получаю:

event:  [:overtone :osc-msg-received] (:msg {:path "/done", :type-tag "s", :args ("/d_recv")}) 

event:  "/done" (:path "/done" :args ("/d_recv")) 

event:  [:overtone :osc-msg-received] (:msg {:path "/synced", :type-tag "i", :args (18)}) 

event:  "/synced" (:path "/synced" :args (18)) 

zombified - calling shutdown handler
event:  [:overtone :osc-msg-received] (:msg {:path "/n_go", :type-tag "iiiii", :args (34 7 -1 -1 0)}) 

event:  "/n_go" (:path "/n_go" :args (34 7 -1 -1 0)) 

event:  [:overtone :node-created 34] ({:node #<synth-node[live]: beatboxchad-l394/audition-synth 34>}) 

... сопровождается кучей событий, связанных с очисткой Overtone своих узлов и групп по умолчанию и, например, частью выключения. Если вы не получите такой же вывод из вашего файла overtone.live, я буду знать, что у меня есть что-то, что нужно исправить в моих настройках JACK или что-то в этом роде.

Используя overtone.core, подключенный к внешнему серверу, он работает с перебоями.

Когда это работает, я получаю следующие события:

event:  [:overtone :osc-msg-received] (:msg {:path "/d_removed", :type-tag "s", :args ("beatboxchad-l394/audition-synth"), :src-host "localhost.localdomain", :src-port 57110}) 

event:  "/d_removed" (:path "/d_removed" :args ("beatboxchad-l394/audition-synth")) 

event:  [:overtone :osc-msg-received] (:msg {:path "/done", :type-tag "s", :args ("/d_recv"), :src-host "localhost.localdomain", :src-port 57110}) 

event:  "/done" (:path "/done" :args ("/d_recv")) 

event:  [:overtone :osc-msg-received] (:msg {:path "/synced", :type-tag "i", :args (71), :src-host "localhost.localdomain", :src-port 57110}) 

event:  "/synced" (:path "/synced" :args (71)) 

event:  [:overtone :osc-msg-received] (:msg {:path "/n_go", :type-tag "iiiii", :args (114 7 -1 -1 0), :src-host "localhost.localdomain", :src-port 57110}) 

event:  "/n_go" (:path "/n_go" :args (114 7 -1 -1 0)) 

event:  [:overtone :node-created 114] ({:node #<synth-node[live]: beatboxchad-l394/audition-synth 114>}) 

event:  [:overtone :osc-msg-received] (:msg {:path "/n_end", :type-tag "iiiii", :args (114 7 -1 -1 0), :src-host "localhost.localdomain", :src-port 57110}) 

event:  "/n_end" (:path "/n_end" :args (114 7 -1 -1 0)) 

event:  [:overtone :node-destroyed 114] ({:node #<synth-node[destroyed]: beatboxchad-l394/audition-synth 114>}) 

Когда это терпит неудачу, я получаю это:

event:  [:overtone :osc-msg-received] (:msg {:path "/d_removed", :type-tag "s", :args ("beatboxchad-l394/audition-synth"), :src-host "localhost.localdomain", :src-port 57110}) 

event:  "/d_removed" (:path "/d_removed" :args ("beatboxchad-l394/audition-synth")) 

event:  [:overtone :osc-msg-received] (:msg {:path "/done", :type-tag "s", :args ("/d_recv"), :src-host "localhost.localdomain", :src-port 57110}) 

event:  "/done" (:path "/done" :args ("/d_recv")) 

event:  [:overtone :osc-msg-received] (:msg {:path "/synced", :type-tag "i", :args (72), :src-host "localhost.localdomain", :src-port 57110}) 

event:  "/synced" (:path "/synced" :args (72)) 

event:  [:overtone :osc-msg-received] (:msg {:path "/fail", :type-tag "ss", :args ("/s_new" "duplicate node ID"), :src-host "localhost.localdomain", :src-port 57110}) 

event:  "/fail" (:path "/fail" :args ("/s_new" "duplicate node ID")) 

Это похоже на сбой в связи OSC с сервером - где-то идентификатор узла не увеличивается правильно.

Что вы получаете с точки зрения событий, когда вы пытаетесь?

Другие вопросы по тегам