আমি কি টার্মিনালের মাধ্যমে অভ্যন্তরীণ মাইক্রোফোন ইনপুট স্তরে অ্যাক্সেস করতে পারি?


10

আমি আমার পুরানো ম্যাকবুকটি অডিও শিশুর মনিটর হিসাবে ব্যবহার করতে আগ্রহী। আমার কল্পনা করা কর্মপ্রবাহটি হ'ল ম্যাকবুকের অভ্যন্তরীণ মাইক্রোফোনের জন্য একটি শব্দদ্বার স্থাপন করা যখন বাচ্চা উত্তেজিত হয় বা শোনাচ্ছে এবং যখন থ্রেশহোল্ডটি পৌঁছে যায় তখন আমাকে বা আমার স্ত্রীকে পাঠ্য বার্তাগুলি ব্যবহার করে।

আমি যখন সিস্টেম পছন্দগুলিতে সন্ধান করছি, তখন আমি দেখতে পাচ্ছি Input levelযে মাইক্রোফোনটি শব্দটি তুলছে, তবে আমি কীভাবে টার্মিনালে একটি কোয়ান্টিফায়েবল নম্বর পেতে পারি?

আমি osascript -e "get volume settings"মাইক্রোফোনটি কত সংবেদনশীল সেট করা উচিত তার সংখ্যাসূচক অ্যাক্সেস সম্পর্কে অনলাইনে দেখেছি , তবে কোনও নির্দিষ্ট সময়ে কোনও ইনপুট কতটা জোরে চলেছে তা অ্যাক্সেসের কোনও উপায় খুঁজে পাচ্ছি না।

সেখানে কোন ধারণা আছে?


শেল স্ক্রিপ্টটি কীভাবে আপনি কীভাবে এটি যেতে চান?
টিমোথি মোলার-হার্ডার

আমি অন্যান্য পরামর্শের জন্য উন্মুক্ত ...
CephBirk

উত্তর:


14

কমান্ড লাইন সরঞ্জাম ব্যবহার করে আপনি নিম্নলিখিতটি করতে পারেন:

  • মেশান ইনস্টল করুন
  • আপডেট এবং ডাক্তার মদ
  • ব্রা সহ Portaudio, ffmpeg এবং সমস্ত নির্ভরতা ইনস্টল করুন

    brew install portaudio
    brew install ffmpeg
    
  • Get-pip.py (সরাসরি লিঙ্ক) ডাউনলোড করে এবং সম্পাদন করে পাইপ ইনস্টল করুন

    sudo python ~/Downloads/get-pip.py
  • সাউন্ডমিটার ইনস্টল করুন

    sudo pip install soundmeter
  • সাউন্ডমিটার চালান। -H সুইচটি ব্যবহার করতে সহায়তা পেতে:

    soundmeter -h
    optional arguments:
      -h, --help            show this help message and exit
      -c, --collect         collect RMS values to determine thresholds
      -s SECONDS, --seconds SECONDS
                            time in seconds to run the meter (default forever)
      -a {stop,exec-stop,exec}, --action {stop,exec-stop,exec}
                            triggered action
      -t [+|-]THRESHOLD [NUM ...], --trigger [+|-]THRESHOLD [NUM ...]
                            trigger condition (threshold RMS and number of times)
      -e SCRIPT, --exec SCRIPT
                            shell script to execute upon trigger
      -d, --daemonize       run the meter in the background
      --log [LOGFILE]       log the meter (default to ~/.soundmeter/log)
      -v, --verbose         verbose mode
      --segment SECONDS     audio segment length recorded in seconds (defaults to
                            0.5)
    

কেবল চলমান soundmeterএকটি আরএমএস মান আউটপুট হবে । একটি প্রান্তিক সংজ্ঞা নির্ধারণের পরে আপনি শেল স্ক্রিপ্ট ক্রিয়াটি (যা নিজেই কোনও অ্যাপলস্ক্রিপ্ট স্ক্রিপ্ট ট্রিগার করতে পারে) -e স্যুইচ দিয়ে ট্রিগার করতে পারেন।

