लिनक्स के लिए स्टीरियो "टोन-जनरेटर"?


14

क्या लिनक्स के लिए स्टीरियो (अलग-अलग बाएँ और दाएँ चैनल) टोन-जनरेटर जैसा कुछ है? जहां आप प्रत्येक चैनल के लिए वॉल्यूम और टोन / पिच सेट कर सकते हैं, और अधिमानतः वेव-फॉर्म (साइन, वर्ग, चूरा, ...) सेट कर सकते हैं और एक चैनल को उल्टा कर सकते हैं (दूसरे के विपरीत)।

यदि नहीं, तो एक बनाने के लिए अच्छी जगहों के लिए कोई विचार? मुझे लगता है कि सबसे सरल मौजूदा कार्यक्रमों जैसे कि synths को अनुकूलित करना होगा ... लेकिन अगर वह खराब काम करता है, तो क्या कोई पुस्तकालय (जैसे SDL?) है जो इस तरह के कार्यक्रम के लिए आधार के रूप में इस्तेमाल किया जा सकता है?


आप इसे sox के साथ करने में सक्षम हो सकते हैं।
रेनन

जवाबों:


15

ऐसा लगता है कि आप ऑडेसिटी की तलाश कर रहे हैं जो एक क्रॉस-प्लेटफ़ॉर्म ओपन सोर्स ऑडियो एडिटर है। इसकी एक विशेषता आपको टन उत्पन्न करने की अनुमति देना है। यह एक मल्टी-ट्रैक ऑडियो एडिटर है, जिससे आप आसानी से स्टीरियो टोन बना सकते हैं।

Generateरिकॉर्डिंग के लिए या अतिरिक्त इनपुट फ़ाइलों की आवश्यकता के बिना मेनू के तहत , आप साइन, सॉतोथ, और मनमाने ढंग से आवृत्ति, आयाम और वर्ग तरंग के टन बनाने में सक्षम हैं।


लेकिन क्या यह "कुछ नहीं" से टन उत्पन्न कर सकता है? और मैं कुछ भी रिकॉर्ड करने और प्लेबैक करने का इरादा नहीं कर रहा हूं, बस दो अलग-अलग टोन (प्रत्येक चैनल के लिए एक) "अनंत काल के लिए" उत्पन्न करता हूं।
बार्ड कोपरपुड

1
@BaardKopperud हाँ, मैंने अपना उत्तर स्पष्ट करने के लिए अद्यतन किया।
j883376

8

आप देख सकते हैं speaker-test, जो (एक आर्क मशीन पर) मुझे अलसा-बर्तन पैकेज में मिलता है।

speaker-test -c2 -t sineएक xterm से चलाने के लिए, मुझे बाएं और दाएं वक्ताओं को बारी-बारी से प्रत्येक के बारे में 6 सेकंड के लिए 440 हर्ट्ज साइन लहर दी। एक्सटरम में, इसने कुछ जानकारी दी कि यह किस स्पीकर का उपयोग कर रहा है।

मैन पेज के अनुसार, यह मनमानी आवृत्ति और गुलाबी शोर की साइन तरंगें कर सकता है।


1
speaker-test -c2 -t sine -f 440आवृत्ति पैरामीटर देकर अपने उदाहरण का पूरक होगा। धन्यवाद।
क्रिश्चियन

4

siggenकार्यक्रम चाल करना चाहिए।

सिजेन का स्क्रीनशॉट

इसमें स्वतंत्र सिग्नल वाले दो चैनल और उनके बीच एक चरण है। प्रत्येक चैनल इन सिग्नल प्रकारों को कर सकता है:

  • ज्या
  • कोज्या
  • वर्ग
  • त्रिकोण
  • sawtooth
  • पल्स
  • शोर

आप इसे इस तरह स्टीरियो मोड में चला सकते हैं:

$ siggen -2

चूंकि /dev/dspअधिकांश आधुनिक लिनक्स डिस्ट्रोस में पदावनत किया गया है, इसलिए आपको संभवतः एक अनुकूलता लाइब्रेरी स्थापित करने की आवश्यकता होगी। डेबियन-आधारित डिस्ट्रोस पर , alsa-ossपैकेज स्थापित करें और इसे इस तरह से चलाएं:

