লিনাক্সে মাইক্রোফোন হিসাবে ফোন ব্যবহার করুন


12

আমি উইন্ডোজ এবং উবুন্টু দ্বৈত বুট। যেহেতু আমি আমার ডেস্কটপে কোনও মাইক্রোফোন ব্যবহার করি না, তাই আমি উইন্ডোজের আমার ডেস্কটপে আমার অ্যান্ড্রয়েড ফোনের মাইক্রোফোনটি সংযুক্ত করতে "ডাব্লুও মাইক" নামে একটি অ্যাপ্লিকেশন ব্যবহার শুরু করি। একটি ভাল বিকল্প, তাই না?

ভাল, দুঃখের বিষয়, ডাব্লুও মাইক কোনও লিনাক্স-ভিত্তিক ওএসে সমর্থিত নয়, তাই আমি জানতে চাই যে এমন কোনও বিকল্প বা কোনও অ্যাপ্লিকেশন রয়েছে যা আমার ফোনটি ওয়াইফাই বা ইউএসবি-র মাধ্যমে উবুন্টুতে মাইক্রোফোন হিসাবে ব্যবহার করতে পারে। (তবে অগ্রণীভাবে ওয়াইফাই)।

উত্তর:


5

কি এই প্রোগ্রাম? আপনি কি ক্লায়েন্ট / ড্রাইভার ডাউনলোড এবং উবুন্টুর নির্দেশাবলী অনুসরণ করার চেষ্টা করেছেন?

  1. ড্রাইভার মডিউল লোড করুন

    $ sudo insmod wo_snd_capture-x86.ko
    
  2. ক্লায়েন্ট থেকে সংযুক্ত করুন

    • ওয়াইফাই দ্বারা সংযুক্ত আপনি ডাব্লুও মাইক অ্যাপ্লিকেশন ইউআইতে আইপি ঠিকানাটি পেতে পারেন।

      $ micclient-ubuntu-x86 -t Wifi 192.168.1.100
      
    • ব্লুটুথ দ্বারা সংযুক্ত করুন।

      $ micclient-ubuntu-x86 -t Bluetooth xx:xx:xx:xx:xx:xx
      

      xx: xx: xx: xx: xx: xx ফোন ব্লুটুথের ঠিকানা উপস্থাপন করে। আপনি আপনার ফোনে এটি জিজ্ঞাসা করতে পারেন: সেটিংস -> ফোন সম্পর্কে -> স্থিতি -> ব্লুটুথ ঠিকানা।

উপরের উদাহরণগুলি 32-বিট উবুন্টুর জন্য। আপনি যদি -৪-বিট ব্যবহার করছেন তবে ক্লায়েন্ট এবং ড্রাইভার ফাইলের নামটি ডাউনলোড হিসাবে xxx-x86_64 হিসাবে প্রতিস্থাপন করুন।


2
আমি পেয়েছি Please first load ALSA snd-aloop., তাই আমার করা দরকার: sudo modprobe snd-aloopএবং তারপরে আমাকে micclient-ubuntu-x86মূল হিসাবে ব্যবহার করতে হবে (ব্যবহার করে sudo)। এবং তারপর এটি কাজ করে, হ্যাঁ।
অ্যামিচাই শ্রাইবার

1
এটা কাজ করে না. লুপব্যাক ডিভাইস থেকে কেবল নীরবতা রেকর্ড করা হয় ...
কলমারিয়াস

ইউএসবি মাধ্যমে সংযোগ কিভাবে?
abhisekp

1
আমি যখনই চালিত করি ততক্ষণে আমি সেগমেন্টেশন কোর ডাম্প পাচ্ছি। আমি লিনাক্স মিন্টে আছি 18.3 x64
abhisekp

4

আমি মাম্বল (ডেস্কটপ ক্লায়েন্ট) + মারর্মার (ল্যান সার্ভার হিসাবে) + প্লাম্বল (অ্যান্ড্রয়েড / আইওএস ক্লায়েন্ট) ব্যবহার করি। আমি যে সর্বনিম্ন বিলম্ব পেয়েছি তার ফলস্বরূপ (প্রায় স্বাভাবিক লুপব্যাক, তাত্ত্বিকভাবে 7 মিমি ওয়াইফাই বিলম্ব + 2x 10 মিমি কোডেক বিলম্ব = 27 এমএসের মতো শোনায়)।