প্রবেশ soundmeter --segment 0.1 --logঅনলাইন টিভি (জলবায়ু পরিবর্তনের ও কফি কলম্বিয়ায় চাষ - Arabica মটরশুটি শেষে) দেখার মত কিছু দেখাতে হবে:

2017-01-25 18:16:02,289 24
2017-01-25 18:16:02,665 24
2017-01-25 18:16:03,037 31
2017-01-25 18:16:03,399 3
2017-01-25 18:16:03,769 15
2017-01-25 18:16:04,142 11
2017-01-25 18:16:04,524 9
2017-01-25 18:16:04,891 7
2017-01-25 18:16:05,257 7
2017-01-25 18:16:05,632 0
2017-01-25 18:16:06,001 7
2017-01-25 18:16:06,384 0
2017-01-25 18:16:06,745 2
2017-01-25 18:16:07,113 10
2017-01-25 18:16:07,491 14
2017-01-25 18:16:07,860 6
2017-01-25 18:16:08,223 0
2017-01-25 18:16:08,609 13
2017-01-25 18:16:08,973 16
2017-01-25 18:16:09,347 7
2017-01-25 18:16:09,720 26
2017-01-25 18:16:10,091 1
2017-01-25 18:16:10,464 38  an Arabica bean died here
2017-01-25 18:16:10,835 13
2017-01-25 18:16:11,204 Stopped

কেবলমাত্র নিশ্চিত করার জন্য: এটি মাইক্রোফোন ইনপুট স্তর এবং টিভি স্ট্রিমের শব্দ স্তর নয় কারণ উপরের ইনস্টলেশনটি কোনও ভিএম অতিথি এবং হোস্টিং ম্যাকের টিভি স্ট্রিমে চালিত - পরীক্ষিত তবে কিছু তালি দিয়ে লগড হয়নি যা আরএমএসকে মানগুলিতে বাড়িয়ে তুলবে ২০০ এর উপরে!


একটি ট্রিগার ইভেন্টের পরে একটি বার্তা প্রেরণ করতে নিম্নলিখিতটি করুন - <user_name>আপনার ওএস এক্স সংক্ষিপ্ত ব্যবহারকারীর নাম এবং <telephone_number>নীচে একটি উপযুক্ত টেলিফোন নম্বরে পরিবর্তন করুন:

  • একটি দির তৈরি করুন এবং এতে পরিবর্তন করুন:

    mkdir ~/.soundmeter
    cd ~/.soundmeter
    
  • একটি অ্যাপলস্ক্রিপ্ট তৈরি করুন:

    nano sendMessage.applescript

    বিষয়বস্তু সহ:

    on run {targetBuddyPhone, targetMessage}
        tell application "Messages"
            set targetService to 1st service whose service type = iMessage
            set targetBuddy to buddy targetBuddyPhone of targetService
            send targetMessage to targetBuddy
        end tell
    end run
    
  • একটি শেল স্ক্রিপ্ট তৈরি করুন:

    nano sendMessage.sh

    বিষয়বস্তু সহ:

    #!/bin/bash
    
    osascript /Users/<user_name>/.soundmeter/sendMessage.applescript <telephone_number> "Another Arabica bean died"
    

    এবং অনুমতিগুলি পরিবর্তন করুন:

    chmod 755 sendMessage.sh
  • এখন এই জাতীয় কমান্ড দিয়ে সাউন্ডমিটার শুরু করুন:

    soundmeter -t +38 -a exec -e /Users/<user_name>/.soundmeter/sendMessage.sh

    এটি আপনার (আইফোন) টেলিফোন নম্বরটিতে একটি বার্তা প্রেরণা উচিত। দয়া করে মনে রাখবেন আপনি নিজের কাছে কোনও আইএমেসেজ প্রেরণ করতে পারবেন না। এটি একটি উপন্যাসে প্রেরণে কাজ হতে পারে। অন্যান্য অনুরূপ (অ্যাপল) স্ক্রিপ্টগুলি এখানে উপলভ্য: কেবলমাত্র সরবরাহিত পরিষেবাদিতে অ্যাপলস্ক্রিপ্ট সহ একটি আইমেসেজ পাঠ্য কীভাবে পাঠানো যায়?


1
উত্তর পছন্দ! দারূন কাজ! :)
Monomeeth
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.