$ aoss siggen -2

आप इसे पल्सएडियो ओएसएस रैपर के साथ भी आज़मा सकते हैं:

$ padsp siggen -2

मुझे मिलता है: [siggen] इनपुट / आउटपुट त्रुटि: / देव / डीएसपी
ओले तांगे

हम्म। क्या PulseAudio OSS रैपर बिल्कुल मदद करता है?
नथानिएल एम। बीवर

हां। इसने काम कर दिया।
ओले तांगे

4

ffmpeg

ffmpeg इसे हमेशा की तरह कर सकता है।

एक 5 सेकंड मोनो 1000 हर्ट्ज साइनसॉइडल out.wavध्वनि फ़ाइल बनाएँ:

sudo apt-get install ffmpeg
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" out.wav

इसके बजाय स्टीरियो:

ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ac 2 out.wav

फ़ाइल 2x के रूप में बड़ी ffprobeहोगी , और कहेगी कि इसके 2 channelsबजाय है 1 channel

फ़ाइल बनाए बिना 5 सेकंड के लिए ऑडियो चलाएं:

ffplay -f lavfi -i "sine=frequency=1000:duration=5" -autoexit -nodisp

हमेशा के लिए खेलो जब तक तुम पागल न हो जाओ:

ffplay -f lavfi -i "sine=frequency=1000" -nodisp

प्रलेखन:

अन्य अनुभाग सुंदर ऑडियो स्रोत अन्य उपयोगी साउंड जेनरेशन अल्गोरिद्मों के अलावा sine, जैसे:

  • anoisesrc: कई रंगों का शोर, जैसे सफेद, गुलाबी, भूरा
  • aevalsrc मनमाने ढंग से गणितीय अभिव्यक्ति लेता है, और इसलिए त्रिकोणीय तरंगों (TODO अभिव्यक्ति) का उत्पादन करने में सक्षम होना चाहिए

ग्रंथ सूची:

उबंटू 18.04 में परीक्षण किया गया, ffmpeg 3.4.6।

अतिरिक्त पुस्तकालयों के बिना न्यूनतम सी ऑडियो पीढ़ी उदाहरण

बस मज़े के लिए: /programming/732699/how-is-audio-represented-with-numbers-in- कंप्यूटर/ 36510894#36510894


1

Saugns कार्यक्रम भी यह कर सकते हैं। (यह एक कमांड-लाइन ऑडियो जनरेटर है (वर्तमान में) 8 तरंग प्रकारों और एफएम / पीएम / एएम मॉड्यूलेशन तकनीकों का समर्थन करता है।)

दो स्टीरियो-पृथक 100 हर्ट्ज तरंगें, एक साइन और एक त्रिकोण, और एक उल्टे आयाम के साथ उत्पन्न करने के लिए, निम्न स्क्रिप्ट को एक फ़ाइल में चिपकाया जा सकता है और कार्यक्रम (जैसे ./saugns filename) में भाग सकता है :

Osin f100 a0.5 t2 P0
Otri f100 a(-0.5) t2 P1

tसमय निर्दिष्ट करें, सेकंड में।

Pरों प्रति आवाज पैनिंग के लिए कर रहे हैं (0.0 = छोड़ दिया, 1.0 = दाएं)। इसे Pभविष्य के संस्करणों के अलावा किसी अन्य चीज़ में बदला जा सकता है ; README फ़ाइल वर्तमान सिंटैक्स का वर्णन करती है।

संपादित करें: मैं वास्तव में कार्यक्रम का डेवलपर हूं।

इसके अलावा, आयाम को फ़्लिप करने का एक वैकल्पिक तरीका (कुछ तरंग प्रकारों, उदाहरण के लिए, sinलेकिन नहीं saw) के लिए, लोअरकेस का उपयोग करके चरण को सेट करना है pp0.5लहर चक्र (नकारात्मक आधा) के 50% के लिए चरण चरण जोड़ना । इसके अलावा, जैसा कि कोई कोसाइन प्रकार नहीं है, p0.25साइन को कॉशन (या p0.75नकारात्मक कोसाइन के लिए) में बदलने का तरीका है ।