সর্বশেষতম সংস্করণের জন্য, https://github.com/pzmarzly/mic_over_mumble দেখুন

README (রেভ 8c827fe) এর টুকরা

মাম্বল (ডেস্কটপ ক্লায়েন্ট) ইনস্টল করুন + মর্মর (সার্ভার) + প্লাম্বল (অ্যান্ড্রয়েড / আইওএস ক্লায়েন্ট)। সেরা মানের এবং নূন্যতম বিলম্বিতা ব্যবহার করতে সমস্ত 3 টি প্রোগ্রাম সেট করুন। মোবাইল ক্লায়েন্টকে সর্বদা স্ট্রিমিংয়ে সেট করুন।

উবুন্টুতে মাম্বল + মুরমার ইনস্টল করতে আপনি ব্যবহার করতে পারেন:

sudo apt install mumble mumble-server
sudo systemctl stop mumble-server.service
sudo systemctl disable mumble-server.service

mic_over_mumbleযে কোনও জায়গায় অনুলিপি করুন - এটি ~/.mic_over_Mumbleকনফিগারেশন ডিরেক্টরি হিসাবে ব্যবহার করবে ।

চালান mic_over_mumble। এটি ল্যানে সার্ভারটি শুরু করবে, তারপরেই মাম্বল শুরু করবে (ডাক নাম জিজ্ঞাসা করা হলে, সুপার ইউজার বাদে অন্য কিছু লিখুন)। তারপরে আপনার মোবাইল ডিভাইসটি ল্যান সার্ভারের সাথে ম্যানুয়ালি সংযুক্ত করুন। দয়া করে মনে রাখবেন অস্পষ্টভাবে মোবাইল অ্যাপ্লিকেশন কিছু বিষয় আছে

তারপরে, "মনিটর_ফাম্বল" বা "ভার্চুয়ালমিক" ইনপুট ডিভাইস হিসাবে (তারা লিঙ্কযুক্ত) হিসাবে ব্যবহার করতে আপনার প্রোগ্রামগুলি সেট আপ করুন। ওবিএসে যেমন:

ওবিএস কনফিগারেশনের স্ক্রিনশট

mic_over_mumbleস্ক্রিপ্টের অনুলিপি (8c827fe রেভা)

#!/bin/bash
set -euo pipefail
# PAID = PulseAudio ID
# ID = PID / process ID

function main () {
    if [ ! -e ~/.mic_over_Mumble ]; then
        mkdir ~/.mic_over_Mumble
    fi
    cd ~/.mic_over_Mumble

    rm murmur.ini || true
    echo "bonjour=true" >> murmur.ini
    echo "bandwidth=130000" >> murmur.ini

    if [ ! -e ./initdone ]; then
        echo "You will need to configure Mumble client to use the lowest possible latency."
        echo "We will start Mumble now. Please complete setup wizard and go to settings to increase quality and decrease latency."
        echo "Also, mute your microphone (if you have one) in Mumble."
        echo "Then close Mumble."
        run_mumble_client_wizard
        touch ./initdone
    fi

    echo "Starting Mumble server (murmurd)..."
    run_mumble_server_bg
    sleep 5
    echo "Starting Mumble client..."
    MUMBLE_CLIENT_ID=$(run_mumble_client_bg)
    sleep 15
    echo "Fetching PulseAudio configuration..."
    MUMBLE_CLIENT_PAID=$(get_mumble_client_paid)

    echo "Changing PulseAudio configuration..."
    echo "Adding sink..."
    SINK_MODULE_PAID=$(add_sink)
    sleep 3

    echo "Fetching current configuration to redirect Mumble..."
    SINK_PAID=$(get_sink_paid)
    pacmd move-sink-input "$MUMBLE_CLIENT_PAID" "$SINK_PAID"

    echo "Adding a virtual microphone..."
    SOURCE_MODULE_PAID=$(add_source)

    echo "Done. Please use pavucontrol to ensure everything works."
    echo "Press Return to shut down..."
    read -n1 -s -r
    echo "Shutting down..."

    echo "Stopping Mumble client..."
    kill -KILL "$MUMBLE_CLIENT_ID" || true
    sleep 2
    echo "Stopping Mumble server..."
    # TODO: find a better way to kill murmurd
    # (it forks, so we cannot use its PID)
    pkill murmurd || true
    echo "Restoring PulseAudio configuration..."
    pactl unload-module "$SOURCE_MODULE_PAID"
    pactl unload-module "$SINK_MODULE_PAID"
}

