2016-11-28 19 views
2

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

(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 ... - ничего не работает. Мой микрофон работает хорошо во всех приложениях, таких как skype и т. Д.

ответ

0

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

(event-debug-on) 

в РЕПЛ, что позволил мне увидеть OSC связи между Обертоном и 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.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 связи с сервером - где-то идентификатор узла не получает приращение правильно.

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

+0

Прошу прощения, если этот «ответ» был вместо этого комментарием? –