हाय जोएल। यूनिक्स और लिनक्स में आपका स्वागत है । मैंने आपके उत्तर को बढ़ा दिया है क्योंकि यह एक महान पहली पोस्ट है। मुझे लगा कि मैं उल्लेख करूंगा कि यदि आप किसी प्रोजेक्ट के मेंटेनर या डेवलपर हैं, तो इस जानकारी का खुलासा करना मानक अभ्यास है। जबकि वास्तव में जीपीएल सॉफ्टवेयर के लिए एक मुद्दा है, यह की कीमत के बारे में पता किया जा रहा है unix.stackexchange.com/help/promotion उपयोगी नि: शुल्क / Libre सॉफ्टवेयर के लिए, मैं कल्पना करता कि आप हो जाएगा और अधिक होने की संभावना इस साइट पर upvoted करने के लिए करता है, तो उपयोगकर्ताओं को पता आप परियोजना के पीछे डेवलपर्स में से एक हैं।
एंथनी जोगेगन

0

आप Gnaural की तलाश में हो सकते हैं ।


3
इस उत्तर को संपादित करने के लिए सबसे अच्छा होगा कि इस कार्यक्रम के बारे में अधिक जानकारी कैसे प्रदान की जाए, जो पहले पूछे जाने वाले अन्य उत्तरों के समान है।
एंथनी जोगेगन

0

आप आसानी से टोक्स के साथ टोन को संश्लेषित कर सकते हैं। कुछ लड़खड़ाते हुए ब्लॉक थे लेकिन मैं अंततः इसका पता लगाने में सक्षम था।

मुझे पल्सएडियो के साथ SoX को बदलने में परेशानी हुई, इसलिए मैंने soxकच्चे डेटा को सिर्फ पाइप में डाला paplay

पाइपलाइन थकाऊ है इसलिए मैंने एक स्क्रिप्ट बनाई:

$ cat sox-paplay
#!/bin/bash
: ${HZ:=44100}
: ${NCHAN:=6}
: ${SINK:=mysink}
sox -c $NCHAN -n -t raw -r $HZ -L -b 16 - "$@" | paplay --no-remix --no-remap --raw -v -p --rate $HZ -d $SINK --channels $NCHAN

जैसे

sox-paplay synth sine 1000 gain -5 remix -m 0 0 1 0 0 0

remixप्रभाव सिर्फ किसी विशिष्ट चैनल को परिणाम भेजने के लिए प्रयोग किया जाता है। यह बहुत अधिक शक्तिशाली है लेकिन हम यहां केवल बुनियादी कार्यक्षमता का उपयोग करते हैं। इस उदाहरण में हमारे पास छह-चैनल डिवाइस है और हम तीसरे चैनल को एक टोन भेज रहे हैं।

मैंने मूल रूप से पल्सएडियो डिवाइस को लपेटकर एक एएलएसए डिवाइस बनाया था, लेकिन तब मैंने पाया कि एएलएसए का उपयोग करके चैनल मैपिंग को नियंत्रित करना असंभव है, और इसलिए यादृच्छिक चैनल एक साथ मिश्रित हो रहे थे कि मेरे कस्टम चैनल-मैप एएलएसए डिफ़ॉल्ट से कैसे भिन्न थे। यही कारण है कि मैं ऊपर --no-remix --no-remapमें paplayहै; मैं सिर्फ इतना चाहता हूं कि रॉ चैनल sox कमांड के लिए ऑर्डर दे।

मेरी इच्छा है कि लिनक्स पर ऑडियो सामग्री में बेहतर प्रलेखन और त्रुटि रिपोर्टिंग थी।

आप एक उत्तर में दिलचस्पी ले सकते हैं जिसे मैंने हाल ही में पोस्ट करके दिखाया था कि कमांड-लाइन से पल्सऑडियो इक्वालाइज़र कैसे सेट किया जाए

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.