function run_mumble_client_wizard () {
    mumble >/dev/null 2>&1
}

function run_mumble_client_bg () {
    MUMBLE_URL="mumble://localhost"
    mumble $MUMBLE_URL >/dev/null 2>&1 &
    echo $!
}

function run_mumble_server_bg () {
    murmurd -ini ./murmur.ini &
    # echo $!
    # TODO: here we can get murmur's PID
    # (uncomment the line above)
}

function get_mumble_client_paid () {
    pacmd list-sink-inputs |
        grep -F -e "index: " -e "media.name = " |
        cut_every_second_newline |
        grep -F -e "Mumble" |
        print_second_column
}

function add_sink () {
    pactl load-module \
        module-null-sink \
        sink_name=Loopback_of_Mumble \
        sink_properties=device.description=Loopback_of_Mumble
}

function add_source () {
    pactl load-module \
        module-virtual-source \
        source_name=VirtualMic \
        master=Loopback_of_Mumble.monitor \
        source_properties=device.description=VirtualMic
}

function get_sink_paid () {
    pacmd list-sinks |
        grep -F -e "index: " -e "name: " |
        cut_every_second_newline |
        grep -F -e "Loopback" |
        print_second_column
}

# https://serverfault.com/a/375098/449626
function cut_every_second_newline () {
    awk 'ORS=NR%2?" ":"\n"'
}

function print_second_column () {
    awk '{print $2}'
}

main

3

এমএমএমএম আমি আগে এই অ্যাপটি চেষ্টা করেছিলাম কিন্তু এটি আমার পক্ষে কার্যকর হয় না, তাই আমি এই পদ্ধতির প্রস্তাব দিই:

  • প্রথমে ফোনে আইপি ক্যামেরা ইনস্টল করুন, তারপরে পালসওডিয়ো ইনস্টল করুন , যখন আপনি এটি সম্পন্ন করেন, আইপ্যাকেমারটি খুলুন এবং আপনার ফোনে সার্ভার শুরু করুন, নিশ্চিত করুন যে আপনি পিসি একই নেটওয়ার্কে সংযুক্ত আছেন।
  • ক্রোম বা ফায়ারফক্স খুলুন এবং আইপি ঠিকানাটি আপনাকে সরবরাহ করে এমন আইপি ঠিকানা টাইপ করুন (আইপি অ্যাপটিতে প্রদর্শিত হবে)।
  • ব্রাউজারে অডিও প্লেয়ারে ক্লিক করুন এবং এইচটিএমএল 5 চয়ন করুন এবং নিশ্চিত হন যে আপনি কিছু শুনেছেন।
  • পালসওডিও খুলুন এবং প্লেব্যাক ট্যাবে যান, তারপরে ক্লিক করুন এবং দেখান এবং সমস্ত স্ট্রিম নির্বাচন করুন । আপনি ক্রোম বা ফায়ারফক্স অ্যাপ্লিকেশনটি মাইক্রোফোন প্লে করতে দেখবেন।
  • অ্যাপ্লিকেশন বিভাগে ক্রোম বা ফায়ারফক্সের জন্য লুকব্যাক নির্বাচন করুন ; এটি আপনার ফোন থেকে অডিওটি মাইক্রোফোন চ্যানেলে পুনর্নির্দেশ করবে, আপনি একই কাজটি করতে পারেন তবে ভিএলসি ব্যবহার করতে পারেন এবং ল্যাগের মতো সমস্যাগুলির সাথে আরও ভালভাবে ডিল করতে পারেন।

যাই হোক ল্যাগ ইস্যু সমাধান করতে?
সোদেব

2
মিমম আমি নিশ্চিত নই তবে আমি মনে করি আপনি এই পোস্টটি আপনাকে সহায়তা করতে পারেন যদি আপনি ভিএলসি @
এসডেভিডে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.